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

Signed-off-by: Dang Huynh <danc...@riseup.net>
---
 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 6e9e4d9f8250..88df28fc8c7e 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)";
@@ -181,6 +183,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";
 };
@@ -426,9 +468,8 @@ &usb {
        status = "okay";
 };
 
-&usb_dwc3 {
-       /delete-property/ usb-role-switch;
-       dr_mode = "peripheral";
+&usb_dwc3_hs {
+       remote-endpoint = <&pmi632_hs_in>;
 };
 
 &usb_hsphy {
@@ -444,6 +485,10 @@ &usb_qmpphy {
        status = "okay";
 };
 
+&usb_qmpphy_out {
+       remote-endpoint = <&pmi632_ss_in>;
+};
+
 &xo_board {
        clock-frequency = <19200000>;
 };

-- 
2.45.2


Reply via email to