This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux的/ DP83867CS:PHY Ping failed after 3.18 kernel transplantation of dp83867cs

Part Number: DP83867CS
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)




  • Hi TianSen,

    I am assuming your development board worked fine with previous kernel version.

    We can only support hardware issues that are related to TI's devices.

    For questions on driver, please get support from Linux open forums.

    Regards,

    Hung Nguyen