[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251014022121.1850871-2-krishna.kurapati@oss.qualcomm.com>
Date: Tue, 14 Oct 2025 07:51:20 +0530
From: Krishna Kurapati <krishna.kurapati@....qualcomm.com>
To: Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Abel Vesa <abel.vesa@...aro.org>,
Rajendra Nayak <quic_rjendra@...cinc.com>,
Sibi Sankar <sibi.sankar@....qualcomm.com>
Cc: linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Krishna Kurapati <krishna.kurapati@....qualcomm.com>
Subject: [PATCH 1/2] arm64: dts: qcom: x1e80100: Flatten usb controller nodes
Flatten usb controller nodes and update to using latest bindings and
flattened driver approach.
Tests done are as follows:
1. On CRD, verified host mode operation of the 3 exposed Type-C ports
and enumeration of the Goodix fingerprint sensor on the multiport
usb controller.
2. Modified the dr_mode to otg for the first 3 controllers and
verified role switching and device mode operation on the 3 exposed
Type-C ports.
Signed-off-by: Krishna Kurapati <krishna.kurapati@....qualcomm.com>
---
DTBS check done for all affected platforms.
arch/arm64/boot/dts/qcom/hamoa-iot-som.dtsi | 24 +-
.../boot/dts/qcom/x1-asus-zenbook-a14.dtsi | 12 +-
arch/arm64/boot/dts/qcom/x1-crd.dtsi | 18 +-
arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi | 18 +-
.../boot/dts/qcom/x1-hp-omnibook-x14.dtsi | 18 +-
arch/arm64/boot/dts/qcom/x1e001de-devkit.dts | 18 +-
.../qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 18 +-
.../dts/qcom/x1e80100-asus-vivobook-s15.dts | 18 +-
.../dts/qcom/x1e80100-dell-xps13-9345.dts | 12 +-
.../dts/qcom/x1e80100-lenovo-yoga-slim7x.dts | 18 +-
.../dts/qcom/x1e80100-microsoft-romulus.dtsi | 12 +-
arch/arm64/boot/dts/qcom/x1e80100-qcp.dts | 18 +-
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 323 ++++++++----------
.../dts/qcom/x1p42100-lenovo-thinkbook-16.dts | 24 +-
14 files changed, 218 insertions(+), 333 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-som.dtsi b/arch/arm64/boot/dts/qcom/hamoa-iot-som.dtsi
index 1aead50b8920..2cbab3cabc00 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-som.dtsi
@@ -503,12 +503,10 @@ wake-n-pins {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "otg";
usb-role-switch;
+
+ status = "okay";
};
&usb_1_ss0_hsphy {
@@ -526,12 +524,10 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "otg";
usb-role-switch;
+
+ status = "okay";
};
&usb_1_ss1_hsphy {
@@ -549,12 +545,10 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss2 {
- status = "okay";
-};
-
-&usb_1_ss2_dwc3 {
dr_mode = "otg";
usb-role-switch;
+
+ status = "okay";
};
&usb_1_ss2_hsphy {
@@ -572,11 +566,9 @@ &usb_1_ss2_qmpphy {
};
&usb_2 {
- status = "okay";
-};
-
-&usb_2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_2_hsphy {
diff --git a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
index ee3c8c5e2c50..6414867a8161 100644
--- a/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-asus-zenbook-a14.dtsi
@@ -1409,11 +1409,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1441,11 +1439,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
diff --git a/arch/arm64/boot/dts/qcom/x1-crd.dtsi b/arch/arm64/boot/dts/qcom/x1-crd.dtsi
index 3c9455fede5c..c06478afecf8 100644
--- a/arch/arm64/boot/dts/qcom/x1-crd.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-crd.dtsi
@@ -1696,11 +1696,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1728,11 +1726,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1760,11 +1756,9 @@ &usb_1_ss2_qmpphy {
};
&usb_1_ss2 {
- status = "okay";
-};
-
-&usb_1_ss2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss2_dwc3_hs {
diff --git a/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi b/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi
index cc64558ed5e6..c5b4bd7efb5d 100644
--- a/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi
@@ -1551,11 +1551,9 @@ bluetooth {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1583,11 +1581,9 @@ &usb_1_ss0_qmpphy_out {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1615,11 +1611,9 @@ &usb_1_ss1_qmpphy_out {
};
&usb_2 {
- status = "okay";
-};
-
-&usb_2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_2_hsphy {
diff --git a/arch/arm64/boot/dts/qcom/x1-hp-omnibook-x14.dtsi b/arch/arm64/boot/dts/qcom/x1-hp-omnibook-x14.dtsi
index a4075434162a..16437139d336 100644
--- a/arch/arm64/boot/dts/qcom/x1-hp-omnibook-x14.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1-hp-omnibook-x14.dtsi
@@ -1471,11 +1471,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1503,11 +1501,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1519,12 +1515,10 @@ &usb_1_ss1_qmpphy_out {
};
&usb_mp {
- status = "okay";
-};
-
-&usb_mp_dwc3 {
phys = <&usb_mp_hsphy0>, <&usb_mp_qmpphy0>;
phy-names = "usb2-0", "usb3-0";
+
+ status = "okay";
};
&usb_mp_hsphy0 {
diff --git a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
index bfc649d4b643..48a2fe8963ce 100644
--- a/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
+++ b/arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
@@ -1383,12 +1383,10 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "otg";
usb-role-switch;
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1416,11 +1414,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1448,11 +1444,9 @@ &usb_1_ss2_qmpphy {
};
&usb_1_ss2 {
- status = "okay";
-};
-
-&usb_1_ss2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss2_dwc3_hs {
diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
index 654cbce9d6ec..f2f41d9cf814 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
@@ -1501,11 +1501,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1533,11 +1531,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1549,11 +1545,9 @@ &usb_1_ss1_qmpphy_out {
};
&usb_2 {
- status = "okay";
-};
-
-&usb_2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_2_hsphy {
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
index 0113d856b3ad..bd5bed98d10f 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
@@ -902,11 +902,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -934,11 +932,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -950,11 +946,9 @@ &usb_1_ss1_qmpphy_out {
};
&usb_2 {
- status = "okay";
-};
-
-&usb_2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_2_hsphy {
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
index 58f8caaa7258..233a045d70ce 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
@@ -1291,11 +1291,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1323,11 +1321,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
index e0642fe8343f..de40e0da7740 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
@@ -1569,11 +1569,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1601,11 +1599,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1633,11 +1629,9 @@ &usb_1_ss2_qmpphy {
};
&usb_1_ss2 {
- status = "okay";
-};
-
-&usb_1_ss2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss2_dwc3_hs {
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
index ed468b93ba50..ab88107f3bb5 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
@@ -1492,11 +1492,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1524,11 +1522,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
index 4a9b6d791e7f..c3ae0f2a03a3 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
@@ -1420,11 +1420,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1452,11 +1450,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1484,11 +1480,9 @@ &usb_1_ss2_qmpphy {
};
&usb_1_ss2 {
- status = "okay";
-};
-
-&usb_1_ss2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss2_dwc3_hs {
diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index 51576d9c935d..56f787a8d821 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -4773,9 +4773,9 @@ usb_mp_qmpphy1: phy@...5000 {
status = "disabled";
};
- usb_1_ss2: usb@...8800 {
- compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
- reg = <0 0x0a0f8800 0 0x400>;
+ usb_1_ss2: usb@...0000 {
+ compatible = "qcom,x1e80100-dwc3", "qcom,snps-dwc3";
+ reg = <0 0x0a000000 0 0xfc100>;
clocks = <&gcc GCC_CFG_NOC_USB3_TERT_AXI_CLK>,
<&gcc GCC_USB30_TERT_MASTER_CLK>,
@@ -4801,15 +4801,24 @@ usb_1_ss2: usb@...8800 {
assigned-clock-rates = <19200000>,
<200000000>;
- interrupts-extended = <&intc GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts-extended = <&intc GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
+ <&intc GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 58 IRQ_TYPE_EDGE_BOTH>,
<&pdc 57 IRQ_TYPE_EDGE_BOTH>,
<&pdc 10 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event",
+ interrupt-names = "dwc_usb3",
+ "pwr_event",
"dp_hs_phy_irq",
"dm_hs_phy_irq",
"ss_phy_irq";
+ iommus = <&apps_smmu 0x14a0 0x0>;
+
+ phys = <&usb_1_ss2_hsphy>,
+ <&usb_1_ss2_qmpphy QMP_USB43DP_USB3_PHY>;
+ phy-names = "usb2-phy",
+ "usb3-phy";
+
power-domains = <&gcc GCC_USB30_TERT_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
@@ -4824,61 +4833,40 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
wakeup-source;
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
-
- status = "disabled";
-
- usb_1_ss2_dwc3: usb@...0000 {
- compatible = "snps,dwc3";
- reg = <0 0x0a000000 0 0xcd00>;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_enblslpm_quirk;
+ snps,usb3_lpm_capable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
- interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
-
- iommus = <&apps_smmu 0x14a0 0x0>;
-
- phys = <&usb_1_ss2_hsphy>,
- <&usb_1_ss2_qmpphy QMP_USB43DP_USB3_PHY>;
- phy-names = "usb2-phy",
- "usb3-phy";
-
- snps,dis_u2_susphy_quirk;
- snps,dis_enblslpm_quirk;
- snps,usb3_lpm_capable;
- snps,dis-u1-entry-quirk;
- snps,dis-u2-entry-quirk;
+ dma-coherent;
- dma-coherent;
+ status = "disabled";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
- port@0 {
- reg = <0>;
+ port@0 {
+ reg = <0>;
- usb_1_ss2_dwc3_hs: endpoint {
- };
+ usb_1_ss2_dwc3_hs: endpoint {
};
+ };
- port@1 {
- reg = <1>;
+ port@1 {
+ reg = <1>;
- usb_1_ss2_dwc3_ss: endpoint {
- remote-endpoint = <&usb_1_ss2_qmpphy_usb_ss_in>;
- };
+ usb_1_ss2_dwc3_ss: endpoint {
+ remote-endpoint = <&usb_1_ss2_qmpphy_usb_ss_in>;
};
};
};
};
- usb_2: usb@...8800 {
- compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
- reg = <0 0x0a2f8800 0 0x400>;
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
+ usb_2: usb@...0000 {
+ compatible = "qcom,x1e80100-dwc3", "qcom,snps-dwc3";
+ reg = <0 0x0a200000 0 0xfc100>;
clocks = <&gcc GCC_CFG_NOC_USB2_PRIM_AXI_CLK>,
<&gcc GCC_USB20_MASTER_CLK>,
@@ -4903,13 +4891,19 @@ usb_2: usb@...8800 {
<&gcc GCC_USB20_MASTER_CLK>;
assigned-clock-rates = <19200000>, <200000000>;
- interrupts-extended = <&intc GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts-extended = <&intc GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
+ <&intc GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 50 IRQ_TYPE_EDGE_BOTH>,
<&pdc 49 IRQ_TYPE_EDGE_BOTH>;
- interrupt-names = "pwr_event",
+ interrupt-names = "dwc_usb3",
+ "pwr_event",
"dp_hs_phy_irq",
"dm_hs_phy_irq";
+ iommus = <&apps_smmu 0x14e0 0x0>;
+ phys = <&usb_2_hsphy>;
+ phy-names = "usb2-phy";
+
power-domains = <&gcc GCC_USB20_PRIM_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
@@ -4924,38 +4918,30 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
wakeup-source;
- status = "disabled";
+ maximum-speed = "high-speed";
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
- usb_2_dwc3: usb@...0000 {
- compatible = "snps,dwc3";
- reg = <0 0x0a200000 0 0xcd00>;
- interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
- iommus = <&apps_smmu 0x14e0 0x0>;
- phys = <&usb_2_hsphy>;
- phy-names = "usb2-phy";
- maximum-speed = "high-speed";
- snps,dis-u1-entry-quirk;
- snps,dis-u2-entry-quirk;
+ dma-coherent;
- dma-coherent;
+ status = "disabled";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
- port@0 {
- reg = <0>;
+ port@0 {
+ reg = <0>;
- usb_2_dwc3_hs: endpoint {
- };
+ usb_2_dwc3_hs: endpoint {
};
};
};
};
- usb_mp: usb@...8800 {
- compatible = "qcom,x1e80100-dwc3-mp", "qcom,dwc3";
- reg = <0 0x0a4f8800 0 0x400>;
+ usb_mp: usb@...0000 {
+ compatible = "qcom,x1e80100-dwc3-mp", "qcom,snps-dwc3";
+ reg = <0 0x0a400000 0 0xfc100>;
clocks = <&gcc GCC_CFG_NOC_USB3_MP_AXI_CLK>,
<&gcc GCC_USB30_MP_MASTER_CLK>,
@@ -4981,7 +4967,8 @@ usb_mp: usb@...8800 {
assigned-clock-rates = <19200000>,
<200000000>;
- interrupts-extended = <&intc GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
+ <&intc GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
<&intc GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
<&intc GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
<&intc GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
@@ -4991,12 +4978,20 @@ usb_mp: usb@...8800 {
<&pdc 53 IRQ_TYPE_EDGE_BOTH>,
<&pdc 55 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 56 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event_1", "pwr_event_2",
+ interrupt-names = "dwc_usb3",
+ "pwr_event_1", "pwr_event_2",
"hs_phy_1", "hs_phy_2",
"dp_hs_phy_1", "dm_hs_phy_1",
"dp_hs_phy_2", "dm_hs_phy_2",
"ss_phy_1", "ss_phy_2";
+ iommus = <&apps_smmu 0x1400 0x0>;
+
+ phys = <&usb_mp_hsphy0>, <&usb_mp_qmpphy0>,
+ <&usb_mp_hsphy1>, <&usb_mp_qmpphy1>;
+ phy-names = "usb2-0", "usb3-0",
+ "usb2-1", "usb3-1";
+
power-domains = <&gcc GCC_USB30_MP_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
@@ -5011,39 +5006,23 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
wakeup-source;
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
-
- status = "disabled";
+ dr_mode = "host";
- usb_mp_dwc3: usb@...0000 {
- compatible = "snps,dwc3";
- reg = <0 0x0a400000 0 0xcd00>;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_enblslpm_quirk;
+ snps,usb3_lpm_capable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
- interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
-
- iommus = <&apps_smmu 0x1400 0x0>;
-
- phys = <&usb_mp_hsphy0>, <&usb_mp_qmpphy0>,
- <&usb_mp_hsphy1>, <&usb_mp_qmpphy1>;
- phy-names = "usb2-0", "usb3-0",
- "usb2-1", "usb3-1";
- dr_mode = "host";
+ dma-coherent;
- snps,dis_u2_susphy_quirk;
- snps,dis_enblslpm_quirk;
- snps,usb3_lpm_capable;
- snps,dis-u1-entry-quirk;
- snps,dis-u2-entry-quirk;
+ status = "disabled";
- dma-coherent;
- };
};
- usb_1_ss0: usb@...8800 {
- compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
- reg = <0 0x0a6f8800 0 0x400>;
+ usb_1_ss0: usb@...0000 {
+ compatible = "qcom,x1e80100-dwc3", "qcom,snps-dwc3";
+ reg = <0 0x0a600000 0 0xfc100>;
clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
<&gcc GCC_USB30_PRIM_MASTER_CLK>,
@@ -5069,74 +5048,65 @@ usb_1_ss0: usb@...8800 {
assigned-clock-rates = <19200000>,
<200000000>;
- interrupts-extended = <&intc GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts-extended = <&intc GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
+ <&intc GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 61 IRQ_TYPE_EDGE_BOTH>,
<&pdc 15 IRQ_TYPE_EDGE_BOTH>,
<&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event",
+ interrupt-names = "dwc_usb3",
+ "pwr_event",
"dp_hs_phy_irq",
"dm_hs_phy_irq",
"ss_phy_irq";
+ iommus = <&apps_smmu 0x1420 0x0>;
+
+ phys = <&usb_1_ss0_hsphy>,
+ <&usb_1_ss0_qmpphy QMP_USB43DP_USB3_PHY>;
+ phy-names = "usb2-phy",
+ "usb3-phy";
+
power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
resets = <&gcc GCC_USB30_PRIM_BCR>;
- wakeup-source;
-
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
-
- status = "disabled";
-
- usb_1_ss0_dwc3: usb@...0000 {
- compatible = "snps,dwc3";
- reg = <0 0x0a600000 0 0xcd00>;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_enblslpm_quirk;
+ snps,usb3_lpm_capable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
- interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
-
- iommus = <&apps_smmu 0x1420 0x0>;
-
- phys = <&usb_1_ss0_hsphy>,
- <&usb_1_ss0_qmpphy QMP_USB43DP_USB3_PHY>;
- phy-names = "usb2-phy",
- "usb3-phy";
+ dma-coherent;
- snps,dis_u2_susphy_quirk;
- snps,dis_enblslpm_quirk;
- snps,usb3_lpm_capable;
- snps,dis-u1-entry-quirk;
- snps,dis-u2-entry-quirk;
+ wakeup-source;
- dma-coherent;
+ status = "disabled";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
- port@0 {
- reg = <0>;
+ port@0 {
+ reg = <0>;
- usb_1_ss0_dwc3_hs: endpoint {
- };
+ usb_1_ss0_dwc3_hs: endpoint {
};
+ };
- port@1 {
- reg = <1>;
+ port@1 {
+ reg = <1>;
- usb_1_ss0_dwc3_ss: endpoint {
- remote-endpoint = <&usb_1_ss0_qmpphy_usb_ss_in>;
- };
+ usb_1_ss0_dwc3_ss: endpoint {
+ remote-endpoint = <&usb_1_ss0_qmpphy_usb_ss_in>;
};
};
};
};
- usb_1_ss1: usb@...8800 {
- compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
- reg = <0 0x0a8f8800 0 0x400>;
+ usb_1_ss1: usb@...0000 {
+ compatible = "qcom,x1e80100-dwc3", "qcom,snps-dwc3";
+ reg = <0 0x0a800000 0 0xfc100>;
clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
<&gcc GCC_USB30_SEC_MASTER_CLK>,
@@ -5162,15 +5132,24 @@ usb_1_ss1: usb@...8800 {
assigned-clock-rates = <19200000>,
<200000000>;
- interrupts-extended = <&intc GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts-extended = <&intc GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
+ <&intc GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 60 IRQ_TYPE_EDGE_BOTH>,
<&pdc 11 IRQ_TYPE_EDGE_BOTH>,
<&pdc 47 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event",
+ interrupt-names = "dwc_usb3",
+ "pwr_event",
"dp_hs_phy_irq",
"dm_hs_phy_irq",
"ss_phy_irq";
+ iommus = <&apps_smmu 0x1460 0x0>;
+
+ phys = <&usb_1_ss1_hsphy>,
+ <&usb_1_ss1_qmpphy QMP_USB43DP_USB3_PHY>;
+ phy-names = "usb2-phy",
+ "usb3-phy";
+
power-domains = <&gcc GCC_USB30_SEC_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
@@ -5183,52 +5162,34 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
interconnect-names = "usb-ddr",
"apps-usb";
- wakeup-source;
-
- #address-cells = <2>;
- #size-cells = <2>;
- ranges;
-
- status = "disabled";
-
- usb_1_ss1_dwc3: usb@...0000 {
- compatible = "snps,dwc3";
- reg = <0 0x0a800000 0 0xcd00>;
-
- interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_enblslpm_quirk;
+ snps,usb3_lpm_capable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
- iommus = <&apps_smmu 0x1460 0x0>;
-
- phys = <&usb_1_ss1_hsphy>,
- <&usb_1_ss1_qmpphy QMP_USB43DP_USB3_PHY>;
- phy-names = "usb2-phy",
- "usb3-phy";
+ dma-coherent;
- snps,dis_u2_susphy_quirk;
- snps,dis_enblslpm_quirk;
- snps,usb3_lpm_capable;
- snps,dis-u1-entry-quirk;
- snps,dis-u2-entry-quirk;
+ wakeup-source;
- dma-coherent;
+ status = "disabled";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
- port@0 {
- reg = <0>;
+ port@0 {
+ reg = <0>;
- usb_1_ss1_dwc3_hs: endpoint {
- };
+ usb_1_ss1_dwc3_hs: endpoint {
};
+ };
- port@1 {
- reg = <1>;
+ port@1 {
+ reg = <1>;
- usb_1_ss1_dwc3_ss: endpoint {
- remote-endpoint = <&usb_1_ss1_qmpphy_usb_ss_in>;
- };
+ usb_1_ss1_dwc3_ss: endpoint {
+ remote-endpoint = <&usb_1_ss1_qmpphy_usb_ss_in>;
};
};
};
diff --git a/arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dts b/arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dts
index 1ac46cdc4386..23f2a8a8a565 100644
--- a/arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dts
+++ b/arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dts
@@ -1504,11 +1504,9 @@ &usb_1_ss0_qmpphy {
};
&usb_1_ss0 {
- status = "okay";
-};
-
-&usb_1_ss0_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss0_dwc3_hs {
@@ -1536,11 +1534,9 @@ &usb_1_ss1_qmpphy {
};
&usb_1_ss1 {
- status = "okay";
-};
-
-&usb_1_ss1_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_1_ss1_dwc3_hs {
@@ -1552,14 +1548,12 @@ &usb_1_ss1_qmpphy_out {
};
&usb_1_ss2 {
- status = "okay";
-};
-
-&usb_1_ss2_dwc3 {
dr_mode = "host";
maximum-speed = "high-speed";
phys = <&usb_1_ss2_hsphy>;
phy-names = "usb2-phy";
+
+ status = "okay";
};
&usb_1_ss2_hsphy {
@@ -1572,11 +1566,9 @@ &usb_1_ss2_hsphy {
};
&usb_2 {
- status = "okay";
-};
-
-&usb_2_dwc3 {
dr_mode = "host";
+
+ status = "okay";
};
&usb_2_hsphy {
--
2.34.1
Powered by blists - more mailing lists