M7350/kernel/arch/arm/boot/dts/qcom/msm8952-ext-codec-cdp.dts
2024-09-09 08:57:42 +00:00

400 lines
12 KiB
Plaintext

/*
* Copyright (c) 2015, 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.
*/
/dts-v1/;
#include "msm8952-cdp.dtsi"
#include "msm8952-wsa881x.dtsi"
/ {
model = "Qualcomm Technologies, Inc. MSM 8952 External Audio Codec CDP";
compatible = "qcom,msm8952-cdp", "qcom,msm8952", "qcom,cdp";
qcom,board-id= <1 1>;
};
&int_codec {
status = "disabled";
};
&pm8950_cajon_dig {
status = "disabled";
};
&pm8950_cajon_analog {
status = "disabled";
};
&wsa881x_i2c_e {
status = "disabled";
};
&wsa881x_i2c_44 {
status = "disabled";
};
&wsa881x_i2c_f {
status = "disabled";
};
&wsa881x_i2c_45 {
status = "disabled";
};
&soc {
wcd9xxx_intc: wcd9xxx-irq {
compatible = "qcom,wcd9xxx-irq";
interrupt-controller;
#interrupt-cells = <1>;
interrupt-parent = <&msm_gpio>;
interrupts = <73 0>;
interrupt-names = "cdc-int";
qcom,gpio-connect = <&msm_gpio 73 0>;
};
ext_codec: sound-9335 {
compatible = "qcom,msm8952-audio-slim-codec";
qcom,model = "msm8952-tasha-snd-card";
reg = <0xc051000 0x4>,
<0xc051004 0x4>,
<0xc055000 0x4>,
<0xc052000 0x4>;
reg-names = "csr_gp_io_mux_mic_ctl",
"csr_gp_io_mux_spkr_ctl",
"csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel",
"csr_gp_io_mux_quin_ctl";
qcom,audio-routing =
"AIF4 VI", "MCLK",
"RX_BIAS", "MCLK",
"AMIC2", "MIC BIAS2",
"MIC BIAS2", "Headset Mic",
"AMIC3", "MIC BIAS2",
"MIC BIAS2", "ANCRight Headset Mic",
"AMIC4", "MIC BIAS2",
"MIC BIAS2", "ANCLeft Headset Mic",
"AMIC5", "MIC BIAS3",
"MIC BIAS3", "Handset Mic",
"AMIC6", "MIC BIAS4",
"MIC BIAS4", "Analog Mic6",
"DMIC0", "MIC BIAS1",
"MIC BIAS1", "Digital Mic0",
"DMIC1", "MIC BIAS1",
"MIC BIAS1", "Digital Mic1",
"DMIC2", "MIC BIAS3",
"MIC BIAS3", "Digital Mic2",
"DMIC3", "MIC BIAS3",
"MIC BIAS3", "Digital Mic3",
"DMIC4", "MIC BIAS4",
"MIC BIAS4", "Digital Mic4",
"DMIC5", "MIC BIAS4",
"MIC BIAS4", "Digital Mic5",
"SpkrLeft IN", "SPK1 OUT",
"SpkrRight IN", "SPK2 OUT";
qcom,msm-gpios =
"us_eu_gpio";
qcom,pinctrl-names =
"all_off",
"us_eu_gpio_act";
pinctrl-names =
"all_off",
"us_eu_gpio_act";
pinctrl-0 = <&cross_conn_det_sus>;
pinctrl-1 = <&cross_conn_det_act>;
qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
qcom,msm-mbhc-hphl-swh = <0>;
qcom,msm-mbhc-gnd-swh = <0>;
qcom,tasha-mclk-clk-freq = <9600000>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&cpe>, <&lpa>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-cpe-lsm",
"msm-pcm-lpa";
asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
<&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s5>,
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
<&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
<&afe_pcm_rx>, <&afe_pcm_tx>,
<&afe_proxy_rx>, <&afe_proxy_tx>,
<&incall_record_rx>, <&incall_record_tx>,
<&incall_music_rx>, <&incall_music_2_rx>,
<&sb_5_rx>, <&bt_sco_rx>,
<&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>;
asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
"msm-dai-q6-mi2s.2",
"msm-dai-q6-mi2s.3", "msm-dai-q6-mi2s.5",
"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
"msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
"msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394",
"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293";
asoc-codec = <&stub_codec>;
asoc-codec-names = "msm-stub-codec.1";
qcom,wsa-max-devs = <2>;
qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
<&wsa881x_213>, <&wsa881x_214>;
qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
"SpkrRight", "SpkrLeft";
};
sound-9330 {
compatible = "qcom,msm8952-audio-slim-codec";
qcom,model = "msm8952-tomtom-snd-card";
qcom,cdc-mclk-gpios = <&pm8950_gpios 1 0>;
clock-names = "osr_clk";
clocks = <&clock_gcc clk_div_clk2>;
reg = <0xc051000 0x4>,
<0xc051004 0x4>,
<0xc055000 0x4>;
reg-names = "csr_gp_io_mux_mic_ctl",
"csr_gp_io_mux_spkr_ctl",
"csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel";
qcom,msm-gpios =
"us_eu_gpio";
qcom,pinctrl-names =
"all_off",
"us_eu_gpio_act";
pinctrl-names =
"all_off",
"us_eu_gpio_act";
pinctrl-0 = <&cross_conn_det_sus>;
pinctrl-1 = <&cross_conn_det_act>;
qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
qcom,headset-jack-type-NC;
qcom,audio-routing =
"RX_BIAS", "MCLK",
"LDO_H", "MCLK",
"SPK_OUT", "MCLK",
"AIF4 MAD", "MCLK",
"AMIC1", "MIC BIAS1 Internal1",
"MIC BIAS1 Internal1", "Handset Mic",
"AMIC2", "MIC BIAS2 External",
"MIC BIAS2 External", "Headset Mic",
"AMIC3", "MIC BIAS2 External",
"MIC BIAS2 External", "ANCRight Headset Mic",
"AMIC4", "MIC BIAS2 External",
"MIC BIAS2 External", "ANCLeft Headset Mic",
"AMIC5", "MIC BIAS3 External",
"MIC BIAS3 External", "Handset Mic",
"AMIC6", "MIC BIAS4 External",
"MIC BIAS4 External", "Handset Mic",
"DMIC1", "MIC BIAS1 External",
"MIC BIAS1 External", "Digital Mic1",
"DMIC2", "MIC BIAS1 External",
"MIC BIAS1 External", "Digital Mic2",
"DMIC3", "MIC BIAS3 External",
"MIC BIAS3 External", "Digital Mic3",
"DMIC4", "MIC BIAS3 External",
"MIC BIAS3 External", "Digital Mic4",
"DMIC5", "MIC BIAS4 External",
"MIC BIAS4 External", "Digital Mic5",
"DMIC6", "MIC BIAS4 External",
"MIC BIAS4 External", "Digital Mic6";
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&lpa>, <&cpe>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", "msm-pcm-dsp.2",
"msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
"msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa",
"msm-cpe-lsm";
asoc-cpu = <&dai_hdmi>, <&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>, <&sb_0_rx>, <&sb_0_tx>,
<&sb_1_rx>, <&sb_1_tx>, <&sb_3_rx>, <&sb_3_tx>,
<&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&bt_sco_rx>,
<&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, <&afe_pcm_rx>,
<&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
<&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
<&incall_music_2_rx>;
asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.0",
"msm-dai-q6-mi2s.1", "msm-dai-q6-mi2s.2",
"msm-dai-q6-mi2s.3", "msm-dai-q6-dev.16384",
"msm-dai-q6-dev.16385", "msm-dai-q6-dev.16386",
"msm-dai-q6-dev.16387", "msm-dai-q6-dev.16390",
"msm-dai-q6-dev.16391", "msm-dai-q6-dev.16392",
"msm-dai-q6-dev.16393", "msm-dai-q6-dev.16395",
"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
"msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
"msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
asoc-codec = <&stub_codec>;
asoc-codec-names = "msm-stub-codec.1";
};
cpe: qcom,msm-cpe-lsm {
compatible = "qcom,msm-cpe-lsm";
};
clock_audio: audio_ext_clk {
compatible = "qcom,audio-ref-clk";
qcom,audio-ref-clk-gpio = <&pm8950_gpios 1 0>;
clock-names = "osr_clk";
clocks = <&clock_gcc clk_div_clk2>;
qcom,node_has_rpm_clock;
#clock-cells = <1>;
};
};
&pm8950_gpios {
gpio@c000 {
qcom,vin-sel = <0>;
};
};
&slim_msm {
status = "ok";
msm_dai_slim {
compatible = "qcom,msm-dai-slim";
elemental-addr = [ff ff ff fe 17 02];
};
tomtom_codec {
compatible = "qcom,tomtom-slim-pgd";
elemental-addr = [00 01 30 01 17 02];
interrupt-parent = <&wcd9xxx_intc>;
interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29
30 31>;
qcom,cdc-reset-gpio = <&msm_gpio 68 0>;
clock-names = "wcd_clk";
clocks = <&clock_audio clk_audio_pmi_clk>;
qcom,cdc-micbias1-ext-cap;
qcom,cdc-micbias2-ext-cap;
cdc-vdd-buck-supply = <&eldo2_8952>;
qcom,cdc-vdd-buck-voltage = <1800000 2150000>;
qcom,cdc-vdd-buck-current = <650000>;
cdc-vdd-tx-h-supply = <&pm8950_l5>;
qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
qcom,cdc-vdd-tx-h-current = <45000>;
cdc-vdd-rx-h-supply = <&pm8950_l5>;
qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
qcom,cdc-vdd-rx-h-current = <45000>;
cdc-vdd-px-supply = <&pm8950_l5>;
qcom,cdc-vdd-px-voltage = <1800000 1800000>;
qcom,cdc-vdd-px-current = <45000>;
cdc-vddcx-1-supply = <&pm8950_l2>;
qcom,cdc-vddcx-1-voltage = <1200000 1200000>;
qcom,cdc-vddcx-1-current = <33000>;
cdc-vddcx-2-supply = <&pm8950_s3>;
qcom,cdc-vddcx-2-voltage = <1300000 1300000>;
qcom,cdc-vddcx-2-current = <20000>;
qcom,cdc-static-supplies = "cdc-vdd-buck",
"cdc-vdd-tx-h",
"cdc-vdd-rx-h",
"cdc-vdd-px",
"cdc-vddcx-1",
"cdc-vddcx-2";
qcom,cdc-cp-supplies = "cdc-vdd-buck";
qcom,cdc-micbias-ldoh-v = <0x3>;
qcom,cdc-micbias-cfilt1-mv = <1800>;
qcom,cdc-micbias-cfilt2-mv = <2700>;
qcom,cdc-micbias-cfilt3-mv = <1800>;
qcom,cdc-micbias1-cfilt-sel = <0x0>;
qcom,cdc-micbias2-cfilt-sel = <0x1>;
qcom,cdc-micbias3-cfilt-sel = <0x2>;
qcom,cdc-micbias4-cfilt-sel = <0x2>;
qcom,cdc-mclk-clk-rate = <9600000>;
qcom,cdc-slim-ifd = "tomtom-slim-ifd";
qcom,cdc-slim-ifd-elemental-addr = [00 00 30 01 17 02];
qcom,cdc-dmic-sample-rate = <4800000>;
qcom,cdc-variant = "WCD9330";
};
tasha_codec {
compatible = "qcom,tasha-slim-pgd";
elemental-addr = [00 01 A0 01 17 02];
interrupt-parent = <&wcd9xxx_intc>;
interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29
30>;
qcom,cdc-reset-gpio = <&msm_gpio 68 0>;
cdc-vdd-buck-supply = <&eldo2_8952>;
qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
qcom,cdc-vdd-buck-current = <650000>;
cdc-buck-sido-supply = <&eldo2_8952>;
qcom,cdc-buck-sido-voltage = <1800000 1800000>;
qcom,cdc-buck-sido-current = <250000>;
cdc-vdd-tx-h-supply = <&pm8950_l5>;
qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
qcom,cdc-vdd-tx-h-current = <25000>;
cdc-vdd-rx-h-supply = <&pm8950_l5>;
qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
qcom,cdc-vdd-rx-h-current = <25000>;
cdc-vdd-px-supply = <&pm8950_l5>;
qcom,cdc-vdd-px-voltage = <1800000 1800000>;
qcom,cdc-vdd-px-current = <10000>;
cdc-vdd-mic-bias-supply = <&pm8950_l13>;
qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
qcom,cdc-vdd-mic-bias-current = <15000>;
qcom,cdc-static-supplies =
"cdc-vdd-buck",
"cdc-buck-sido",
"cdc-vdd-tx-h",
"cdc-vdd-rx-h",
"cdc-vdd-px";
qcom,cdc-micbias1-mv = <1800>;
qcom,cdc-micbias2-mv = <1800>;
qcom,cdc-micbias3-mv = <1800>;
qcom,cdc-micbias4-mv = <1800>;
qcom,cdc-mclk-clk-rate = <9600000>;
qcom,cdc-slim-ifd = "tasha-slim-ifd";
qcom,cdc-slim-ifd-elemental-addr = [00 00 A0 01 17 02];
qcom,cdc-dmic-sample-rate = <4800000>;
clock-names = "wcd_clk";
clocks = <&clock_audio clk_audio_pmi_clk>;
};
};