[PATCH] arm64: dts: qcom: shikra-cqs/cqm: Add Type-C support on primary controller
From: Krishna Kurapati
Date: Tue Aug 18 2026 - 05:14:09 EST
On Shikra CQS/CQM platforms, usb role switching and Type-C orientation
switching for primary usb controller is handled by PM4125. Enable the
PM4125 Typec node and add remote endpoints appropriately.
Co-developed-by: Rakesh Kota <rakesh.kota@xxxxxxxxxxxxxxxx>
Signed-off-by: Rakesh Kota <rakesh.kota@xxxxxxxxxxxxxxxx>
Signed-off-by: Krishna Kurapati <krishna.kurapati@xxxxxxxxxxxxxxxx>
---
This series has been rebased on top of (acked series):
https://lore.kernel.org/all/20260811-usb-shikra-v7-v7-0-753e928f37ae@xxxxxxxxxxxxxxxx/
---
arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts | 20 ++++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 41 ++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts | 20 ++++++++++++++
3 files changed, 81 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqm-evk.dts
index 3866ab8b0faa..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";
@@ -58,6 +66,14 @@ &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>;
@@ -73,6 +89,10 @@ &usb_qmpphy {
status = "okay";
};
+&usb_qmpphy_out {
+ remote-endpoint = <&pm4125_ss_in>;
+};
+
&usb_2_hsphy {
vdd-supply = <&pm4125_l12>;
vdda-pll-supply = <&pm4125_l13>;
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
index 8ac42ff625a0..7c4be6294162 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
@@ -89,6 +89,47 @@ &pm8005_regulators {
status = "disabled";
};
+&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";
+};
+
&rpm_requests {
regulators {
compatible = "qcom,rpm-pm2250-regulators";
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts b/arch/arm64/boot/dts/qcom/shikra-cqs-evk.dts
index 34568f1c7b63..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";
@@ -58,6 +66,14 @@ &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>;
@@ -73,6 +89,10 @@ &usb_qmpphy {
status = "okay";
};
+&usb_qmpphy_out {
+ remote-endpoint = <&pm4125_ss_in>;
+};
+
&usb_2_hsphy {
vdd-supply = <&pm4125_l12>;
vdda-pll-supply = <&pm4125_l13>;
---
base-commit: 72d06ed137fd7c3a6628577ff4c3bebc7932937e
change-id: 20260812-pm4125_typec_changes-270965b03486
prerequisite-message-id: <20260811-usb-shikra-v7-v7-0-753e928f37ae@xxxxxxxxxxxxxxxx>
prerequisite-patch-id: c6f8b2af575482db2b63bb1050f52b21a7879e0e
prerequisite-patch-id: b9197f0bff253726d4d5a1d4e0a5e1f193265e6b
Best regards,
--
Krishna Kurapati <krishna.kurapati@xxxxxxxxxxxxxxxx>