arm64: dts: qcom: sm8550-qrd: add USB OTG
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tue, 16 May 2023 13:30:11 +0000 (15:30 +0200)
committerBjorn Andersson <andersson@kernel.org>
Tue, 23 May 2023 13:24:07 +0000 (06:24 -0700)
Add missing parts of USB stack to enable USB OTG mode.  The QRD8550
comes with one USB Type-C port.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230516133011.108093-2-krzysztof.kozlowski@linaro.org
arch/arm64/boot/dts/qcom/sm8550-qrd.dts

index 88f27a6..82cda2f 100644 (file)
                stdout-path = "serial0:115200n8";
        };
 
+       pmic-glink {
+               compatible = "qcom,sm8550-pmic-glink", "qcom,pmic-glink";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               connector@0 {
+                       compatible = "usb-c-connector";
+                       reg = <0>;
+                       power-role = "dual";
+                       data-role = "dual";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       pmic_glink_hs_in: endpoint {
+                                               remote-endpoint = <&usb_1_dwc3_hs>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       pmic_glink_ss_in: endpoint {
+                                               remote-endpoint = <&usb_1_dwc3_ss>;
+                                       };
+                               };
+                       };
+               };
+       };
+
        vph_pwr: vph-pwr-regulator {
                compatible = "regulator-fixed";
                regulator-name = "vph_pwr";
        status = "okay";
 };
 
+&pm8550b_eusb2_repeater {
+       vdd18-supply = <&vreg_l15b_1p8>;
+       vdd3-supply = <&vreg_l5b_3p1>;
+};
+
 &qupv3_id_0 {
        status = "okay";
 };
 };
 
 &usb_1_dwc3 {
-       dr_mode = "peripheral";
+       dr_mode = "otg";
+       usb-role-switch;
+};
+
+&usb_1_dwc3_hs {
+       remote-endpoint = <&pmic_glink_hs_in>;
+};
+
+&usb_1_dwc3_ss {
+       remote-endpoint = <&pmic_glink_ss_in>;
 };
 
 &usb_1_hsphy {
        vdd-supply = <&vreg_l1e_0p88>;
        vdda12-supply = <&vreg_l3e_1p2>;
 
+       phys = <&pm8550b_eusb2_repeater>;
+
        status = "okay";
 };