blob: 14ca794412effb7eed7a6733b995aeec62ceec63 [file] [log] [blame]
Tanya Dixitb95b9cb2018-10-12 16:41:08 +05301/*
Shashi Kant Maurya26868f92020-08-05 16:56:35 +05302 * Copyright (c) 2018, 2020, The Linux Foundation. All rights reserved.
Tanya Dixitb95b9cb2018-10-12 16:41:08 +05303 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#include "msm-audio-lpass.dtsi"
15
16&msm_audio_ion {
17 iommus = <&apps_iommu 0x2001 0x0>;
18 qcom,smmu-sid-mask = /bits/ 64 <0xf>;
19};
20
21&soc {
22 qcom,msm-audio-apr {
23 compatible = "qcom,msm-audio-apr";
24 msm_audio_apr_dummy {
25 compatible = "qcom,msm-audio-apr-dummy";
26 };
27 };
28
29 qcom,avtimer@c0a300c {
30 compatible = "qcom,avtimer";
31 reg = <0x0c0a300c 0x4>,
32 <0x0c0a3010 0x4>;
33 reg-names = "avtimer_lsb_addr", "avtimer_msb_addr";
34 qcom,clk-div = <27>;
35 };
36
37 int_codec: sound {
38 status = "okay";
39 compatible = "qcom,msm8952-audio-codec";
40 qcom,model = "msm8952-snd-card-mtp";
41 reg = <0xc051000 0x4>,
42 <0xc051004 0x4>,
43 <0xc055000 0x4>,
44 <0xc052000 0x4>;
45 reg-names = "csr_gp_io_mux_mic_ctl",
46 "csr_gp_io_mux_spkr_ctl",
47 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel",
48 "csr_gp_io_mux_quin_ctl";
49
50 qcom,msm-ext-pa = "primary";
51 qcom,msm-mclk-freq = <9600000>;
52 qcom,msm-mbhc-hphl-swh = <1>;
53 qcom,msm-mbhc-gnd-swh = <1>;
54 qcom,msm-hs-micbias-type = "external";
55 qcom,msm-micbias1-ext-cap;
56
57 qcom,audio-routing =
58 "RX_BIAS", "MCLK",
59 "SPK_RX_BIAS", "MCLK",
60 "INT_LDO_H", "MCLK",
61 "RX_I2S_CLK", "MCLK",
62 "TX_I2S_CLK", "MCLK",
63 "MIC BIAS External", "Handset Mic",
64 "MIC BIAS External2", "Headset Mic",
65 "MIC BIAS External", "Secondary Mic",
66 "AMIC1", "MIC BIAS External",
67 "AMIC2", "MIC BIAS External2",
68 "AMIC3", "MIC BIAS External",
69 "ADC1_IN", "ADC1_OUT",
70 "ADC2_IN", "ADC2_OUT",
71 "ADC3_IN", "ADC3_OUT",
72 "PDM_IN_RX1", "PDM_OUT_RX1",
73 "PDM_IN_RX2", "PDM_OUT_RX2",
74 "PDM_IN_RX3", "PDM_OUT_RX3";
75
76 qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
77 qcom,quin-mi2s-gpios = <&cdc_quin_mi2s_gpios>;
78
79 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
80 <&loopback>, <&compress>, <&hostless>,
81 <&afe>, <&lsm>, <&routing>, <&pcm_noirq>;
82 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
83 "msm-pcm-dsp.2", "msm-voip-dsp",
84 "msm-pcm-voice", "msm-pcm-loopback",
85 "msm-compress-dsp", "msm-pcm-hostless",
86 "msm-pcm-afe", "msm-lsm-client",
87 "msm-pcm-routing", "msm-pcm-dsp-noirq";
88 asoc-cpu = <&dai_pri_auxpcm>,
89 <&dai_mi2s0>, <&dai_mi2s1>,
90 <&dai_mi2s2>, <&dai_mi2s3>,
91 <&dai_mi2s4>, <&dai_mi2s5>,
92 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
93 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
94 <&bt_sco_rx>, <&bt_sco_tx>,
95 <&int_fm_rx>, <&int_fm_tx>,
96 <&afe_pcm_rx>, <&afe_pcm_tx>,
97 <&afe_proxy_rx>, <&afe_proxy_tx>,
98 <&incall_record_rx>, <&incall_record_tx>,
Shashi Kant Maurya26868f92020-08-05 16:56:35 +053099 <&incall_music_rx>, <&incall_music_2_rx>,
100 <&proxy_rx>, <&proxy_tx>;
Tanya Dixitb95b9cb2018-10-12 16:41:08 +0530101
102 asoc-cpu-names = "msm-dai-q6-auxpcm.1",
103 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
104 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
105 "msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.6",
106 "msm-dai-q6-dev.16384", "msmdai-q6-dev.16385",
107 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
108 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
109 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
110 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
111 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
112 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
113 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
114 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
Shashi Kant Maurya26868f92020-08-05 16:56:35 +0530115 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
116 "msm-dai-q6-dev.8194", "msm-dai-q6-dev.8195";
Tanya Dixitb95b9cb2018-10-12 16:41:08 +0530117
118 asoc-codec = <&stub_codec>, <&msm_digital_codec>,
119 <&pmic_analog_codec>;
120 asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec",
121 "analog-codec";
122 };
123
124 cdc_us_euro_sw: msm_cdc_pinctrl_us_euro_sw {
125 compatible = "qcom,msm-cdc-pinctrl";
126 pinctrl-names = "aud_active", "aud_sleep";
127 pinctrl-0 = <&cross_conn_det_act>;
128 pinctrl-1 = <&cross_conn_det_sus>;
129 };
130
131 cdc_pri_mi2s_gpios: msm_cdc_pinctrl_pri {
132 compatible = "qcom,msm-cdc-pinctrl";
133 pinctrl-names = "aud_active", "aud_sleep";
134 pinctrl-0 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act>;
135 pinctrl-1 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus>;
136 };
137
138 cdc_quin_mi2s_gpios: msm_cdc_pinctrl_quin {
139 compatible = "qcom,msm-cdc-pinctrl";
140 pinctrl-names = "aud_active", "aud_sleep";
141 pinctrl-0 = <&pri_tlmm_lines_act &pri_tlmm_ws_act>;
142 pinctrl-1 = <&pri_tlmm_lines_sus &pri_tlmm_ws_sus>;
143 };
144};
145
146&pm8916_1 {
147 pmic_analog_codec: analog-codec@f000 {
148 status = "okay";
149 compatible = "qcom,pmic-analog-codec";
150 reg = <0xf000 0x200>;
151 #address-cells = <2>;
152 #size-cells = <0>;
153 interrupt-parent = <&spmi_bus>;
154 interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
155 <0x1 0xf0 0x1 IRQ_TYPE_NONE>,
156 <0x1 0xf0 0x2 IRQ_TYPE_NONE>,
157 <0x1 0xf0 0x3 IRQ_TYPE_NONE>,
158 <0x1 0xf0 0x4 IRQ_TYPE_NONE>,
159 <0x1 0xf0 0x5 IRQ_TYPE_NONE>,
160 <0x1 0xf0 0x6 IRQ_TYPE_NONE>,
161 <0x1 0xf0 0x7 IRQ_TYPE_NONE>,
162 <0x1 0xf1 0x0 IRQ_TYPE_NONE>,
163 <0x1 0xf1 0x1 IRQ_TYPE_NONE>,
164 <0x1 0xf1 0x2 IRQ_TYPE_NONE>,
165 <0x1 0xf1 0x3 IRQ_TYPE_NONE>,
166 <0x1 0xf1 0x4 IRQ_TYPE_NONE>,
167 <0x1 0xf1 0x5 IRQ_TYPE_NONE>;
168 interrupt-names = "spk_cnp_int",
169 "spk_clip_int",
170 "spk_ocp_int",
171 "ins_rem_det1",
172 "but_rel_det",
173 "but_press_det",
174 "ins_rem_det",
175 "mbhc_int",
176 "ear_ocp_int",
177 "hphr_ocp_int",
178 "hphl_ocp_det",
179 "ear_cnp_int",
180 "hphr_cnp_int",
181 "hphl_cnp_int";
182
183 cdc-vdd-pa-cp-supply = <&pm8916_s4>;
184 qcom,cdc-vdd-pa-cp-voltage = <2050000 2050000>;
185 qcom,cdc-vdd-pa-cp-current = <550000>;
186
187 cdc-vdd-io-supply = <&pm8916_l5>;
188 qcom,cdc-vdd-io-voltage = <1800000 1800000>;
189 qcom,cdc-vdd-io-current = <5000>;
190
191 cdc-vdda-h-supply = <&pm8916_l5>;
192 qcom,cdc-vdda-h-voltage = <1800000 1800000>;
193 qcom,cdc-vdda-h-current = <10000>;
194
195 cdc-vdd-mic-bias-supply = <&pm8916_l13>;
196 qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
197 qcom,cdc-vdd-mic-bias-current = <5000>;
198
199 qcom,cdc-mclk-clk-rate = <9600000>;
200
201 qcom,cdc-static-supplies = "cdc-vdd-io",
202 "cdc-vdd-pa-cp",
203 "cdc-vdda-h";
204
205 qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";
206
207 msm_digital_codec: msm-dig-codec {
208 compatible = "qcom,msm-digital-codec";
209 reg = <0xc0f0000 0x0>;
210 };
211 };
212};