Hello,
We are using the LS1027AE processor in a custom board with an Ethernet Switch (KSZ9477S, datasheet attached in this post) connected through SGMII1G-S in the Lane C of the SerDes protocol. This Switch will communicate via I2C with the processor during its configuration. According to the LS1028A Reference Manual, in the SerDes chapter, the SGMII1G-S uses the TSN Switch peripheral instead of ENETC. We configured the Switch as a slave I2C and the MDIO PHYs in our DTS (find it attached), which was based on the LS1028A-RDB file. However, we couldn't establish an Ethernet communication (e.g. ping some local IP).
Is there something wrong with our DTS? Is there any documentation showing how to port the Switch in the SerDes protocol?
Best regards,
Igor
Solved! Go to Solution.
I have solved the problem by myself.
For anyone that needs something similar.
The SGMII connection with Switch is considered MAC to MAC, once we don't have a PHY. For this kind of connection, it is not possible to use auto-negotiation. Therefore, the problem was solved just disabling the auto-negotiation on both the processor and the Switch, using a default full-duplex 1Gbps configuration. After this, everything works fine.
P.s.: I need to change the driver because the auto-negotiation register value was hardcoded.
Best regards,
Igor
I have solved the problem by myself.
For anyone that needs something similar.
The SGMII connection with Switch is considered MAC to MAC, once we don't have a PHY. For this kind of connection, it is not possible to use auto-negotiation. Therefore, the problem was solved just disabling the auto-negotiation on both the processor and the Switch, using a default full-duplex 1Gbps configuration. After this, everything works fine.
P.s.: I need to change the driver because the auto-negotiation register value was hardcoded.
Best regards,
Igor
I have forgotten to say that our U-Boot, RCW, and ATF version are LSDK-20.04-update-290520.