Skip to content

nxp_enet: RT11xx enet1g support #66348

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jman168 opened this issue Dec 10, 2023 · 0 comments · Fixed by #69207
Closed

nxp_enet: RT11xx enet1g support #66348

jman168 opened this issue Dec 10, 2023 · 0 comments · Fixed by #69207
Assignees
Labels
area: Ethernet Enhancement Changes/Updates/Additions to existing features platform: NXP NXP

Comments

@jman168
Copy link

jman168 commented Dec 10, 2023

Is your enhancement proposal related to a problem? Please describe.
Currently there is no support for the 1G enet peripheral present on the RT11xx series of micro controllers.

Describe the solution you'd like
I think the new nxp_enet driver would be a great point of entry to add support for this peripheral.

Describe alternatives you've considered
There aren't really any alternatives to this besides just not having support for it.

Additional context
I am currently on an FSAE team (student design team that designs, builds, and competes with formula style race cars, shout out Gator Motorsports and the University of Florida!) and we are developing our system around gigabit automotive Ethernet and the RT1176. I played around with the new driver and managed to get gigabit to work in a very crippled state (PHY is only working in very specific circumstances as it doesn't have a driver, auto negotiation doesn't work, etc...). If you're interested in taking a look it's here https://github.com/Gator-Motorsports/zephyr/tree/rt1170_eth (don't judge, I know it's very crude, I just wanted a proof of concept before we went and committed to 1G, plus we don't care about auto negotiation so this is perfectly usable for us).

I really would like to see official support for this as this is one of the biggest features not supported on the RT11xx platform as of now. We are happy to help in any way the community needs, as we will be working very heavily with the platform for the next six months or so at least, we will get a lot of testing and development time we'd like the Zephyr community to benefit from as much as possible, whether that be in the form of issues, code, testing, etc...

stanislav-poboril added a commit to stanislav-poboril/zephyr that referenced this issue Jun 6, 2024
Support NXP ENET_1G on RT11xx soc.

Fixes: zephyrproject-rtos#66348

Signed-off-by: Stanislav Poboril <[email protected]>
stanislav-poboril added a commit to stanislav-poboril/zephyr that referenced this issue Jun 6, 2024
Add option for RGMII connection type between the MAC and the PHY
device into the ethernet controller binding.

Fixes: zephyrproject-rtos#66348

Signed-off-by: Stanislav Poboril <[email protected]>
stanislav-poboril added a commit to stanislav-poboril/zephyr that referenced this issue Jun 6, 2024
Add RGMII mode definition to be used in bindings related to NXP ENET_1G IP.

Fixes: zephyrproject-rtos#66348

Signed-off-by: Stanislav Poboril <[email protected]>
stanislav-poboril added a commit to stanislav-poboril/zephyr that referenced this issue Jun 6, 2024
- Added nxp,enet1g compatible to distinguish between ENET (nxp,enet)
and ENET_1G (nxp,enet1g) peripherals within the same driver.
- Added config ETH_NXP_ENET_1G to enable 1G mode of operation on ENET_1G.
- Support RGMII mode of connection between MDIO and PHY to be
able to work with ENET_1G peripheral and support 1000M speed.
- Removed performing of PHY reset before configuring link - it is
not desirable for RTL8211F PHY connected to ENET_1G on RT1170.
Reset of other PHYs can be performed by PHY driver itself if required.

Fixes: zephyrproject-rtos#66348

Signed-off-by: Stanislav Poboril <[email protected]>
stanislav-poboril added a commit to stanislav-poboril/zephyr that referenced this issue Jun 6, 2024
Add driver for Realtek RTL8211F 10/100/1000M ethernet PHY.
This driver implements vendor specific behaviour like
detecting link state change by GPIO interrupt, which is not
present in the generic MII driver.

Fixes: zephyrproject-rtos#66348

Signed-off-by: Stanislav Poboril <[email protected]>
stanislav-poboril added a commit to stanislav-poboril/zephyr that referenced this issue Jun 6, 2024
Support NXP ENET_1G on mimxrt1170_evk/mimxrt1176/cm7 platform.
Added test configuration sample.net.zperf.nxp_enet1g and
documented the usage of the ethernet driver with ENET_1G
peripheral.

Fixes: zephyrproject-rtos#66348

Signed-off-by: Stanislav Poboril <[email protected]>
nashif pushed a commit that referenced this issue Jun 7, 2024
Support NXP ENET_1G on RT11xx soc.

Fixes: #66348

Signed-off-by: Stanislav Poboril <[email protected]>
nashif pushed a commit that referenced this issue Jun 7, 2024
Add option for RGMII connection type between the MAC and the PHY
device into the ethernet controller binding.

Fixes: #66348

Signed-off-by: Stanislav Poboril <[email protected]>
nashif pushed a commit that referenced this issue Jun 7, 2024
Add RGMII mode definition to be used in bindings related to NXP ENET_1G IP.

Fixes: #66348

Signed-off-by: Stanislav Poboril <[email protected]>
nashif pushed a commit that referenced this issue Jun 7, 2024
- Added nxp,enet1g compatible to distinguish between ENET (nxp,enet)
and ENET_1G (nxp,enet1g) peripherals within the same driver.
- Added config ETH_NXP_ENET_1G to enable 1G mode of operation on ENET_1G.
- Support RGMII mode of connection between MDIO and PHY to be
able to work with ENET_1G peripheral and support 1000M speed.
- Removed performing of PHY reset before configuring link - it is
not desirable for RTL8211F PHY connected to ENET_1G on RT1170.
Reset of other PHYs can be performed by PHY driver itself if required.

Fixes: #66348

Signed-off-by: Stanislav Poboril <[email protected]>
nashif pushed a commit that referenced this issue Jun 7, 2024
Add driver for Realtek RTL8211F 10/100/1000M ethernet PHY.
This driver implements vendor specific behaviour like
detecting link state change by GPIO interrupt, which is not
present in the generic MII driver.

Fixes: #66348

Signed-off-by: Stanislav Poboril <[email protected]>
nashif pushed a commit that referenced this issue Jun 7, 2024
Support NXP ENET_1G on mimxrt1170_evk/mimxrt1176/cm7 platform.
Added test configuration sample.net.zperf.nxp_enet1g and
documented the usage of the ethernet driver with ENET_1G
peripheral.

Fixes: #66348

Signed-off-by: Stanislav Poboril <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Ethernet Enhancement Changes/Updates/Additions to existing features platform: NXP NXP
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants