lkml.org 
[lkml]   [2023]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH v2 1/2] arm64: dts: qcom: sm8650-qrd: add USB-C Altmode Support
    Add the necessary nodes to support the USB-C Altmode path by
    adding the following
    - WCD939x USBSS Mux I2C device
    - nb7vpq904m Redriver I2C device
    - Port/Endpoint graph links bettween PMIC-Glink, Mux, Redriver and USB PHY nodes.

    WCD939x USBSS port 2 Path to Codec will be added later when Audio support
    is added.

    Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
    ---
    arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 104 +++++++++++++++++++++++++++++++-
    1 file changed, 102 insertions(+), 2 deletions(-)

    diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
    index 592a67a47c78..a6f55191e107 100644
    --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
    +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
    @@ -77,9 +77,17 @@ port@1 {
    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 = <&wcd_usbss_sbu_mux>;
    + };
    + };
    };
    };
    };
    @@ -446,6 +454,70 @@ &gpi_dma1 {
    status = "okay";
    };

    +&i2c3 {
    + status = "okay";
    +
    + wcd_usbss: typec-mux@e {
    + compatible = "qcom,wcd9395-usbss", "qcom,wcd9390-usbss";
    + reg = <0xe>;
    +
    + vdd-supply = <&vreg_l15b_1p8>;
    + reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>;
    +
    + mode-switch;
    + orientation-switch;
    +
    + ports {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + port@0 {
    + reg = <0>;
    +
    + wcd_usbss_sbu_mux: endpoint {
    + remote-endpoint = <&pmic_glink_sbu>;
    + };
    + };
    + };
    + };
    +};
    +
    +&i2c6 {
    + status = "okay";
    +
    + typec-mux@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>;
    + };
    + };
    + };
    + };
    +};
    +
    &ipa {
    qcom,gsi-loader = "self";
    memory-region = <&ipa_fw_mem>;
    @@ -495,6 +567,15 @@ &mdss_dsi0_phy {
    status = "okay";
    };

    +&mdss_dp0 {
    + status = "okay";
    +};
    +
    +&mdss_dp0_out {
    + data-lanes = <0 1>;
    + remote-endpoint = <&usb_dp_qmpphy_dp_in>;
    +};
    +
    &mdss_mdp {
    status = "okay";
    };
    @@ -600,6 +681,11 @@ &pmk8550_rtc {
    status = "okay";
    };

    +&qup_i2c3_data_clk {
    + /* Use internal I2C pull-up */
    + bias-pull-up = <2200>;
    +};
    +
    &qupv3_id_0 {
    status = "okay";
    };
    @@ -787,7 +873,7 @@ &usb_1_dwc3_hs {
    };

    &usb_1_dwc3_ss {
    - remote-endpoint = <&pmic_glink_ss_in>;
    + remote-endpoint = <&usb_dp_qmpphy_usb_ss_in>;
    };

    &usb_1_hsphy {
    @@ -803,9 +889,23 @@ &usb_dp_qmpphy {
    vdda-phy-supply = <&vreg_l3i_1p2>;
    vdda-pll-supply = <&vreg_l3g_0p91>;

    + 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>;
    };
    --
    2.34.1


    \
     
     \ /
      Last update: 2023-12-19 13:23    [W:5.445 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site