diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2017-01-18 23:48:42 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-18 23:48:42 -0800 |
commit | 08478123a6205eb3fe59c6aca02e64756ee4cd2b (patch) | |
tree | 528f5cee30e06d3ce84ccfa16a7e0329daa7551c /arch/arm | |
parent | 69427c91f4c6a5f77d0360da09cb4788f45adbdd (diff) | |
parent | 71fb9c8efa5bb4dde74b7ea6de17d6b010fef9a6 (diff) |
Merge "ARM: dts: msm: Audio bringup fixes for SDM660"
Diffstat (limited to 'arch/arm')
18 files changed, 254 insertions, 486 deletions
diff --git a/arch/arm/boot/dts/qcom/msm-audio.dtsi b/arch/arm/boot/dts/qcom/msm-audio.dtsi index 46f66d667fb8..e4903a821bc1 100644 --- a/arch/arm/boot/dts/qcom/msm-audio.dtsi +++ b/arch/arm/boot/dts/qcom/msm-audio.dtsi @@ -928,10 +928,11 @@ }; clock_audio: audio_ext_clk { + status = "disabled"; compatible = "qcom,audio-ref-clk"; qcom,audio-ref-clk-gpio = <&pm660_gpios 3 0>; clock-names = "osr_clk"; - clocks = <&clock_rpmcc AUDIO_PMI_CLK>; + clocks = <&clock_rpmcc RPM_DIV_CLK1>; qcom,node_has_rpm_clock; #clock-cells = <1>; pinctrl-names = "sleep", "active"; @@ -942,18 +943,16 @@ clock_audio_lnbb: audio_ext_clk_lnbb { compatible = "qcom,audio-ref-clk"; clock-names = "osr_clk"; - clocks = <&clock_rpmcc AUDIO_PMIC_LNBB_CLK>; + clocks = <&clock_rpmcc RPM_LN_BB_CLK2>; qcom,node_has_rpm_clock; #clock-cells = <1>; }; wcd_rst_gpio: msm_cdc_pinctrl@64 { compatible = "qcom,msm-cdc-pinctrl"; - qcom,cdc-rst-n-gpio = <&lpi_tlmm 24 0>; pinctrl-names = "aud_active", "aud_sleep"; pinctrl-0 = <&lpi_cdc_reset_active>; pinctrl-1 = <&lpi_cdc_reset_sleep>; + qcom,lpi-gpios; }; - }; - diff --git a/arch/arm/boot/dts/qcom/msm8998-interposer-sdm660-audio.dtsi b/arch/arm/boot/dts/qcom/msm8998-interposer-sdm660-audio.dtsi index c117bdbf5578..f5ab8078ec13 100644 --- a/arch/arm/boot/dts/qcom/msm8998-interposer-sdm660-audio.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-interposer-sdm660-audio.dtsi @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -20,6 +20,7 @@ &soc { /delete-node/msm-sdw-codec@152c1000; /delete-node/sound; + /delete-node/sdw_clk_data_pinctrl; }; &slim_aud { diff --git a/arch/arm/boot/dts/qcom/sdm660-audio.dtsi b/arch/arm/boot/dts/qcom/sdm660-audio.dtsi index 13ee40c71228..766642dced6a 100644 --- a/arch/arm/boot/dts/qcom/sdm660-audio.dtsi +++ b/arch/arm/boot/dts/qcom/sdm660-audio.dtsi @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -103,14 +103,20 @@ compatible = "qcom,pmic-analog-codec"; reg = <0xf000 0x200>; interrupt-parent = <&spmi_bus>; - interrupts = <0x1 0xf0 0x0>, - <0x1 0xf0 0x1>, - <0x1 0xf0 0x2>, - <0x1 0xf0 0x3>, - <0x1 0xf0 0x4>, - <0x1 0xf0 0x5>, - <0x1 0xf0 0x6>, - <0x1 0xf0 0x7>; + interrupts = <0x3 0xf0 0x0 IRQ_TYPE_NONE>, + <0x3 0xf0 0x1 IRQ_TYPE_NONE>, + <0x3 0xf0 0x2 IRQ_TYPE_NONE>, + <0x3 0xf0 0x3 IRQ_TYPE_NONE>, + <0x3 0xf0 0x4 IRQ_TYPE_NONE>, + <0x3 0xf0 0x5 IRQ_TYPE_NONE>, + <0x3 0xf0 0x6 IRQ_TYPE_NONE>, + <0x3 0xf0 0x7 IRQ_TYPE_NONE>, + <0x3 0xf1 0x0 IRQ_TYPE_NONE>, + <0x3 0xf1 0x1 IRQ_TYPE_NONE>, + <0x3 0xf1 0x2 IRQ_TYPE_NONE>, + <0x3 0xf1 0x3 IRQ_TYPE_NONE>, + <0x3 0xf1 0x4 IRQ_TYPE_NONE>, + <0x3 0xf1 0x5 IRQ_TYPE_NONE>; interrupt-names = "spk_cnp_int", "spk_clip_int", "spk_ocp_int", @@ -118,7 +124,14 @@ "but_rel_det", "but_press_det", "ins_rem_det", - "mbhc_int"; + "mbhc_int", + "ear_ocp_int", + "hphr_ocp_int", + "hphl_ocp_det", + "ear_cnp_int", + "hphr_cnp_int", + "hphl_cnp_int"; + cdc-vdda-cp-supply = <&pm660_s4>; qcom,cdc-vdda-cp-voltage = <1900000 2050000>; @@ -129,7 +142,7 @@ qcom,cdc-vdd-pa-current = <260000>; cdc-vdd-mic-bias-supply = <&pm660l_l7>; - qcom,cdc-vdd-mic-bias-voltage = <3125000 3125000>; + qcom,cdc-vdd-mic-bias-voltage = <3088000 3088000>; qcom,cdc-vdd-mic-bias-current = <5000>; qcom,cdc-mclk-clk-rate = <9600000>; @@ -139,21 +152,6 @@ qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias"; - cdc_pdm_gpios: cdc_pdm_pinctrl { - compatible = "qcom,msm-cdc-pinctrl"; - pinctrl-names = "aud_active", "aud_sleep"; - pinctrl-0 = <&cdc_pdm_gpios_active>; - pinctrl-1 = <&cdc_pdm_gpios_sleep>; - qcom,lpi-gpios; - }; - - cdc_comp_gpios: cdc_comp_pinctrl { - compatible = "qcom,msm-cdc-pinctrl"; - pinctrl-names = "aud_active", "aud_sleep"; - pinctrl-0 = <&cdc_comp_gpios_active>; - pinctrl-1 = <&cdc_comp_gpios_sleep>; - qcom,lpi-gpios; - }; /* * Not marking address @ as driver searches this child * with name msm-dig-codec @@ -161,20 +159,58 @@ msm_digital_codec: msm-dig-codec { compatible = "qcom,msm-digital-codec"; reg = <0x152c0000 0x0>; - cdc_dmic_gpios: cdc_dmic_pinctrl { - compatible = "qcom,msm-cdc-pinctrl"; - pinctrl-names = "aud_active", "aud_sleep"; - pinctrl-0 = <&cdc_dmic12_gpios_active - &cdc_dmic34_gpios_active>; - pinctrl-1 = <&cdc_dmic12_gpios_sleep - &cdc_dmic34_gpios_sleep>; - qcom,lpi-gpios; - }; }; }; }; &soc { + cdc_pdm_gpios: cdc_pdm_pinctrl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&cdc_pdm_gpios_active>; + pinctrl-1 = <&cdc_pdm_gpios_sleep>; + qcom,lpi-gpios; + }; + + cdc_comp_gpios: cdc_comp_pinctrl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&cdc_comp_gpios_active>; + pinctrl-1 = <&cdc_comp_gpios_sleep>; + qcom,lpi-gpios; + }; + + cdc_dmic_gpios: cdc_dmic_pinctrl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&cdc_dmic12_gpios_active + &cdc_dmic34_gpios_active>; + pinctrl-1 = <&cdc_dmic12_gpios_sleep + &cdc_dmic34_gpios_sleep>; + qcom,lpi-gpios; + }; + + cdc_sdw_gpios: sdw_clk_data_pinctrl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&sdw_clk_active &sdw_data_active>; + pinctrl-1 = <&sdw_clk_sleep &sdw_data_sleep>; + }; + + wsa_spkr_en1: wsa_spkr_en1_pinctrl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&spkr_1_sd_n_active>; + pinctrl-1 = <&spkr_1_sd_n_sleep>; + }; + + wsa_spkr_en2: wsa_spkr_en2_pinctrl { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&spkr_2_sd_n_active>; + pinctrl-1 = <&spkr_2_sd_n_sleep>; + }; + msm_sdw_codec: msm-sdw-codec@152c1000 { status = "disabled"; compatible = "qcom,msm-sdw-codec"; @@ -182,27 +218,6 @@ interrupts = <0 161 0>; interrupt-names = "swr_master_irq"; - cdc_sdw_gpios: sdw_clk_data_pinctrl { - compatible = "qcom,msm-cdc-pinctrl"; - pinctrl-names = "aud_active", "aud_sleep"; - pinctrl-0 = <&sdw_clk_active &sdw_data_active>; - pinctrl-1 = <&sdw_clk_sleep &sdw_data_sleep>; - }; - - wsa_spkr_en1: wsa_spkr_en1_pinctrl { - compatible = "qcom,msm-cdc-pinctrl"; - pinctrl-names = "aud_active", "aud_sleep"; - pinctrl-0 = <&spkr_1_sd_n_active>; - pinctrl-1 = <&spkr_1_sd_n_sleep>; - }; - - wsa_spkr_en2: wsa_spkr_en2_pinctrl { - compatible = "qcom,msm-cdc-pinctrl"; - pinctrl-names = "aud_active", "aud_sleep"; - pinctrl-0 = <&spkr_2_sd_n_active>; - pinctrl-1 = <&spkr_2_sd_n_sleep>; - }; - swr_master { compatible = "qcom,swr-wcd"; #address-cells = <2>; diff --git a/arch/arm/boot/dts/qcom/sdm660-cdp.dts b/arch/arm/boot/dts/qcom/sdm660-cdp.dts index 0a226fad698e..7b4b68af6188 100644 --- a/arch/arm/boot/dts/qcom/sdm660-cdp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-cdp.dts @@ -15,6 +15,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" +#include "sdm660-external-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L CDP"; diff --git a/arch/arm/boot/dts/qcom/sdm660-external-codec.dtsi b/arch/arm/boot/dts/qcom/sdm660-external-codec.dtsi new file mode 100644 index 000000000000..1cea52f2b0dd --- /dev/null +++ b/arch/arm/boot/dts/qcom/sdm660-external-codec.dtsi @@ -0,0 +1,35 @@ +/* Copyright (c) 2017, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +&cdc_pdm_gpios { + status = "disabled"; +}; + +&cdc_comp_gpios { + status = "disabled"; +}; + +&cdc_dmic_gpios { + status = "disabled"; +}; + +&cdc_sdw_gpios { + status = "disabled"; +}; + +&wsa_spkr_en1 { + status = "disabled"; +}; + +&wsa_spkr_en2 { + status = "disabled"; +}; diff --git a/arch/arm/boot/dts/qcom/sdm660-internal-codec-cdp.dts b/arch/arm/boot/dts/qcom/sdm660-internal-codec-cdp.dts index 6272e7eefe2f..c5d4504fd97e 100644 --- a/arch/arm/boot/dts/qcom/sdm660-internal-codec-cdp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-internal-codec-cdp.dts @@ -15,6 +15,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" +#include "sdm660-internal-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L Int. Audio Codec CDP"; @@ -24,74 +25,8 @@ <0x0001001b 0x0201011a 0x0 0x0>; }; -&slim_aud { - status = "disabled"; -}; - -&dai_slim { - status = "disabled"; -}; - -&wcd9335 { - status = "disabled"; -}; - -&wcd934x_cdc { - status = "disabled"; -}; - -&clock_audio { - status = "disabled"; -}; - -&wcd_rst_gpio { - status = "disabled"; -}; - -&wcd9xxx_intc { - status = "disabled"; -}; - -&tasha_snd { - status = "disabled"; -}; - -&tavil_snd { - status = "disabled"; -}; - -&spi_7 { - status = "disabled"; -}; - -&wdsp_mgr { - status = "disabled"; -}; - -&wdsp_glink { - status = "disabled"; -}; - -&glink_spi_xprt_wdsp { - status = "disabled"; -}; - -&glink_fifo_wdsp { - status = "disabled"; -}; - -&glink_qos_wdsp { - status = "disabled"; -}; - &int_codec { status = "okay"; -}; - -&pmic_analog_codec { - status = "okay"; -}; - -&msm_sdw_codec { - status = "okay"; + qcom,msm-hs-micbias-type = "internal"; + qcom,msm-micbias2-ext-cap; }; diff --git a/arch/arm/boot/dts/qcom/sdm660-internal-codec-mtp.dts b/arch/arm/boot/dts/qcom/sdm660-internal-codec-mtp.dts index beedbe5676b1..9d5453240ef9 100644 --- a/arch/arm/boot/dts/qcom/sdm660-internal-codec-mtp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-internal-codec-mtp.dts @@ -15,6 +15,7 @@ #include "sdm660.dtsi" #include "sdm660-mtp.dtsi" +#include "sdm660-internal-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L Int. Audio Codec MTP"; @@ -24,75 +25,7 @@ <0x0001001b 0x0201011a 0x0 0x0>; }; -&slim_aud { - status = "disabled"; -}; - -&dai_slim { - status = "disabled"; -}; - -&wcd9335 { - status = "disabled"; -}; - -&wcd934x_cdc { - status = "disabled"; -}; - -&clock_audio { - status = "disabled"; -}; - -&wcd_rst_gpio { - status = "disabled"; -}; - -&wcd9xxx_intc { - status = "disabled"; -}; - -&tasha_snd { - status = "disabled"; -}; - -&tavil_snd { - status = "disabled"; -}; - -&spi_7 { - status = "disabled"; -}; - -&wdsp_mgr { - status = "disabled"; -}; - -&wdsp_glink { - status = "disabled"; -}; - -&glink_spi_xprt_wdsp { - status = "disabled"; -}; - -&glink_fifo_wdsp { - status = "disabled"; -}; - -&glink_qos_wdsp { - status = "disabled"; -}; - &int_codec { qcom,model = "sdm660-snd-card-mtp"; status = "okay"; }; - -&pmic_analog_codec { - status = "okay"; -}; - -&msm_sdw_codec { - status = "okay"; -}; diff --git a/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-cdp.dts b/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-cdp.dts index ec318a59561c..6990c299d4e2 100644 --- a/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-cdp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-cdp.dts @@ -16,6 +16,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" #include "msm-pm660a.dtsi" +#include "sdm660-internal-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A Int. Audio Codec CDP"; @@ -24,74 +25,8 @@ qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>; }; -&slim_aud { - status = "disabled"; -}; - -&dai_slim { - status = "disabled"; -}; - -&wcd9335 { - status = "disabled"; -}; - -&wcd934x_cdc { - status = "disabled"; -}; - -&clock_audio { - status = "disabled"; -}; - -&wcd_rst_gpio { - status = "disabled"; -}; - -&wcd9xxx_intc { - status = "disabled"; -}; - -&tasha_snd { - status = "disabled"; -}; - -&tavil_snd { - status = "disabled"; -}; - -&spi_7 { - status = "disabled"; -}; - -&wdsp_mgr { - status = "disabled"; -}; - -&wdsp_glink { - status = "disabled"; -}; - -&glink_spi_xprt_wdsp { - status = "disabled"; -}; - -&glink_fifo_wdsp { - status = "disabled"; -}; - -&glink_qos_wdsp { - status = "disabled"; -}; - &int_codec { status = "okay"; -}; - -&pmic_analog_codec { - status = "okay"; -}; - -&msm_sdw_codec { - status = "okay"; + qcom,msm-hs-micbias-type = "internal"; + qcom,msm-micbias2-ext-cap; }; diff --git a/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-mtp.dts b/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-mtp.dts index 4f4003220baf..d2ae22879ef4 100644 --- a/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-mtp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-mtp.dts @@ -16,6 +16,7 @@ #include "sdm660.dtsi" #include "sdm660-mtp.dtsi" #include "msm-pm660a.dtsi" +#include "sdm660-internal-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A Int. Audio Codec MTP"; @@ -24,74 +25,7 @@ qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>; }; -&slim_aud { - status = "disabled"; -}; - -&dai_slim { - status = "disabled"; -}; - -&wcd9335 { - status = "disabled"; -}; - -&wcd934x_cdc { - status = "disabled"; -}; - -&clock_audio { - status = "disabled"; -}; - -&wcd_rst_gpio { - status = "disabled"; -}; - -&wcd9xxx_intc { - status = "disabled"; -}; - -&tasha_snd { - status = "disabled"; -}; - -&tavil_snd { - status = "disabled"; -}; - -&spi_7 { - status = "disabled"; -}; - -&wdsp_mgr { - status = "disabled"; -}; - -&wdsp_glink { - status = "disabled"; -}; - -&glink_spi_xprt_wdsp { - status = "disabled"; -}; - -&glink_fifo_wdsp { - status = "disabled"; -}; - -&glink_qos_wdsp { - status = "disabled"; -}; - &int_codec { - status = "okay"; -}; - -&pmic_analog_codec { - status = "okay"; -}; - -&msm_sdw_codec { + qcom,model = "sdm660-snd-card-mtp"; status = "okay"; }; diff --git a/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-rcm.dts b/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-rcm.dts index eda22eaa40ca..03b0e029a569 100644 --- a/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-rcm.dts +++ b/arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-rcm.dts @@ -16,6 +16,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" #include "msm-pm660a.dtsi" +#include "sdm660-internal-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A Int. Audio Codec RCM"; @@ -24,74 +25,8 @@ qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>; }; -&slim_aud { - status = "disabled"; -}; - -&dai_slim { - status = "disabled"; -}; - -&wcd9335 { - status = "disabled"; -}; - -&wcd934x_cdc { - status = "disabled"; -}; - -&clock_audio { - status = "disabled"; -}; - -&wcd_rst_gpio { - status = "disabled"; -}; - -&wcd9xxx_intc { - status = "disabled"; -}; - -&tasha_snd { - status = "disabled"; -}; - -&tavil_snd { - status = "disabled"; -}; - -&spi_7 { - status = "disabled"; -}; - -&wdsp_mgr { - status = "disabled"; -}; - -&wdsp_glink { - status = "disabled"; -}; - -&glink_spi_xprt_wdsp { - status = "disabled"; -}; - -&glink_fifo_wdsp { - status = "disabled"; -}; - -&glink_qos_wdsp { - status = "disabled"; -}; - &int_codec { status = "okay"; -}; - -&pmic_analog_codec { - status = "okay"; -}; - -&msm_sdw_codec { - status = "okay"; + qcom,msm-hs-micbias-type = "internal"; + qcom,msm-micbias2-ext-cap; }; diff --git a/arch/arm/boot/dts/qcom/sdm660-internal-codec-rcm.dts b/arch/arm/boot/dts/qcom/sdm660-internal-codec-rcm.dts index 55958f3e31f6..fc79dc9a36ee 100644 --- a/arch/arm/boot/dts/qcom/sdm660-internal-codec-rcm.dts +++ b/arch/arm/boot/dts/qcom/sdm660-internal-codec-rcm.dts @@ -15,6 +15,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" +#include "sdm660-internal-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L Int. Audio Codec RCM"; @@ -24,74 +25,8 @@ <0x0001001b 0x0201011a 0x0 0x0>; }; -&slim_aud { - status = "disabled"; -}; - -&dai_slim { - status = "disabled"; -}; - -&wcd9335 { - status = "disabled"; -}; - -&wcd934x_cdc { - status = "disabled"; -}; - -&clock_audio { - status = "disabled"; -}; - -&wcd_rst_gpio { - status = "disabled"; -}; - -&wcd9xxx_intc { - status = "disabled"; -}; - -&tasha_snd { - status = "disabled"; -}; - -&tavil_snd { - status = "disabled"; -}; - -&spi_7 { - status = "disabled"; -}; - -&wdsp_mgr { - status = "disabled"; -}; - -&wdsp_glink { - status = "disabled"; -}; - -&glink_spi_xprt_wdsp { - status = "disabled"; -}; - -&glink_fifo_wdsp { - status = "disabled"; -}; - -&glink_qos_wdsp { - status = "disabled"; -}; - &int_codec { status = "okay"; -}; - -&pmic_analog_codec { - status = "okay"; -}; - -&msm_sdw_codec { - status = "okay"; + qcom,msm-hs-micbias-type = "internal"; + qcom,msm-micbias2-ext-cap; }; diff --git a/arch/arm/boot/dts/qcom/sdm660-internal-codec.dtsi b/arch/arm/boot/dts/qcom/sdm660-internal-codec.dtsi new file mode 100644 index 000000000000..512918966f6d --- /dev/null +++ b/arch/arm/boot/dts/qcom/sdm660-internal-codec.dtsi @@ -0,0 +1,79 @@ +/* Copyright (c) 2017, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +&slim_aud { + status = "disabled"; +}; + +&dai_slim { + status = "disabled"; +}; + +&wcd9335 { + status = "disabled"; +}; + +&wcd934x_cdc { + status = "disabled"; +}; + +&clock_audio { + status = "disabled"; +}; + +&wcd_rst_gpio { + status = "disabled"; +}; + +&wcd9xxx_intc { + status = "disabled"; +}; + +&tasha_snd { + status = "disabled"; +}; + +&tavil_snd { + status = "disabled"; +}; + +&spi_7 { + status = "disabled"; +}; + +&wdsp_mgr { + status = "disabled"; +}; + +&wdsp_glink { + status = "disabled"; +}; + +&glink_spi_xprt_wdsp { + status = "disabled"; +}; + +&glink_fifo_wdsp { + status = "disabled"; +}; + +&glink_qos_wdsp { + status = "disabled"; +}; + +&pmic_analog_codec { + status = "okay"; +}; + +&msm_sdw_codec { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/qcom/sdm660-lpi.dtsi b/arch/arm/boot/dts/qcom/sdm660-lpi.dtsi index 34946c07074b..195128f3ad43 100644 --- a/arch/arm/boot/dts/qcom/sdm660-lpi.dtsi +++ b/arch/arm/boot/dts/qcom/sdm660-lpi.dtsi @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -47,31 +47,58 @@ cdc_pdm_gpios_active: cdc_pdm_gpios_active { mux { pins = "gpio18", "gpio19", - "gpio20", "gpio21", - "gpio23", "gpio25"; + "gpio21", "gpio23", + "gpio25"; function = "func1"; }; config { pins = "gpio18", "gpio19", - "gpio20", "gpio21", - "gpio23", "gpio25"; + "gpio21", "gpio23", + "gpio25"; drive-strength = <8>; + output-high; }; }; cdc_pdm_gpios_sleep: cdc_pdm_gpios_sleep { mux { pins = "gpio18", "gpio19", - "gpio20", "gpio21", - "gpio23", "gpio25"; + "gpio21", "gpio23", + "gpio25"; function = "func1"; }; config { pins = "gpio18", "gpio19", - "gpio20", "gpio21", - "gpio23", "gpio25"; + "gpio21", "gpio23", + "gpio25"; + drive-strength = <2>; + bias-disable; + output-low; + }; + }; + + cdc_pdm_2_gpios_active: cdc_pdm_2_gpios_active { + mux { + pins = "gpio20"; + function = "func1"; + }; + + config { + pins = "gpio20"; + drive-strength = <8>; + }; + }; + + cdc_pdm_2_gpios_sleep: cdc_pdm_2_gpios_sleep { + mux { + pins = "gpio20"; + function = "func1"; + }; + + config { + pins = "gpio20"; drive-strength = <2>; bias-disable; }; @@ -105,12 +132,11 @@ lpi_cdc_reset_active: lpi_cdc_reset_active { mux { pins = "gpio24"; - function = "func2"; + function = "gpio"; }; config { pins = "gpio24"; drive-strength = <16>; - bias-pull-down; output-high; }; }; @@ -118,7 +144,7 @@ lpi_cdc_reset_sleep: lpi_cdc_reset_sleep { mux { pins = "gpio24"; - function = "func2"; + function = "gpio"; }; config { diff --git a/arch/arm/boot/dts/qcom/sdm660-mtp.dts b/arch/arm/boot/dts/qcom/sdm660-mtp.dts index 3e5a6e1a38b9..97058d470446 100644 --- a/arch/arm/boot/dts/qcom/sdm660-mtp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-mtp.dts @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -15,6 +15,7 @@ #include "sdm660.dtsi" #include "sdm660-mtp.dtsi" +#include "sdm660-external-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L MTP"; diff --git a/arch/arm/boot/dts/qcom/sdm660-pm660a-cdp.dts b/arch/arm/boot/dts/qcom/sdm660-pm660a-cdp.dts index 7621c8aef432..0ce1ab440e92 100644 --- a/arch/arm/boot/dts/qcom/sdm660-pm660a-cdp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-pm660a-cdp.dts @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -16,6 +16,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" #include "msm-pm660a.dtsi" +#include "sdm660-external-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A CDP"; diff --git a/arch/arm/boot/dts/qcom/sdm660-pm660a-mtp.dts b/arch/arm/boot/dts/qcom/sdm660-pm660a-mtp.dts index 1ea6dbde11ce..25f7c1ba969c 100644 --- a/arch/arm/boot/dts/qcom/sdm660-pm660a-mtp.dts +++ b/arch/arm/boot/dts/qcom/sdm660-pm660a-mtp.dts @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -16,6 +16,7 @@ #include "sdm660.dtsi" #include "sdm660-mtp.dtsi" #include "msm-pm660a.dtsi" +#include "sdm660-external-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A MTP"; diff --git a/arch/arm/boot/dts/qcom/sdm660-pm660a-rcm.dts b/arch/arm/boot/dts/qcom/sdm660-pm660a-rcm.dts index 0b65b4a3631c..6c3afd4e1a4a 100644 --- a/arch/arm/boot/dts/qcom/sdm660-pm660a-rcm.dts +++ b/arch/arm/boot/dts/qcom/sdm660-pm660a-rcm.dts @@ -1,4 +1,4 @@ -/* Copyright (c) 2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -16,6 +16,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" #include "msm-pm660a.dtsi" +#include "sdm660-external-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A RCM"; diff --git a/arch/arm/boot/dts/qcom/sdm660-rcm.dts b/arch/arm/boot/dts/qcom/sdm660-rcm.dts index 63fa6c2d3c02..0fa148e82d43 100644 --- a/arch/arm/boot/dts/qcom/sdm660-rcm.dts +++ b/arch/arm/boot/dts/qcom/sdm660-rcm.dts @@ -15,6 +15,7 @@ #include "sdm660.dtsi" #include "sdm660-cdp.dtsi" +#include "sdm660-external-codec.dtsi" / { model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L RCM"; |