[PATCH v3 08/11] arm64: dts: qcom: sm6115-pro1x: Add PMI632 Type-C property

From: Dang Huynh
Date: Wed Jul 31 2024 - 02:21:26 EST


The USB-C port is used for powering external devices and transfer
data from/to them.

Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
Signed-off-by: Dang Huynh <danct12@xxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts | 51 +++++++++++++++++++++++--
1 file changed, 48 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts b/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts
index d28b870320c9..be77a8318800 100644
--- a/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts
+++ b/arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts
@@ -7,8 +7,10 @@

#include "sm6115.dtsi"
#include "pm6125.dtsi"
+#include "pmi632.dtsi"
#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/usb/pd.h>

/ {
model = "F(x)tec Pro1X (QX1050)";
@@ -209,6 +211,46 @@ vol_up_n: vol-up-n-state {
};
};

+&pmi632_typec {
+ status = "okay";
+
+ connector {
+ compatible = "usb-c-connector";
+
+ power-role = "dual";
+ data-role = "dual";
+ self-powered;
+
+ typec-power-opmode = "default";
+ pd-disable;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ pmi632_hs_in: endpoint {
+ remote-endpoint = <&usb_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ pmi632_ss_in: endpoint {
+ remote-endpoint = <&usb_qmpphy_out>;
+ };
+ };
+ };
+ };
+};
+
+&pmi632_vbus {
+ regulator-min-microamp = <500000>;
+ regulator-max-microamp = <1000000>;
+ status = "okay";
+};
+
&pon_pwrkey {
status = "okay";
};
@@ -455,9 +497,8 @@ &usb {
status = "okay";
};

-&usb_dwc3 {
- /delete-property/ usb-role-switch;
- dr_mode = "peripheral";
+&usb_dwc3_hs {
+ remote-endpoint = <&pmi632_hs_in>;
};

&usb_hsphy {
@@ -473,6 +514,10 @@ &usb_qmpphy {
status = "okay";
};

+&usb_qmpphy_out {
+ remote-endpoint = <&pmi632_ss_in>;
+};
+
&xo_board {
clock-frequency = <19200000>;
};

--
2.46.0