Skip to content
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

Support NXP ENET_1G gigabit ethernet on mimxrt1170_evk #69207

Conversation

stanislav-poboril
Copy link
Collaborator

This PR addresses issue #66348 on mimxrt1170_evk board.

  • Updated the experimental eth_nxp_enet driver, created by @decsny, to support RGMII mode and ENET_1G peripheral.
  • Added support for Realtek RTL8211F ethernet PHY which is connected to ENET_1G on a mentioned board.
  • Performed necessary updates in platform SoC initialization and clock control code.
  • Since it uses the experimental eth_nxp_enet driver, the overlay file and documentation on its use were added.

Along with this change, the Microchip KSZ8081 PHY driver needed to be updated a little, so the eth_nxp_enet can work with both PHYs. Also fixed few issues found in that PHY driver when doing the changes.

decsny
decsny previously approved these changes Jun 5, 2024
Copy link
Member

@decsny decsny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the patience on this PR @stanislav-poboril

@stanislav-poboril
Copy link
Collaborator Author

Pushed additional updates for vmu_rt1170 after it has been reconfigured to use TJA1103 ethernet PHY.
(Legacy ethernet driver had hardcoded PHY KSZ8081, now the PHY is configurable, so using the right one).

@bperseghetti, would it be possible to verify again if ethernet works on vmu_rt1170? Thank you.

@decsny
Copy link
Member

decsny commented Jun 5, 2024

this compliance fail I've seen on a few PRs now where it doesn't seem related to the PR

@decsny
Copy link
Member

decsny commented Jun 5, 2024

#73403 has a fix for the compliance issue

dleach02
dleach02 previously approved these changes Jun 5, 2024
pdgendt
pdgendt previously approved these changes Jun 6, 2024
@stanislav-poboril stanislav-poboril force-pushed the 66348_nxp_enet_rt11xx_enet1g_support branch from 6e523b9 to a71ad9f Compare June 6, 2024 06:59
@stanislav-poboril
Copy link
Collaborator Author

#73403 has a fix for the compliance issue

Rebased to take it.

@stanislav-poboril stanislav-poboril force-pushed the 66348_nxp_enet_rt11xx_enet1g_support branch from a71ad9f to a4a6e42 Compare June 6, 2024 08:41
@stanislav-poboril stanislav-poboril dismissed stale reviews from decsny, dleach02, and pdgendt via 224f540 June 6, 2024 11:23
@stanislav-poboril stanislav-poboril force-pushed the 66348_nxp_enet_rt11xx_enet1g_support branch from a4a6e42 to 224f540 Compare June 6, 2024 11:23
stanislav-poboril and others added 9 commits June 6, 2024 15:07
Add ENET_1G clock value to the RT11XX CCM version.
Implemented enabling ENET_1G clock and getting its frequency.

Signed-off-by: Stanislav Poboril <[email protected]>
Support NXP ENET_1G on RT11xx soc.

Fixes: zephyrproject-rtos#66348

Signed-off-by: Stanislav Poboril <[email protected]>
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]>
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]>
- 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]>
Add a kconfig preprocessor function to check if
any node of a certain compatible has a specific property in DT.

Signed-off-by: Declan Snyder <[email protected]>
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]>
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]>
Adjusted the board's device tree after ENET_1G compatible changed
from "nxp,kinetis-ethernet" to "nxp,enet1g".

Signed-off-by: Stanislav Poboril <[email protected]>
@stanislav-poboril stanislav-poboril force-pushed the 66348_nxp_enet_rt11xx_enet1g_support branch from 224f540 to dec5a14 Compare June 6, 2024 13:08
@nashif nashif merged commit db57c43 into zephyrproject-rtos:main Jun 7, 2024
45 of 47 checks passed
@stanislav-poboril stanislav-poboril deleted the 66348_nxp_enet_rt11xx_enet1g_support branch June 7, 2024 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

nxp_enet: RT11xx enet1g support
8 participants