Re: [PATCH v3 05/10] ARM: dts: qcom: msm8960: add RPM clock controller and fix USB clocks
Konrad Dybcio <[email protected]>
| Newsgroups | org.kernel.vger.phone-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 6/1/26 10:51 AM, Antony Kurniawan Soemardi via B4 Relay wrote: > From: Antony Kurniawan Soemardi <[email protected]> > > The RPM clock controller manages clocks shared between the application > processor and the RPM firmware, including fabric and bus clocks required > by several peripherals. > > With the RPM clock controller now available in the device tree, the USB > controller must explicitly declare its dependency on > RPM_DAYTONA_FABRIC_CLK. Without this declaration, the clock framework > would consider it unused and disable it, breaking USB functionality. > > This also corrects the previous misuse of USB_HS1_XCVR_CLK as the core > clock. The XCVR clock is in fact used for PHY/reset handling rather than > as the main core clock. > > A similar issue has been observed on APQ8064, where missing the RPM > fabric clock dependency leads to broken USB. > > Signed-off-by: Antony Kurniawan Soemardi <[email protected]> > --- > @@ -507,8 +519,12 @@ usb1: usb@12500000 { > reg = <0x12500000 0x200>, > <0x12500200 0x200>; > interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; > - clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>; > - clock-names = "core", "iface"; > + clocks = <&gcc USB_HS1_H_CLK>, > + <&rpmcc RPM_DAYTONA_FABRIC_CLK>, > + <&gcc USB_HS1_XCVR_CLK>; > + clock-names = "iface", > + "core", > + "fs"; The bindings change you sent changes the expectations - "core" used to be the first clock. And I would guesstimate that the DAYTONA_FABRIC clock is not really "core" - does downstream do any ratesetting on the other two? Konrad