cancel
Showing results for 
Search instead for 
Did you mean: 

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

DMårt
Lead

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

 

 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer
1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

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.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

2 REPLIES 2
PatrickF
ST Employee

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.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

@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!

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer