ARM: dts: stm32: use usbphyc ck_usbo_48m as USBH OHCI clock on stm32mp151
authorAmelie Delaunay <amelie.delaunay@foss.st.com>
Wed, 6 Oct 2021 09:53:55 +0000 (11:53 +0200)
committerAlexandre Torgue <alexandre.torgue@foss.st.com>
Fri, 15 Oct 2021 14:51:09 +0000 (16:51 +0200)
Referring to the note under USBH reset and clocks chapter of RM0436,
"In order to access USBH_OHCI registers it is necessary to activate the USB
clocks by enabling the PLL controlled by USBPHYC" (ck_usbo_48m).

The point is, when USBPHYC PLL is not enabled, OHCI register access
freezes the resume from STANDBY. It is the case when dual USBH is enabled,
instead of OTG + single USBH.
When OTG is probed, as ck_usbo_48m is USBO clock parent, then USBPHYC PLL
is enabled and OHCI register access is OK.

This patch adds ck_usbo_48m (provided by USBPHYC PLL) as clock of USBH
OHCI, thus USBPHYC PLL will be enabled and OHCI register access will be OK.

Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
arch/arm/boot/dts/stm32mp151.dtsi

index 6992a4b..f693a7d 100644 (file)
                usbh_ohci: usb@5800c000 {
                        compatible = "generic-ohci";
                        reg = <0x5800c000 0x1000>;
-                       clocks = <&rcc USBH>;
+                       clocks = <&rcc USBH>, <&usbphyc>;
                        resets = <&rcc USBH_R>;
                        interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
                        status = "disabled";