Hi,
We have a custom board with ls1021a processor. And we see strange behaviour with ethernet interfaces in u-boot.
We have two ethernet ports on our board: eth0 and eth1.
We can see manageable Ethernet PHYs:
=> mdio list
mdio@2d24000:
0 - RealTek RTL8211F <--> ethernet@2d50000
2 - RealTek RTL8211F <--> ethernet@2d10000
mdio@2d64000:
ethernet@2d10000 corresponds to "eth0" port and ethernet@2d50000 corresponds to "eth1" port.
_______________________________________________________________________________
When we insert cable only in the "eth1" port we can check link status for external PHY:
eth1
=> mdio read ethernet@2d50000 1
Reading from bus mdio@2d24000
PHY at address 0:
1 - 0x79ad
According to this documentation https://docs.nxp.com/bundle/GUID-1B480175-7E30-4237-A58E-3F0AD1C61250/page/GUID-EE98B00F-B379-4FE3-9... the 'Link Status' bit is bit #2 (from the left) of the last nibble. The nibble of interest is "d" (d = b'1101').
And therefore the 'Link Status' = 1, which means 'link up'.
eth0
=> mdio read ethernet@2d10000 1
Reading from bus mdio@2d24000
PHY at address 2:
1 - 0x7989
The nibble of interest is "9" (d = b'1001').
And therefore the 'Link Status' = 0, which means 'link down'.
_______________________________________________________________________________
But when we insert cable only in the "eth0":
eth1
=> mdio read ethernet@2d50000 1
Reading from bus mdio@2d24000
PHY at address 0:
1 - 0x79ad
'Link Status' = 1, which means 'link up'.
eth0
=> mdio read ethernet@2d10000 1
Reading from bus mdio@2d24000
PHY at address 2:
1 - 0x79ad
Link Status' = 1, which means 'link up'.
We see 'Link Status' = 1 for "eth1" and "eth0", but only "eth0" connected with cable.
In this case when we connect the second cable to the "eth1" port it is not available for using.
_______________________________________________________________________
Therefore we can't normally work with "eth1" port when "eth0" is used too.
Here is the RCW that we use:
00000000: 0608000c 00000000 00000000 00000000
00000010: 20000000 08447900 e0105a00 21046000
00000020: 00000000 00000000 00000000 0003f300
00000030: 20000000 2484b340 00000000 00000000
Could you advice a solution to resolve the issue?
Hi,
Thank you for your interest in NXP Semiconductor products,
Could you share your device tree to check on it? Thank you in advance.
Regards
Hi,
At first approach I saw that you were using the same PHY as the document, which differs from LS1021A TWR design.
But with the device tree I see that you are declaring an SGMII connection which isn't the RTL8211 IF, where is the error here?
What PHY are you using?
What IF are you using? I am in the meantime looking at RCW.
Thank you
Hi, we use RTL8211FS PHY. It supports SGMII - https://www.realtek.com/en/products/connected-media-ics/item/rtl8211fs-i-vs-cg