summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-18 23:48:42 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-18 23:48:42 -0800
commit08478123a6205eb3fe59c6aca02e64756ee4cd2b (patch)
tree528f5cee30e06d3ce84ccfa16a7e0329daa7551c /arch/arm
parent69427c91f4c6a5f77d0360da09cb4788f45adbdd (diff)
parent71fb9c8efa5bb4dde74b7ea6de17d6b010fef9a6 (diff)
Merge "ARM: dts: msm: Audio bringup fixes for SDM660"
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/qcom/msm-audio.dtsi9
-rw-r--r--arch/arm/boot/dts/qcom/msm8998-interposer-sdm660-audio.dtsi3
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-audio.dtsi127
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-cdp.dts1
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-external-codec.dtsi35
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-internal-codec-cdp.dts71
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-internal-codec-mtp.dts69
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-cdp.dts71
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-mtp.dts70
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-internal-codec-pm660a-rcm.dts71
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-internal-codec-rcm.dts71
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-internal-codec.dtsi79
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-lpi.dtsi50
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-mtp.dts3
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-pm660a-cdp.dts3
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-pm660a-mtp.dts3
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-pm660a-rcm.dts3
-rw-r--r--arch/arm/boot/dts/qcom/sdm660-rcm.dts1
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";