arm64: dts: qcom: qrb2210-rb1: enable USB-C port handling
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 4 Mar 2024 09:26:11 +0000 (11:26 +0200)
committerBjorn Andersson <andersson@kernel.org>
Mon, 18 Mar 2024 03:41:08 +0000 (22:41 -0500)
Plug in USB-C related bits and pieces to enable USB role switching and
USB-C orientation handling for the Qualcomm RB1 board.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240304-pm4125-typec-v4-2-f3601a16f9ea@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qcm2290.dtsi
arch/arm64/boot/dts/qcom/qrb2210-rb1.dts

index 1aacad50e7fc9789ba6ae6906264431a9201f13c..8221336a82123940244719c1a83257bae544d696 100644 (file)
                        clock-output-names = "usb3_phy_pipe_clk_src";
 
                        #phy-cells = <0>;
+                       orientation-switch;
 
                        qcom,tcsr-reg = <&tcsr_regs 0xb244>;
 
                        status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       usb_qmpphy_out: endpoint {
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       usb_qmpphy_usb_ss_in: endpoint {
+                                               remote-endpoint = <&usb_dwc3_ss>;
+                                       };
+                               };
+                       };
                };
 
                system_noc: interconnect@1880000 {
                                snps,usb3_lpm_capable;
                                maximum-speed = "super-speed";
                                dr_mode = "otg";
+                               usb-role-switch;
+
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       port@0 {
+                                               reg = <0>;
+
+                                               usb_dwc3_hs: endpoint {
+                                               };
+                                       };
+
+                                       port@1 {
+                                               reg = <1>;
+
+                                               usb_dwc3_ss: endpoint {
+                                                       remote-endpoint = <&usb_qmpphy_usb_ss_in>;
+                                               };
+                                       };
+                               };
                        };
                };
 
index 6e9dd0312adc5d369136fedbbd6166f7a6f7390c..fca341300521ea1e273ea46dba0f38077aac7bc5 100644 (file)
        status = "okay";
 };
 
+&pm4125_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>;
+                               pm4125_hs_in: endpoint {
+                                       remote-endpoint = <&usb_dwc3_hs>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+                               pm4125_ss_in: endpoint {
+                                       remote-endpoint = <&usb_qmpphy_out>;
+                               };
+                       };
+               };
+       };
+};
+
+&pm4125_vbus {
+       regulator-min-microamp = <500000>;
+       regulator-max-microamp = <500000>;
+       status = "okay";
+};
+
 &qupv3_id_0 {
        status = "okay";
 };
        status = "okay";
 };
 
-&usb_qmpphy {
-       vdda-phy-supply = <&pm4125_l12>;
-       vdda-pll-supply = <&pm4125_l13>;
-       status = "okay";
-};
-
-&usb_dwc3 {
-       dr_mode = "host";
+&usb_dwc3_hs {
+       remote-endpoint = <&pm4125_hs_in>;
 };
 
 &usb_hsphy {
        status = "okay";
 };
 
+&usb_qmpphy {
+       vdda-phy-supply = <&pm4125_l12>;
+       vdda-pll-supply = <&pm4125_l13>;
+       status = "okay";
+};
+
+&usb_qmpphy_out {
+       remote-endpoint = <&pm4125_ss_in>;
+};
+
 &wifi {
        vdd-0.8-cx-mx-supply = <&pm4125_l7>;
        vdd-1.8-xo-supply = <&pm4125_l13>;