2025-07-29 12:22 AM
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?
Any help or working configuration examples would be appreciated.
2025-07-29 12:23 AM - last edited on 2025-07-29 12:55 AM by Andrew Neil
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)
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?
Any help or working configuration examples would be appreciated.