-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
There seems to be a problem with the new SDT ethernet drivers when the negotiated link speed is 100 Mbps. I first ran into the problem with the FreeRTOS TCP Zynq port, but I reproduced the problem using the baremetal lwip echo example.
From what I can tell there is a difference in behavior in the function SetUpSLCRDivisors. In the old drivers this function wrote the correct divider values to the SLCR_GEM0_CLK_CTRL_ADDR
register. With the new drivers this function does nothing, the entire function body is behind the #ifndef SDT
.
I think the intention is that it is not necessary to write to this register with the SDT drivers. And that does work with 1Gbps link speed. But with the SDT drivers, 100Mbps link speed does not work without writing to the SLCR_GEM0_CLK_CTRL_ADDR
register.
Here is a bit long discussion we had over on the FreeRTOS forums. For now I am assuming that to workaround the problem that it is still necessary to write to the SLCR_GEM0_CLK_CTRL_ADDR
register with user specified values in order to use 100Mbps link speed.