[PATCH v8 3/3] arm64: dts: qcom: shikra: Enable USB controllers and primary Type-C support
From: Komal Bajaj
Date: Fri Sep 11 2026 - 02:08:08 EST
From: Krishna Kurapati <krishna.kurapati@xxxxxxxxxxxxxxxx>
Enable USB controller nodes across Shikra platform device trees and add
primary Type-C controller wiring for CQM/CQS variants.
- Enable USB controller blocks for shikra-cqm-evk, shikra-cqs-evk
and shikra-iqs-evk
- Add Type-C support on the primary controller for CQM/CQS boards,
including role-switch and connector integration
Co-developed-by: Rakesh Kota <rakesh.kota@xxxxxxxxxxxxxxxx>
Signed-off-by: Rakesh Kota <rakesh.kota@xxxxxxxxxxxxxxxx>
Signed-off-by: Krishna Kurapati <krishna.kurapati@xxxxxxxxxxxxxxxx>
Signed-off-by: Komal Bajaj <komal.bajaj@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts | 43 ++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 41 ++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts | 43 ++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra-evk.dtsi | 12 ++++++++
arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts | 23 +++++++++++++++
5 files changed, 162 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
index b112b21b1d79..286ea46d0c36 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
@@ -23,6 +23,14 @@ chosen {
};
};
+&pm4125_hs_in {
+ remote-endpoint = <&usb_1_dwc3_hs>;
+};
+
+&pm4125_ss_in {
+ remote-endpoint = <&usb_qmpphy_out>;
+};
+
&remoteproc_cdsp {
firmware-name = "qcom/shikra/cdsp.mbn";
@@ -57,3 +65,38 @@ &sdhc_1 {
status = "okay";
};
+
+&usb_1 {
+ dr_mode = "otg";
+};
+
+&usb_1_dwc3_hs {
+ remote-endpoint = <&pm4125_hs_in>;
+};
+
+&usb_1_hsphy {
+ vdd-supply = <&pm4125_l12>;
+ vdda-pll-supply = <&pm4125_l13>;
+ vdda-phy-dpdm-supply = <&pm4125_l21>;
+
+ status = "okay";
+};
+
+&usb_qmpphy {
+ vdda-phy-supply = <&pm4125_l8>;
+ vdda-pll-supply = <&pm4125_l13>;
+
+ status = "okay";
+};
+
+&usb_qmpphy_out {
+ remote-endpoint = <&pm4125_ss_in>;
+};
+
+&usb_2_hsphy {
+ vdd-supply = <&pm4125_l12>;
+ vdda-pll-supply = <&pm4125_l13>;
+ vdda-phy-dpdm-supply = <&pm4125_l21>;
+
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
index fde7fc035bf5..541ba278bb2e 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
@@ -85,6 +85,47 @@ &pm4125_resin {
status = "okay";
};
+&pm4125_typec {
+ status = "okay";
+
+ connector {
+ compatible = "usb-c-connector";
+
+ power-role = "dual";
+ data-role = "dual";
+ self-powered;
+
+ vbus-supply = <&pm4125_vbus>;
+
+ typec-power-opmode = "default";
+ pd-disable;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ pm4125_hs_in: endpoint {
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ pm4125_ss_in: endpoint {
+ };
+ };
+ };
+ };
+};
+
+&pm4125_vbus {
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ status = "okay";
+};
+
&pm8005_regulators {
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
index e62ba5aef71f..01400612d147 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
@@ -23,6 +23,14 @@ chosen {
};
};
+&pm4125_hs_in {
+ remote-endpoint = <&usb_1_dwc3_hs>;
+};
+
+&pm4125_ss_in {
+ remote-endpoint = <&usb_qmpphy_out>;
+};
+
&remoteproc_cdsp {
firmware-name = "qcom/shikra/cdsp.mbn";
@@ -57,3 +65,38 @@ &sdhc_1 {
status = "okay";
};
+
+&usb_1 {
+ dr_mode = "otg";
+};
+
+&usb_1_dwc3_hs {
+ remote-endpoint = <&pm4125_hs_in>;
+};
+
+&usb_1_hsphy {
+ vdd-supply = <&pm4125_l12>;
+ vdda-pll-supply = <&pm4125_l13>;
+ vdda-phy-dpdm-supply = <&pm4125_l21>;
+
+ status = "okay";
+};
+
+&usb_qmpphy {
+ vdda-phy-supply = <&pm4125_l8>;
+ vdda-pll-supply = <&pm4125_l13>;
+
+ status = "okay";
+};
+
+&usb_qmpphy_out {
+ remote-endpoint = <&pm4125_ss_in>;
+};
+
+&usb_2_hsphy {
+ vdd-supply = <&pm4125_l12>;
+ vdda-pll-supply = <&pm4125_l13>;
+ vdda-phy-dpdm-supply = <&pm4125_l21>;
+
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
index 4b9452d9e93f..7cdbd257e9c9 100644
--- a/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-evk.dtsi
@@ -20,3 +20,15 @@ &qupv3_0 {
&uart0 {
status = "okay";
};
+
+&usb_1 {
+ dr_mode = "peripheral";
+
+ status = "okay";
+};
+
+&usb_2 {
+ dr_mode = "peripheral";
+
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
index 727809430fd1..543d769125ef 100644
--- a/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
+++ b/arch/arm64/boot/dts/qcom/shikra-iqs-evk.dts
@@ -57,3 +57,26 @@ &sdhc_1 {
status = "okay";
};
+
+&usb_1_hsphy {
+ vdd-supply = <&pm8150_l4>;
+ vdda-pll-supply = <&pm8150_l12>;
+ vdda-phy-dpdm-supply = <&pm8150_l13>;
+
+ status = "okay";
+};
+
+&usb_qmpphy {
+ vdda-phy-supply = <&pm8150_l6>;
+ vdda-pll-supply = <&pm8150_l12>;
+
+ status = "okay";
+};
+
+&usb_2_hsphy {
+ vdd-supply = <&pm8150_l4>;
+ vdda-pll-supply = <&pm8150_l12>;
+ vdda-phy-dpdm-supply = <&pm8150_l13>;
+
+ status = "okay";
+};
--
2.34.1