Hi Ti,
We are using Linux RT SDK 07.01.00.18 on our customized board and tried to make a link to DP83867 at 10Mbps.
According to the link below, we check the register 0x0000[8] with full duplex enabled, and 0x004[0] set with 802.3u enabled.
Below is the register value we read at kernel dp83867_config_init()
BMCR: 0x1140
ANAR: 0x1e1
But after boot into OS, and we tried to dump the register,
reg i=0 val=0x1140
reg i=1 val=0x796D
reg i=2 val=0x2000
reg i=3 val=0xA231
reg i=4 val=0x0111
reg i=5 val=0xCDE1
reg i=6 val=0x006D
reg i=7 val=0x2001
reg i=8 val=0x6001
reg i=9 val=0x0200
reg i=a val=0x7800
reg i=b val=0x0000
reg i=c val=0x0000
reg i=d val=0x401F
reg i=e val=0x0007
reg i=f val=0x3000
reg i=10 val=0x5048
reg i=11 val=0xAC02
reg i=12 val=0x0000
reg i=13 val=0x0000
reg i=14 val=0x29C7
reg i=15 val=0x0000
reg i=16 val=0x0000
reg i=17 val=0x0040
reg i=18 val=0x1919
reg i=19 val=0x4444
reg i=1a val=0x0002
reg i=1b val=0x0000
reg i=1c val=0x0000
reg i=1d val=0x0000
reg i=1e val=0x0202
reg i=1f val=0x0000
it seems the register value of ANAR has changed.
Out dts setting is as below:
/* Dual Ethernet application node on PRU-ICSSG1 */
pruss1_eth: pruss1_eth {
compatible = "ti,am654-icssg-prueth";
pinctrl-names = "default";
pinctrl-0 = <ðernet0_pins_default>;
sram = <&msmc_ram>;
prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>,
<&pru1_1>, <&rtu1_1>, <&tx_pru1_1>;
firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf",
"ti-pruss/am65x-sr2-rtu0-prueth-fw.elf",
"ti-pruss/am65x-sr2-txpru0-prueth-fw.elf",
"ti-pruss/am65x-sr2-pru1-prueth-fw.elf",
"ti-pruss/am65x-sr2-rtu1-prueth-fw.elf",
"ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";
ti,pruss-gp-mux-sel = <2>, /* MII mode */
<2>,
<2>,
<2>, /* MII mode */
<2>,
<2>;
mii-g-rt = <&icssg1_mii_g_rt>;
mii-rt = <&icssg1_mii_rt>;
dma-coherent;
dmas = <&main_udmap 0xc200>, /* egress slice 0 */
<&main_udmap 0xc201>, /* egress slice 0 */
<&main_udmap 0xc202>, /* egress slice 0 */
<&main_udmap 0xc203>, /* egress slice 0 */
<&main_udmap 0xc204>, /* egress slice 1 */
<&main_udmap 0xc205>, /* egress slice 1 */
<&main_udmap 0xc206>, /* egress slice 1 */
<&main_udmap 0xc207>, /* egress slice 1 */
<&main_udmap 0x4200>, /* ingress slice 0 */
<&main_udmap 0x4201>, /* ingress slice 1 */
<&main_udmap 0x4202>, /* mgmnt rsp slice 0 */
<&main_udmap 0x4203>; /* mgmnt rsp slice 1 */
dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
"tx1-0", "tx1-1", "tx1-2", "tx1-3",
"rx0", "rx1",
"rxmgm0", "rxmgm1";
pruss1_emac0: ethernet-mii0 {
phy-handle = <&pruss1_eth0_phy>;
phy-mode = "rgmii-rxid";
interrupts-extended = <&icssg1_intc 24>;
syscon-rgmii-delay = <&scm_conf 0x4110>;
iep = <&icssg1_iep0>;
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};
pruss1_emac1: ethernet-mii1 {
phy-handle = <&pruss1_eth1_phy>;
phy-mode = "rgmii-rxid";
interrupts-extended = <&icssg1_intc 25>;
syscon-rgmii-delay = <&scm_conf 0x4114>;
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};
};
Could anyone help this?
Thanks.
Eric