arm64: dts: qcom: sm8550-qrd: add pmic glink port/endpoints
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 19 Jun 2023 08:07:18 +0000 (10:07 +0200)
committerBjorn Andersson <andersson@kernel.org>
Mon, 31 Jul 2023 21:19:46 +0000 (14:19 -0700)
Add nodes to support Type-C USB/DP functionality.

On this platform, a Type-C redriver is added to the
SuperSpeed graph.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v5-6-9221cd300903@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm8550-qrd.dts

index 3bf4121..2c09ce8 100644 (file)
                                        reg = <1>;
 
                                        pmic_glink_ss_in: endpoint {
-                                               remote-endpoint = <&usb_1_dwc3_ss>;
+                                               remote-endpoint = <&redriver_ss_out>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+
+                                       pmic_glink_sbu: endpoint {
+                                               remote-endpoint = <&fsa4480_sbu_mux>;
                                        };
                                };
                        };
        };
 };
 
+&i2c_master_hub_0 {
+       status = "okay";
+};
+
+&i2c_hub_2 {
+       status = "okay";
+
+       typec-retimer@1c {
+               compatible = "onnn,nb7vpq904m";
+               reg = <0x1c>;
+
+               vcc-supply = <&vreg_l15b_1p8>;
+
+               retimer-switch;
+               orientation-switch;
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               redriver_ss_out: endpoint {
+                                       remote-endpoint = <&pmic_glink_ss_in>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               redriver_ss_in: endpoint {
+                                       data-lanes = <3 2 1 0>;
+                                       remote-endpoint = <&usb_dp_qmpphy_out>;
+                               };
+                       };
+               };
+       };
+
+       typec-mux@42 {
+               compatible = "fcs,fsa4480";
+               reg = <0x42>;
+
+               vcc-supply = <&vreg_bob1>;
+
+               mode-switch;
+               orientation-switch;
+
+               port {
+                       fsa4480_sbu_mux: endpoint {
+                               remote-endpoint = <&pmic_glink_sbu>;
+                       };
+               };
+       };
+};
+
 &gcc {
        clocks = <&bi_tcxo_div2>, <&sleep_clk>,
                 <&pcie0_phy>,
        status = "okay";
 };
 
+&mdss_dp0 {
+       status = "okay";
+};
+
+&mdss_dp0_out {
+       data-lanes = <0 1>;
+       remote-endpoint = <&usb_dp_qmpphy_dp_in>;
+};
+
 &pcie_1_phy_aux_clk {
        status = "disabled";
 };
 };
 
 &usb_1_dwc3_ss {
-       remote-endpoint = <&pmic_glink_ss_in>;
+       remote-endpoint = <&usb_dp_qmpphy_usb_ss_in>;
 };
 
 &usb_1_hsphy {
        vdda-phy-supply = <&vreg_l3e_1p2>;
        vdda-pll-supply = <&vreg_l3f_0p88>;
 
+       orientation-switch;
+
        status = "okay";
 };
 
+&usb_dp_qmpphy_dp_in {
+       remote-endpoint = <&mdss_dp0_out>;
+};
+
+&usb_dp_qmpphy_out {
+       remote-endpoint = <&redriver_ss_in>;
+};
+
+&usb_dp_qmpphy_usb_ss_in {
+       remote-endpoint = <&usb_1_dwc3_ss>;
+};
+
 &xo_board {
        clock-frequency = <76800000>;
 };