[PATCH v2 00/10] Flatten USB Controller Nodes on IPQ SoCs

From: George Moussalem via B4 Relay

Date: Sat Sep 05 2026 - 23:58:47 EST


Add ability to pass the UTMI clock rate to the DWC3 core to calculate
the right values for the period and frame length adjustment. This is
required for USB controllers on chipsets where the computed values for
the period and frame length adjustment differ from hardware defaults
based on the UTMI clock rate.

Flatten usb controller node and update to using latest bindings and
flattened driver approach.

In addition, set the right UTMI clock rate and override any clock
rate inherited from the bootloader.

I've split these patches from a larger patch set to add USB3 support on
IPQ5018 and IPQ5332 SoCs where these patches are required to ensure new
functionality is added to the new flattened driver and binding model.

link: https://lore.kernel.org/all/20260812-ipq5018-usb3-v2-0-8f355d7ff0ef@xxxxxxxxxxx/

Signed-off-by: George Moussalem <george.moussalem@xxxxxxxxxxx>
---
Changes in v2:
- Dropped the "qcom,select-utmi-as-ref-clk" property from the binding
and DTS nodes since it is no longer needed. If the UTMI clock is
available, the glue layer will pass its clock rate to the core
unconditionally.
- Added separate patches to move the DR mode to the relevant board DTS
files as per Konrad's request.
- Picked up RB tags
- Link to v1: https://lore.kernel.org/r/20260825-ipq-flatten-usb-v1-0-5c1f3170bbe9@xxxxxxxxxxx

---
George Moussalem (10):
usb: dwc3: core: Allow glue layer to pass reference clock rate
usb: dwc3: qcom: Add support for selecting UTMI as reference clock
arm64: dts: qcom: ipq5018: Flatten usb controller node
arm64: dts: qcom: ipq5332: Flatten usb controller node
arm64: dts: qcom: ipq5424: Flatten usb controller nodes
arm64: dts: qcom: ipq6018: move DR mode to board DTS
arm64: dts: qcom: ipq6018: Flatten usb controller nodes
arm64: dts: qcom: ipq8074: move DR mode to board DTS
arm64: dts: qcom: ipq8074: Flatten usb controller nodes
arm64: dts: qcom: ipq9574: Flatten usb controller node

arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts | 6 +-
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 51 +++++------
arch/arm64/boot/dts/qcom/ipq5332-rdp468.dts | 6 +-
arch/arm64/boot/dts/qcom/ipq5332.dtsi | 57 ++++++------
arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts | 12 +--
arch/arm64/boot/dts/qcom/ipq5424.dtsi | 86 ++++++++----------
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 95 +++++++++-----------
arch/arm64/boot/dts/qcom/ipq8074-hk01.dts | 4 +
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 110 +++++++++++------------
arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi | 6 +-
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 40 ++++-----
drivers/usb/dwc3/core.c | 6 ++
drivers/usb/dwc3/core.h | 2 +
drivers/usb/dwc3/dwc3-qcom.c | 9 ++
drivers/usb/dwc3/glue.h | 4 +
15 files changed, 230 insertions(+), 264 deletions(-)
---
base-commit: 32b6ef9a5d0eca44f9cd91f52f4faa89f145a0de
change-id: 20260825-ipq-flatten-usb-c7d7f15f3966

Best regards,
--
George Moussalem <george.moussalem@xxxxxxxxxxx>