2024-05-11 08:42 AM - edited 2024-05-11 08:44 AM
I found something interresting.
If we look at the STM32MP15XXAC (package TFBGA361) we can see that:
In this case, I need DLCD_B1 and OTG_HS_ID for flashing the eMMC with Linux.
What I found is that ETH_PHY_INTN is actually connected to AC8 for the STM32MP157 dev-kit, and that leads me to the question:
Is AC8 an interrupt or a wakeup pin for the Ethernet PHY? Why is AC8 selected? Should I declare it as an External Interrupt in CubeMX?
If I look at CubeMX, there is an option for Ethernet Interrupt.
Solved! Go to Solution.
2024-05-17 02:05 AM
Hi @DMårt
agreed not easy to match HW documentations, CubeMx and SW usage.
There is an hardware dedicated signal for ETH PHY interrupt, named ETH_PHY_INTN on pin PG12, this interrupt is managed by the ETH1 IP.
But I think Linux driver did not use this and could use any GPIO as interrupt (more flexible), so you see it connected to pin PA6 in your example (I'm even not sure Linux driver use this interrupt at all as polling if enough to detect connection/deconnection/negotiation).
So, conclusion is that you should not select ETH_PHY_INTN in CubeMx and you could connect PHY interrupt to any GPIO (if you want to support Wake-on-Lan from Standby mode, you should choose a pin with WKUPx capability). https://wiki.st.com/stm32mpu/wiki/Ethernet_device_tree_configuration#How_to_enable_and_use_Wake_on_LAN_-WoL-_from_PHY
Regarding OTG_HS_ID, you could leave it open as it does not exist for USB Type-C (Dual Role Device need different HW) . ID pin management with USB micro-AB connector is not frequent this days and I think requirement is discarded in recent USB standard (most people are using only Micro-B connector with Device only mode forced in the Device Tree). Recent ST MPU products (e.g. STM32MP25) does not have anymore ID pin.
Regards.
2024-05-17 02:05 AM
Hi @DMårt
agreed not easy to match HW documentations, CubeMx and SW usage.
There is an hardware dedicated signal for ETH PHY interrupt, named ETH_PHY_INTN on pin PG12, this interrupt is managed by the ETH1 IP.
But I think Linux driver did not use this and could use any GPIO as interrupt (more flexible), so you see it connected to pin PA6 in your example (I'm even not sure Linux driver use this interrupt at all as polling if enough to detect connection/deconnection/negotiation).
So, conclusion is that you should not select ETH_PHY_INTN in CubeMx and you could connect PHY interrupt to any GPIO (if you want to support Wake-on-Lan from Standby mode, you should choose a pin with WKUPx capability). https://wiki.st.com/stm32mpu/wiki/Ethernet_device_tree_configuration#How_to_enable_and_use_Wake_on_LAN_-WoL-_from_PHY
Regarding OTG_HS_ID, you could leave it open as it does not exist for USB Type-C (Dual Role Device need different HW) . ID pin management with USB micro-AB connector is not frequent this days and I think requirement is discarded in recent USB standard (most people are using only Micro-B connector with Device only mode forced in the Device Tree). Recent ST MPU products (e.g. STM32MP25) does not have anymore ID pin.
Regards.
2024-05-20 04:23 PM - edited 2024-05-20 04:23 PM
I understand!
I will use the AC8 pin instead of the ETH PHT INTN pin and let Linux do the job.
I have already mounted a Micro-AB connector on my schematic for the OTG_HS. So I just follow AN5031.
Thank you!