Skip to main content
Graduate II
May 11, 2024
Solved

Interrupt for Gigabit Ethernet is a wake-up or interrupt?

  • May 11, 2024
  • 1 reply
  • 1461 views

I found something interresting.

If we look at the STM32MP15XXAC (package TFBGA361) we can see that:

  • DLCD_B1 is connected to K4 and Y17
  • OTG_HS_ID is connected to Y17
  • ETH_PHY_INTN is connectes to K4

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:

Namnlös.png

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.

 

Skärmbild 2024-05-11 174028.png

 

 

    This topic has been closed for replies.
    Best answer by PatrickF

    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.

    1 reply

    PatrickFAnswer
    Technical Moderator
    May 17, 2024

    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.

    DMårtAuthor
    Graduate II
    May 20, 2024

    @PatrickF 

    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!