diff --git a/drivers/usb/device/usb_dc_stm32.c b/drivers/usb/device/usb_dc_stm32.c index ea560ad751a4e..a56af6154a243 100644 --- a/drivers/usb/device/usb_dc_stm32.c +++ b/drivers/usb/device/usb_dc_stm32.c @@ -447,6 +447,12 @@ static int usb_dc_stm32_clock_enable(void) #if USB_OTG_HS_EMB_PHYC #if !DT_HAS_COMPAT_STATUS_OKAY(st_stm32n6_otghs) + /* + * STM32F723 and STM32F730 embedded HS PHY requires ULPI + * clock to be enabled (RUN and LP) in addition to USBPHYC. + */ + LL_AHB1_GRP1_EnableClockLowPower(LL_AHB1_GRP1_PERIPH_OTGHSULPI); + LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_OTGHSULPI); LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_OTGPHYC); #endif #endif diff --git a/drivers/usb/udc/udc_stm32.c b/drivers/usb/udc/udc_stm32.c index 53b9654ed14c1..67a937c8b15b0 100644 --- a/drivers/usb/udc/udc_stm32.c +++ b/drivers/usb/udc/udc_stm32.c @@ -1161,6 +1161,12 @@ static int priv_clock_enable(void) #if USB_OTG_HS_EMB_PHY #if !DT_HAS_COMPAT_STATUS_OKAY(st_stm32n6_otghs) + /* + * STM32F723 and STM32F730 embedded HS PHY requires ULPI + * clock to be enabled (RUN and LP) in addition to USBPHYC. + */ + LL_AHB1_GRP1_EnableClockLowPower(LL_AHB1_GRP1_PERIPH_OTGHSULPI); + LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_OTGHSULPI); LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_OTGPHYC); #endif #endif