Other Parts Discussed in Thread: DP83867ERGZ-S-EVM
Tool/software: Linux
Hi,
PHY Ping failed after 3.18 kernel transplantation of dp83867cs
PC side, network local connection settings, network configuration changes, Speed & Duplex for 100 Mbps, can ping. (default is automatic negotiation, automatic negotiation Ping is not available)
Suspicion is a problem of automatic network negotiation. Do the following
Hardware:
Two pairs of twisted pairs A and B are connected to magnetics, using SGMII four-wire, RX_CTRL bundling mode 3, LED_0 bundling mode 2.
Software:
Register (BMCR), Address 0x0000 RW bit 12 = 1, Val = 0x1140
Register (BMSR), Address 0x0001 R bit 5, Val = 7949
Register (PHYCR), Address 0x0010 RW bit 11 = 1, Val = 0x5848
Register (CFG2), Address 0x0014 RW bit 7 = 1, Val = 0x29c7
Register (SGMII_ANEG_STS), address 0x0037 R bit 0, Val = 0x40
After these attempts, it is still impossible to negotiate automatically.
other: to see the .txt file
my board: ------:REG:0x00,val=0x1140 ------:REG:0x01,val=0x7949 ------:REG:0x02,val=0x2000 ------:REG:0x03,val=0xa231 ------:REG:0x04,val=0x1e1 ------:REG:0x05,val=0x0 ------:REG:0x06,val=0x64 ------:REG:0x07,val=0x2001 ------:REG:0x08,val=0x0 ------:REG:0x09,val=0x300 ------:REG:0x0a,val=0x0 ------:REG:0x0b,val=0x0 ------:REG:0x0c,val=0x0 ------:REG:0x0d,val=0x0 ------:REG:0x0e,val=0x0 ------:REG:0x0f,val=0x3000 ------:REG:0x10,val=0x5848 ------:REG:0x11,val=0x2 ------:REG:0x12,val=0x0 ------:REG:0x13,val=0x0 ------:REG:0x14,val=0x29c7 ------:REG:0x15,val=0x0 ------:REG:0x16,val=0x0 ------:REG:0x17,val=0x40 ------:REG:0x18,val=0x6150 ------:REG:0x19,val=0x4444 ------:REG:0x1a,val=0x2 ------:REG:0x1b,val=0x0 ------:REG:0x1c,val=0x0 ------:REG:0x1d,val=0x0 ------:REG:0x1e,val=0x2 ------:REG:0x1f,val=0x0 ------:REG:0x2d,val=0x0 ------:REG:0x31,val=0x2 ------:REG:0x37,val=0x40 ------:REG:0x6e,val=0x0 ------:REG:0xd3,val=0x0 Ti demo board: ------:REG:0x00,val=0x1140 ------:REG:0x01,val=0x7949 ------:REG:0x02,val=0x2000 ------:REG:0x03,val=0xa231 ------:REG:0x04,val=0x181 ------:REG:0x05,val=0x0 ------:REG:0x06,val=0x64 ------:REG:0x07,val=0x2001 ------:REG:0x08,val=0x0 ------:REG:0x09,val=0x300 ------:REG:0x0a,val=0x0 ------:REG:0x0b,val=0x0 ------:REG:0x0c,val=0x0 ------:REG:0x0d,val=0x0 ------:REG:0x0e,val=0x0 ------:REG:0x0f,val=0x3000 ------:REG:0x10,val=0x5848 ------:REG:0x11,val=0x2 ------:REG:0x12,val=0x0 ------:REG:0x13,val=0x0 ------:REG:0x14,val=0x29c7 ------:REG:0x15,val=0x0 ------:REG:0x16,val=0x0 ------:REG:0x17,val=0x40 ------:REG:0x18,val=0x6150 ------:REG:0x19,val=0x4440 ------:REG:0x1a,val=0x2 ------:REG:0x1b,val=0x0 ------:REG:0x1c,val=0x0 ------:REG:0x1d,val=0x0 ------:REG:0x1e,val=0x2 ------:REG:0x1f,val=0x0 ------:REG:0x2d,val=0x0 ------:REG:0x31,val=0x2 ------:REG:0x37,val=0x40 ------:REG:0x6e,val=0x0 ------:REG:0xd3,val=0x0
I tried to use TI's demo board (DP83867ERGZ-S-EVM) to read the register as follows:
My own development board read content: (Auto-Negotiation Ping is not available, PC set to 100M, can ping pass)
TI's demo development board reads the content: (Auto-Negotiation can ping, will lose packets, the speed is very slow)