-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Ethernet: Add stm32n6 support #85243
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
Conversation
|
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
7e4e629 to
3703c06
Compare
3703c06 to
2d6c8d6
Compare
be7aa97 to
6d35efe
Compare
I was referring the suggestion to have st,stm32n6-ethernet" and "st,stm32h7-ethernet" in the compatible. the generic "st,stm32-ethernet". was fine. |
Ok, but I still think it is correct, |
would the st,stm32n6 work (even limited) with just |
You can replace |
I understand you, but that was not the point. A compatible should not depend on another compatible being present. The second and later compatibles are meant as a fallback, if there is no diver available for the first compatible available. I don't like having a chain of compatibles, that all depend on the next.- |
This fallback mechanism is valid for Linux but hardly applies in Zephyr, right ? |
If it is compatible with a former compatible, use that. If there are new features, that requires the creation of a new compatible, create it and then make the appropriate changes to the driver and add |
|
Are there cases where users have to set the compatible themself for Ethernet? Or do they always have to include the dtsi? If they never have to set it themself (in out of tree boards f.e.), I still don't like it, but can tolerate it. |
That is exactly what is done in the PR currently:
N6 Eth IP makes use of existing STM32 driver (requires
Done as well. Hence the introduction of Finally, following these steps, we end up with |
|
@marwaiehm-st this should be rebased |
Update STM32N6 pinctrl dtsi files with the ETH pins Add STM32N6 Ethernet pinctrl config to stm32-pinctrl-config.yaml Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <[email protected]>
Add the ethernet node Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <[email protected]>
Add ethernet node Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <[email protected]>
acefd89 to
1949a08
Compare
1949a08 to
a220244
Compare
-Update the ETH_STM32_HAL menu configuration to conditionally select USE_STM32_HAL_RIF if SOC_SERIES_STM32N6X is enabled. -Align Ethernet descriptors to 32 bytes for STM32N6 to ensure efficient DMA operations and improve cache line efficiency and overall performance -Add RISAF configuration in eth_initialize function for STM32N6 series to set up master and slave security attributes for the Ethernet peripheral. -Ensure RISAF configuration is done before enabling the Ethernet clock to maintain proper security attributes. Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <[email protected]>
a220244 to
b6e330b
Compare
|
@marwaiehm-st RGMII support is now missing, was that intended? |
The RGMII is used on the board STM32N6570_DK, and the support for the STM32N6570_DK will be added in a separate PR. |
|
Please add the |
Add the compatible of the STM32N6 series Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <[email protected]>
Add STM32N6 ethernet support:
and overall performance
for the Ethernet peripheral.
This PR supports only the Nucleo_N657X0_Q. I will add support for the STM32N6570_DK in a separate PR.