cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H745 + FUSB2805 (ULPI PHY) – USB HS Only Works at 12Mbps, Fails at 480Mbps

dplogiic
Associate III

Hi all,

I’m working with an STM32H745 controller and an external ULPI PHY (FUSB2805, pin-compatible with STULPI01A). All hardware connections are verified and correct – the PCB layout and power rails are within spec, and the ULPI lines are as per the datasheets/reference.

Problem:

  • If I configure the USB peripheral for HS External PHY and set the speed to 12Mbps (Full Speed), the port is detected and data transfers work using the external PHY. but only when the USB Clock Mux is set to RC48 (internal 48MHz)

    dplogiic_1-1753772416320.png
     

     

     

     

  • If I select 480Mbps (High Speed) mode (again with HS external PHY and same clock settings), USB does not work. The host gives a "device descriptor request failed" error during enumeration.

    For troubleshooting, I have tried selecting both RC48 and a 60MHz clock from PLL1 and PLL3 as the USB clock source, but the result is always the same: it fails to enumerate as a high-speed device.dplogiic_0-1753772352021.png

Could anyone clarify why HS mode fails at 480Mbps even though Full Speed works?
What is the correct clock configuration (PLL/clock mux settings) to achieve 480Mbps operation with an external ULPI PHY?
Any help or working configuration examples would be appreciated.

1 REPLY 1
dplogiic
Associate III

Duplicate - merged


Hi all,

I’m working with an STM32H745 controller and an external ULPI PHY (FUSB2805, pin-compatible with STULPI01A). All hardware connections are verified and correct – the PCB layout and power rails are within spec, and the ULPI lines are as per the datasheets/reference.

Problem:

  • If I configure the USB peripheral for HS External PHY and set the speed to 12Mbps (Full Speed), the port is detected and data transfers work using the external PHY. but only when the USB Clock Mux is set to RC48 (internal 48MHz)

    dplogiic_1-1753772416320.png
     

     

     

     

  • If I select 480Mbps (High Speed) mode (again with HS external PHY and same clock settings), USB does not work. The host gives a "device descriptor request failed" error during enumeration.

    For troubleshooting, I have tried selecting both RC48 and a 60MHz clock from PLL1 and PLL3 as the USB clock source, but the result is always the same: it fails to enumerate as a high-speed device.dplogiic_0-1753772352021.png

Could anyone clarify why HS mode fails at 480Mbps even though Full Speed works?
What is the correct clock configuration (PLL/clock mux settings) to achieve 480Mbps operation with an external ULPI PHY?
Any help or working configuration examples would be appreciated.