Hi TI experts,
we are using a custom PHY driver in our firmware (using SDK 8.4.0.17 with lwip) and we were experiencing an unexpected behaviour with an Ethernet port that had no link to another Ethernet port.
We need to configure the link/act LEDs after the first reset to get these indicators to work properly. But in the case of an unconnected Ethernet port we observed a short flickering after ~ 8 seconds.
After we enabled the logging of the PHY states we found out there seems to be an auto-negotiation timeout which causes a reset followed by a new configuration of that PHY-port.
[17222] DebugP: EnetPhy_phyTimeout: PHY 3: timeout has occurred [17222] DebugP: EnetPhy_setNextState: PHY 3: NWAY_WAIT -> FOUND (0 ticks) [17322] DebugP: EnetPhy_setNextState: PHY 3: FOUND -> RESET_WAIT (10 ticks) [17422] DebugP: EnetPhy_setNextState: PHY 3: RESET_WAIT -> ENABLE (0 ticks) [17522] DebugP: EnetPhy_enableState: PHY 3: enable [17524] DebugP: EnetPhy_enableState: PHY 3: req caps: FD100 HD100 FD10 HD10 [17524] DebugP: EnetPhy_enableState: PHY 3: PHY caps: FD100 HD100 FD10 HD10 [17524] DebugP: EnetPhy_enableState: PHY 3: MAC caps: FD1000 FD100 HD100 FD10 HD10 [17524] DebugP: EnetPhy_enableState: PHY 3: refined caps: FD100 HD100 FD10 HD10 [17524] DebugP: EnetPhy_enableState: PHY 3: PHY is NWAY-capable [17524] DebugP: EnetPhy_enableState: PHY 3: setup NWAY [17524] DebugP: EnetPhy_setupNway: PHY 3: NWAY advertising: FD100 HD100 FD10 HD10 [17524] DebugP: EnetPhy_setupNway: PHY 3: config is needed [17525] DebugP: EnetPhy_setupNway: PHY 3: restart autonegotiation [17525] DebugP: EnetPhy_setNextState: PHY 3: ENABLE -> NWAY_START (50 ticks) [17622] DebugP: EnetPhy_setNextState: PHY 3: NWAY_START -> NWAY_WAIT (80 ticks) [25722] DebugP: EnetPhy_phyTimeout: PHY 3: timeout has occurred [25722] DebugP: EnetPhy_setNextState: PHY 3: NWAY_WAIT -> FOUND (0 ticks) [25822] DebugP: EnetPhy_setNextState: PHY 3: FOUND -> RESET_WAIT (10 ticks) [25922] DebugP: EnetPhy_setNextState: PHY 3: RESET_WAIT -> ENABLE (0 ticks) [26022] DebugP: EnetPhy_enableState: PHY 3: enable [26024] DebugP: EnetPhy_enableState: PHY 3: req caps: FD100 HD100 FD10 HD10 [26024] DebugP: EnetPhy_enableState: PHY 3: PHY caps: FD100 HD100 FD10 HD10
In the doumentation to that SDK (AM243x MCU+ SDK: Ethernet PHY Integration Guide) I can not find information about the timeout and that state transition.
Increasing the nwayWaitStateTicks could be some kind of workaround, but what should I configure to disable the auto-negotiaition timeout completely?
ptPhyCfg->timeoutCfg.nwayWaitStateTicks = 0xFFFFFFFF;
Best regards
Alex