STM32H745 + FUSB2805 (ULPI PHY) – USB HS Only Works at 12Mbps, Fails at 480Mbps
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)

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.
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?
I tried both options, but with the first option (RC48), it only works if I select 12 Mbps speed with the external PHY. However, I want to use USB HS at 480 Mbps.


On the hardware side, I am using the FUSB2805 with a 26 MHz oscillator, and I observe a 60 MHz clock on the USB_OTG_HS_ULPI_CK pin.
However, in 480 Mbps (High-Speed) mode (again using the HS external PHY with the same clock settings), the USB does not work. The host shows a ‘device descriptor request failed’ error during enumeration.
Any help or working configuration examples would be appreciated.
