]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: sm8750-mtp: Enable USB headset and Type-C accessory mode
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Tue, 17 Mar 2026 17:08:21 +0000 (18:08 +0100)
committerBjorn Andersson <andersson@kernel.org>
Thu, 26 Mar 2026 14:40:39 +0000 (09:40 -0500)
MTP8750 does not have audio jack connected and relies on USB mux
(WCD9395).  Add necessary nodes for proper audio headset support along
with USB Type-C accessory mode and orientation.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260317-sm8750-display-dts-v5-3-fb53371e251c@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/sm8750-mtp.dts

index 050a85df7358d6fc7b363931389b7854483d5232..6107a4ed2c80addfc50753787e936eb1e6e22cd4 100644 (file)
                vdd-px-supply = <&vreg_l2i_1p2>;
 
                #sound-dai-cells = <1>;
+
+               mode-switch;
+               orientation-switch;
+
+               port {
+                       wcd_codec_headset_in: endpoint {
+                               remote-endpoint = <&wcd_usbss_headset_out>;
+                       };
+               };
        };
 
        chosen {
                                        reg = <2>;
 
                                        pmic_glink_sbu: endpoint {
+                                               remote-endpoint = <&wcd_usbss_sbu_mux>;
                                        };
                                };
                        };
        };
 };
 
+&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>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               wcd_usbss_headset_out: endpoint {
+                                       remote-endpoint = <&wcd_codec_headset_in>;
+                               };
+                       };
+               };
+       };
+};
+
 &iris {
        status = "okay";
 };
        status = "okay";
 };
 
+&qup_i2c3_data_clk {
+       /* Use internal I2C pull-up */
+       bias-pull-up = <2200>;
+};
+
 &qupv3_1 {
        status = "okay";
 };