Skip to content

lwip does not function when link speed is 100 Mbps #350

@mike919192

Description

@mike919192

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions