Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +4 −4 Original line number Diff line number Diff line Loading @@ -2256,8 +2256,8 @@ Optional properties: - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target - qcom,msm-mbhc-usbc-audio-supported : Property to specify if analog audio feature is enabled or not. - qcom,usbc-analog-en1_gpio : EN1 GPIO to enable USB type-C analog audio - qcom,usbc-analog-en2_n_gpio : EN2 GPIO to enable USB type-C analog audio - qcom,usbc-analog-en1-gpio : EN1 GPIO to enable USB type-C analog audio - qcom,usbc-analog-en2-gpio : EN2 GPIO to enable USB type-C analog audio - qcom,usbc-analog-force_detect_gpio : Force detect GPIO to enable USB type-C analog audio Example: Loading Loading @@ -2333,8 +2333,8 @@ Example: qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", "SpkrRight", "SpkrLeft"; qcom,msm-mbhc-usbc-audio-supported = <1>; qcom,usbc-analog-en1_gpio = <&wcd_usbc_analog_en1_gpio>; qcom,usbc-analog-en2_n_gpio = <&wcd_usbc_analog_en2n_gpio>; qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>; qcom,usbc-analog-en2-gpio = <&tlmm 51 0>; qcom,usbc-analog-force_detect_gpio = <&wcd_usbc_analog_f_gpio>; }; Loading arch/arm64/boot/dts/qcom/sdm845-audio.dtsi +15 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ qcom,hph-en0-gpio = <&tavil_hph_en0>; qcom,hph-en1-gpio = <&tavil_hph_en1>; qcom,tavil-mclk-clk-freq = <9600000>; qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&compr>, Loading Loading @@ -136,6 +139,18 @@ <&wsa881x_0213>, <&wsa881x_0214>; qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", "SpkrLeft", "SpkrRight"; qcom,usbc-analog-en2-gpio = <&tlmm 51 0>; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&wcd_usbc_analog_en2_active>; pinctrl-1 = <&wcd_usbc_analog_en2_idle>; }; wcd_usbc_analog_en1_gpio: msm_cdc_pinctrl@49 { compatible = "qcom,msm-cdc-pinctrl"; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&wcd_usbc_analog_en1_active>; pinctrl-1 = <&wcd_usbc_analog_en1_idle>; }; wcd9xxx_intc: wcd9xxx-irq { Loading arch/arm64/boot/dts/qcom/sdm845-pinctrl.dtsi +57 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,63 @@ }; }; /* USB C analog configuration */ wcd_usbc_analog_en1 { wcd_usbc_analog_en1_idle: wcd_usbc_ana_en1_idle { mux { pins = "gpio49"; function = "gpio"; }; config { pins = "gpio49"; drive-strength = <2>; bias-pull-down; output-low; }; }; wcd_usbc_analog_en1_active: wcd_usbc_ana_en1_active { mux { pins = "gpio49"; function = "gpio"; }; config { pins = "gpio49"; drive-strength = <2>; bias-disable; output-high; }; }; }; wcd_usbc_analog_en2 { wcd_usbc_analog_en2_idle: wcd_usbc_ana_en2_idle { mux { pins = "gpio51"; function = "gpio"; }; config { pins = "gpio51"; drive-strength = <2>; bias-pull-down; output-low; }; }; wcd_usbc_analog_en2_active: wcd_usbc_ana_en2_active { mux { pins = "gpio51"; function = "gpio"; }; config { pins = "gpio51"; drive-strength = <2>; bias-disable; output-high; }; }; }; pri_aux_pcm_clk { pri_aux_pcm_clk_sleep: pri_aux_pcm_clk_sleep { mux { Loading arch/arm64/boot/dts/qcom/sdm845-qrd.dtsi +35 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,41 @@ qcom,wsa-max-devs = <1>; qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0213>; qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrRight"; qcom,msm-mbhc-usbc-audio-supported = <1>; qcom,usbc-analog-en2-gpio = <&tlmm 51 0>; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&wcd_usbc_analog_en2_active>; pinctrl-1 = <&wcd_usbc_analog_en2_idle>; }; }; &wcd934x_cdc { wcd: wcd_pinctrl@5 { us_euro_sw_wcd_active: us_euro_sw_wcd_active { mux { pins = "gpio1"; }; config { pins = "gpio1"; /delete-property/ output-high; bias-high-impedance; }; }; us_euro_sw_wcd_sleep: us_euro_sw_wcd_sleep { mux { pins = "gpio1"; }; config { pins = "gpio1"; /delete-property/ output-low; bias-high-impedance; }; }; }; }; Loading sound/soc/codecs/wcd-mbhc-adc.c +2 −1 Original line number Diff line number Diff line Loading @@ -729,7 +729,8 @@ static void wcd_correct_swch_plug(struct work_struct *work) * otherwise report unsupported plug */ if (mbhc->mbhc_cfg->swap_gnd_mic && mbhc->mbhc_cfg->swap_gnd_mic(codec)) { mbhc->mbhc_cfg->swap_gnd_mic(codec, true)) { pr_debug("%s: US_EU gpio present,flip switch\n" , __func__); continue; Loading Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +4 −4 Original line number Diff line number Diff line Loading @@ -2256,8 +2256,8 @@ Optional properties: - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target - qcom,msm-mbhc-usbc-audio-supported : Property to specify if analog audio feature is enabled or not. - qcom,usbc-analog-en1_gpio : EN1 GPIO to enable USB type-C analog audio - qcom,usbc-analog-en2_n_gpio : EN2 GPIO to enable USB type-C analog audio - qcom,usbc-analog-en1-gpio : EN1 GPIO to enable USB type-C analog audio - qcom,usbc-analog-en2-gpio : EN2 GPIO to enable USB type-C analog audio - qcom,usbc-analog-force_detect_gpio : Force detect GPIO to enable USB type-C analog audio Example: Loading Loading @@ -2333,8 +2333,8 @@ Example: qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft", "SpkrRight", "SpkrLeft"; qcom,msm-mbhc-usbc-audio-supported = <1>; qcom,usbc-analog-en1_gpio = <&wcd_usbc_analog_en1_gpio>; qcom,usbc-analog-en2_n_gpio = <&wcd_usbc_analog_en2n_gpio>; qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>; qcom,usbc-analog-en2-gpio = <&tlmm 51 0>; qcom,usbc-analog-force_detect_gpio = <&wcd_usbc_analog_f_gpio>; }; Loading
arch/arm64/boot/dts/qcom/sdm845-audio.dtsi +15 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,9 @@ qcom,hph-en0-gpio = <&tavil_hph_en0>; qcom,hph-en1-gpio = <&tavil_hph_en1>; qcom,tavil-mclk-clk-freq = <9600000>; qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&compr>, Loading Loading @@ -136,6 +139,18 @@ <&wsa881x_0213>, <&wsa881x_0214>; qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", "SpkrLeft", "SpkrRight"; qcom,usbc-analog-en2-gpio = <&tlmm 51 0>; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&wcd_usbc_analog_en2_active>; pinctrl-1 = <&wcd_usbc_analog_en2_idle>; }; wcd_usbc_analog_en1_gpio: msm_cdc_pinctrl@49 { compatible = "qcom,msm-cdc-pinctrl"; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&wcd_usbc_analog_en1_active>; pinctrl-1 = <&wcd_usbc_analog_en1_idle>; }; wcd9xxx_intc: wcd9xxx-irq { Loading
arch/arm64/boot/dts/qcom/sdm845-pinctrl.dtsi +57 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,63 @@ }; }; /* USB C analog configuration */ wcd_usbc_analog_en1 { wcd_usbc_analog_en1_idle: wcd_usbc_ana_en1_idle { mux { pins = "gpio49"; function = "gpio"; }; config { pins = "gpio49"; drive-strength = <2>; bias-pull-down; output-low; }; }; wcd_usbc_analog_en1_active: wcd_usbc_ana_en1_active { mux { pins = "gpio49"; function = "gpio"; }; config { pins = "gpio49"; drive-strength = <2>; bias-disable; output-high; }; }; }; wcd_usbc_analog_en2 { wcd_usbc_analog_en2_idle: wcd_usbc_ana_en2_idle { mux { pins = "gpio51"; function = "gpio"; }; config { pins = "gpio51"; drive-strength = <2>; bias-pull-down; output-low; }; }; wcd_usbc_analog_en2_active: wcd_usbc_ana_en2_active { mux { pins = "gpio51"; function = "gpio"; }; config { pins = "gpio51"; drive-strength = <2>; bias-disable; output-high; }; }; }; pri_aux_pcm_clk { pri_aux_pcm_clk_sleep: pri_aux_pcm_clk_sleep { mux { Loading
arch/arm64/boot/dts/qcom/sdm845-qrd.dtsi +35 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,41 @@ qcom,wsa-max-devs = <1>; qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0213>; qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrRight"; qcom,msm-mbhc-usbc-audio-supported = <1>; qcom,usbc-analog-en2-gpio = <&tlmm 51 0>; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&wcd_usbc_analog_en2_active>; pinctrl-1 = <&wcd_usbc_analog_en2_idle>; }; }; &wcd934x_cdc { wcd: wcd_pinctrl@5 { us_euro_sw_wcd_active: us_euro_sw_wcd_active { mux { pins = "gpio1"; }; config { pins = "gpio1"; /delete-property/ output-high; bias-high-impedance; }; }; us_euro_sw_wcd_sleep: us_euro_sw_wcd_sleep { mux { pins = "gpio1"; }; config { pins = "gpio1"; /delete-property/ output-low; bias-high-impedance; }; }; }; }; Loading
sound/soc/codecs/wcd-mbhc-adc.c +2 −1 Original line number Diff line number Diff line Loading @@ -729,7 +729,8 @@ static void wcd_correct_swch_plug(struct work_struct *work) * otherwise report unsupported plug */ if (mbhc->mbhc_cfg->swap_gnd_mic && mbhc->mbhc_cfg->swap_gnd_mic(codec)) { mbhc->mbhc_cfg->swap_gnd_mic(codec, true)) { pr_debug("%s: US_EU gpio present,flip switch\n" , __func__); continue; Loading