1 /* Copyright (c) 2017, The Linux Foundation. All rights reserved.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
15 #include "skeleton64.dtsi"
18 model = "Qualcomm Technologies, Inc. MSM 8996";
19 compatible = "qcom,msm8996";
20 qcom,msm-id = <246 0x0>;
25 compatible = "arm,psci";
27 cpu_suspend = <0xc4000001>;
28 cpu_off = <0x84000002>;
29 cpu_on = <0xc4000003>;
37 pmem_shared: pmem_shared_region {
38 reg = <0 0xd0000000 0 0x20000000>;
39 label = "pmem_shared_mem";
41 ion_system: ion_system_region {
42 reg = <0x1 0x0 0 0x10000000>;
43 label = "ion_system_mem";
45 ion_audio: ion_audio_region {
46 reg = <0 0xc8000000 0 0x00400000>;
47 label = "ion_audio_mem";
52 #include "vplatform-lfv-ion.dtsi"
57 ranges = <0 0 0 0xffffffff>;
58 compatible = "simple-bus";
61 compatible = "qcom,apq8096-asoc-snd-adp-agave";
62 qcom,model = "apq8096-adp-agave-snd-card";
64 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
65 <&loopback>, <&compress>, <&hostless>,
66 <&afe>, <&lsm>, <&routing>, <&compr>,
68 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
69 "msm-pcm-dsp.2", "msm-voip-dsp",
70 "msm-pcm-voice", "msm-pcm-loopback",
71 "msm-compress-dsp", "msm-pcm-hostless",
72 "msm-pcm-afe", "msm-lsm-client",
73 "msm-pcm-routing", "msm-compr-dsp",
75 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
76 <&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
77 <&afe_pcm_rx>, <&afe_pcm_tx>,
78 <&afe_proxy_rx>, <&afe_proxy_tx>,
79 <&incall_record_rx>, <&incall_record_tx>,
80 <&incall_music_rx>, <&incall_music2_rx>,
81 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>,
82 <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>,
83 <&dai_tert_tdm_tx_0>, <&dai_tert_tdm_tx_1>,
84 <&dai_tert_tdm_tx_2>, <&dai_tert_tdm_tx_3>,
85 <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_rx_1>,
86 <&dai_quat_tdm_rx_2>, <&dai_quat_tdm_rx_3>,
87 <&dai_quat_tdm_tx_0>, <&dai_quat_tdm_tx_1>,
88 <&dai_quat_tdm_tx_2>, <&dai_quat_tdm_tx_3>;
89 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
90 "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.1",
91 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
92 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
93 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
94 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
95 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
96 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898",
97 "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902",
98 "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36899",
99 "msm-dai-q6-tdm.36901", "msm-dai-q6-tdm.36903",
100 "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36914",
101 "msm-dai-q6-tdm.36916", "msm-dai-q6-tdm.36918",
102 "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36915",
103 "msm-dai-q6-tdm.36917", "msm-dai-q6-tdm.36919";
104 asoc-codec = <&stub_codec>;
105 asoc-codec-names = "msm-stub-codec.1";
109 compatible = "qcom,msm-audio-ion";
115 compatible = "qcom,msm-pcm-dsp";
116 qcom,msm-pcm-dsp-id = <0>;
119 pcm1: qcom,msm-pcm-low-latency {
120 compatible = "qcom,msm-pcm-dsp";
121 qcom,msm-pcm-dsp-id = <1>;
122 qcom,msm-pcm-low-latency;
123 qcom,latency-level = "regular";
126 pcm2: qcom,msm-ultra-low-latency {
127 compatible = "qcom,msm-pcm-dsp";
128 qcom,msm-pcm-dsp-id = <2>;
129 qcom,msm-pcm-low-latency;
130 qcom,latency-level = "ultra";
133 routing: qcom,msm-pcm-routing {
134 compatible = "qcom,msm-pcm-routing";
137 compr: qcom,msm-compr-dsp {
138 compatible = "qcom,msm-compr-dsp";
141 compress: qcom,msm-compress-dsp {
142 compatible = "qcom,msm-compress-dsp";
145 voip: qcom,msm-voip-dsp {
146 compatible = "qcom,msm-voip-dsp";
149 voice: qcom,msm-pcm-voice {
150 compatible = "qcom,msm-pcm-voice";
154 stub_codec: qcom,msm-stub-codec {
155 compatible = "qcom,msm-stub-codec";
159 compatible = "qcom,msm-dai-fe";
162 afe: qcom,msm-pcm-afe {
163 compatible = "qcom,msm-pcm-afe";
166 dai_hdmi: qcom,msm-dai-q6-hdmi {
167 compatible = "qcom,msm-dai-q6-hdmi";
168 qcom,msm-dai-q6-dev-id = <8>;
171 lsm: qcom,msm-lsm-client {
172 compatible = "qcom,msm-lsm-client";
175 loopback: qcom,msm-pcm-loopback {
176 compatible = "qcom,msm-pcm-loopback";
179 loopback1: qcom,msm-pcm-loopback-low-latency {
180 compatible = "qcom,msm-pcm-loopback";
181 qcom,msm-pcm-loopback-low-latency;
185 compatible = "qcom,msm-dai-q6";
187 afe_pcm_rx: qcom,msm-dai-q6-be-afe-pcm-rx {
188 compatible = "qcom,msm-dai-q6-dev";
189 qcom,msm-dai-q6-dev-id = <224>;
192 afe_pcm_tx: qcom,msm-dai-q6-be-afe-pcm-tx {
193 compatible = "qcom,msm-dai-q6-dev";
194 qcom,msm-dai-q6-dev-id = <225>;
197 afe_proxy_rx: com,msm-dai-q6-afe-proxy-rx {
198 compatible = "qcom,msm-dai-q6-dev";
199 qcom,msm-dai-q6-dev-id = <241>;
202 afe_proxy_tx: qcom,msm-dai-q6-afe-proxy-tx {
203 compatible = "qcom,msm-dai-q6-dev";
204 qcom,msm-dai-q6-dev-id = <240>;
207 incall_record_rx: qcom,msm-dai-q6-incall-record-rx {
208 compatible = "qcom,msm-dai-q6-dev";
209 qcom,msm-dai-q6-dev-id = <32771>;
212 incall_record_tx: qcom,msm-dai-q6-incall-record-tx {
213 compatible = "qcom,msm-dai-q6-dev";
214 qcom,msm-dai-q6-dev-id = <32772>;
217 incall_music_rx: qcom,msm-dai-q6-incall-music-rx {
218 compatible = "qcom,msm-dai-q6-dev";
219 qcom,msm-dai-q6-dev-id = <32773>;
222 incall_music2_rx: qcom,msm-dai-q6-incall-music-2-rx {
223 compatible = "qcom,msm-dai-q6-dev";
224 qcom,msm-dai-q6-dev-id = <32770>;
228 dai_pri_auxpcm: qcom,msm-pri-auxpcm {
229 compatible = "qcom,msm-auxpcm-dev";
230 qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
231 qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
232 qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
233 qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
234 qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
235 qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
236 qcom,msm-cpudai-auxpcm-data = <0>, <0>;
237 qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
238 qcom,msm-auxpcm-interface = "primary";
239 qcom,msm-cpudai-afe-clk-ver = <2>;
242 dai_sec_auxpcm: qcom,msm-sec-auxpcm {
243 compatible = "qcom,msm-auxpcm-dev";
244 qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
245 qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
246 qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
247 qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
248 qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
249 qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
250 qcom,msm-cpudai-auxpcm-data = <0>, <0>;
251 qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
252 qcom,msm-auxpcm-interface = "secondary";
253 qcom,msm-cpudai-afe-clk-ver = <2>;
257 compatible = "qcom,msm-dai-mi2s";
258 dai_mi2s_sec: qcom,msm-dai-q6-mi2s-sec {
259 compatible = "qcom,msm-dai-q6-mi2s";
260 qcom,msm-dai-q6-mi2s-dev-id = <1>;
261 qcom,msm-mi2s-rx-lines = <2>;
262 qcom,msm-mi2s-tx-lines = <1>;
265 dai_mi2s: qcom,msm-dai-q6-mi2s-tert {
266 compatible = "qcom,msm-dai-q6-mi2s";
267 qcom,msm-dai-q6-mi2s-dev-id = <2>;
268 qcom,msm-mi2s-rx-lines = <2>;
269 qcom,msm-mi2s-tx-lines = <1>;
272 dai_mi2s_quat: qcom,msm-dai-q6-mi2s-quat {
273 compatible = "qcom,msm-dai-q6-mi2s";
274 qcom,msm-dai-q6-mi2s-dev-id = <3>;
275 qcom,msm-mi2s-rx-lines = <1>;
276 qcom,msm-mi2s-tx-lines = <0>;
280 qcom,msm-dai-tdm-tert-rx {
281 compatible = "qcom,msm-dai-tdm";
282 qcom,msm-cpudai-tdm-group-id = <37152>;
283 qcom,msm-cpudai-tdm-group-num-ports = <4>;
284 qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900 36902>;
285 qcom,msm-cpudai-tdm-clk-rate = <0>;
286 dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 {
287 compatible = "qcom,msm-dai-q6-tdm";
288 qcom,msm-cpudai-tdm-dev-id = <36896>;
289 qcom,msm-cpudai-tdm-sync-mode = <1>;
290 qcom,msm-cpudai-tdm-sync-src = <0>;
291 qcom,msm-cpudai-tdm-data-out = <0>;
292 qcom,msm-cpudai-tdm-invert-sync = <0>;
293 qcom,msm-cpudai-tdm-data-delay = <0>;
294 qcom,msm-cpudai-tdm-data-align = <0>;
297 dai_tert_tdm_rx_1: qcom,msm-dai-q6-tdm-tert-rx-1 {
298 compatible = "qcom,msm-dai-q6-tdm";
299 qcom,msm-cpudai-tdm-dev-id = <36898>;
300 qcom,msm-cpudai-tdm-sync-mode = <1>;
301 qcom,msm-cpudai-tdm-sync-src = <0>;
302 qcom,msm-cpudai-tdm-data-out = <0>;
303 qcom,msm-cpudai-tdm-invert-sync = <0>;
304 qcom,msm-cpudai-tdm-data-delay = <0>;
305 qcom,msm-cpudai-tdm-data-align = <0>;
308 dai_tert_tdm_rx_2: qcom,msm-dai-q6-tdm-tert-rx-2 {
309 compatible = "qcom,msm-dai-q6-tdm";
310 qcom,msm-cpudai-tdm-dev-id = <36900>;
311 qcom,msm-cpudai-tdm-sync-mode = <1>;
312 qcom,msm-cpudai-tdm-sync-src = <0>;
313 qcom,msm-cpudai-tdm-data-out = <0>;
314 qcom,msm-cpudai-tdm-invert-sync = <0>;
315 qcom,msm-cpudai-tdm-data-delay = <0>;
316 qcom,msm-cpudai-tdm-data-align = <0>;
319 dai_tert_tdm_rx_3: qcom,msm-dai-q6-tdm-tert-rx-3 {
320 compatible = "qcom,msm-dai-q6-tdm";
321 qcom,msm-cpudai-tdm-dev-id = <36902>;
322 qcom,msm-cpudai-tdm-sync-mode = <1>;
323 qcom,msm-cpudai-tdm-sync-src = <0>;
324 qcom,msm-cpudai-tdm-data-out = <0>;
325 qcom,msm-cpudai-tdm-invert-sync = <0>;
326 qcom,msm-cpudai-tdm-data-delay = <0>;
327 qcom,msm-cpudai-tdm-data-align = <0>;
331 qcom,msm-dai-tdm-tert-tx {
332 compatible = "qcom,msm-dai-tdm";
333 qcom,msm-cpudai-tdm-group-id = <37153>;
334 qcom,msm-cpudai-tdm-group-num-ports = <4>;
335 qcom,msm-cpudai-tdm-group-port-id = <36897 36899 36901 36903>;
336 qcom,msm-cpudai-tdm-clk-rate = <0>;
337 dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 {
338 compatible = "qcom,msm-dai-q6-tdm";
339 qcom,msm-cpudai-tdm-dev-id = <36897>;
340 qcom,msm-cpudai-tdm-sync-mode = <1>;
341 qcom,msm-cpudai-tdm-sync-src = <0>;
342 qcom,msm-cpudai-tdm-data-out = <0>;
343 qcom,msm-cpudai-tdm-invert-sync = <0>;
344 qcom,msm-cpudai-tdm-data-delay = <0>;
345 qcom,msm-cpudai-tdm-data-align = <0>;
348 dai_tert_tdm_tx_1: qcom,msm-dai-q6-tdm-tert-tx-1 {
349 compatible = "qcom,msm-dai-q6-tdm";
350 qcom,msm-cpudai-tdm-dev-id = <36899>;
351 qcom,msm-cpudai-tdm-sync-mode = <1>;
352 qcom,msm-cpudai-tdm-sync-src = <0>;
353 qcom,msm-cpudai-tdm-data-out = <0>;
354 qcom,msm-cpudai-tdm-invert-sync = <0>;
355 qcom,msm-cpudai-tdm-data-delay = <0>;
356 qcom,msm-cpudai-tdm-data-align = <0>;
359 dai_tert_tdm_tx_2: qcom,msm-dai-q6-tdm-tert-tx-2 {
360 compatible = "qcom,msm-dai-q6-tdm";
361 qcom,msm-cpudai-tdm-dev-id = <36901>;
362 qcom,msm-cpudai-tdm-sync-mode = <1>;
363 qcom,msm-cpudai-tdm-sync-src = <0>;
364 qcom,msm-cpudai-tdm-data-out = <0>;
365 qcom,msm-cpudai-tdm-invert-sync = <0>;
366 qcom,msm-cpudai-tdm-data-delay = <0>;
367 qcom,msm-cpudai-tdm-data-align = <0>;
370 dai_tert_tdm_tx_3: qcom,msm-dai-q6-tdm-tert-tx-3 {
371 compatible = "qcom,msm-dai-q6-tdm";
372 qcom,msm-cpudai-tdm-dev-id = <36903>;
373 qcom,msm-cpudai-tdm-sync-mode = <1>;
374 qcom,msm-cpudai-tdm-sync-src = <0>;
375 qcom,msm-cpudai-tdm-data-out = <0>;
376 qcom,msm-cpudai-tdm-invert-sync = <0>;
377 qcom,msm-cpudai-tdm-data-delay = <0>;
378 qcom,msm-cpudai-tdm-data-align = <0>;
382 qcom,msm-dai-tdm-quat-rx {
383 compatible = "qcom,msm-dai-tdm";
384 qcom,msm-cpudai-tdm-group-id = <37168>;
385 qcom,msm-cpudai-tdm-group-num-ports = <4>;
386 qcom,msm-cpudai-tdm-group-port-id = <36912 36914 36916 36918>;
387 qcom,msm-cpudai-tdm-clk-rate = <0>;
388 dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 {
389 compatible = "qcom,msm-dai-q6-tdm";
390 qcom,msm-cpudai-tdm-dev-id = <36912>;
391 qcom,msm-cpudai-tdm-sync-mode = <1>;
392 qcom,msm-cpudai-tdm-sync-src = <0>;
393 qcom,msm-cpudai-tdm-data-out = <0>;
394 qcom,msm-cpudai-tdm-invert-sync = <0>;
395 qcom,msm-cpudai-tdm-data-delay = <0>;
396 qcom,msm-cpudai-tdm-data-align = <0>;
399 dai_quat_tdm_rx_1: qcom,msm-dai-q6-tdm-quat-rx-1 {
400 compatible = "qcom,msm-dai-q6-tdm";
401 qcom,msm-cpudai-tdm-dev-id = <36914>;
402 qcom,msm-cpudai-tdm-sync-mode = <1>;
403 qcom,msm-cpudai-tdm-sync-src = <0>;
404 qcom,msm-cpudai-tdm-data-out = <0>;
405 qcom,msm-cpudai-tdm-invert-sync = <0>;
406 qcom,msm-cpudai-tdm-data-delay = <0>;
407 qcom,msm-cpudai-tdm-data-align = <0>;
410 dai_quat_tdm_rx_2: qcom,msm-dai-q6-tdm-quat-rx-2 {
411 compatible = "qcom,msm-dai-q6-tdm";
412 qcom,msm-cpudai-tdm-dev-id = <36916>;
413 qcom,msm-cpudai-tdm-sync-mode = <1>;
414 qcom,msm-cpudai-tdm-sync-src = <0>;
415 qcom,msm-cpudai-tdm-data-out = <0>;
416 qcom,msm-cpudai-tdm-invert-sync = <0>;
417 qcom,msm-cpudai-tdm-data-delay = <0>;
418 qcom,msm-cpudai-tdm-data-align = <0>;
421 dai_quat_tdm_rx_3: qcom,msm-dai-q6-tdm-quat-rx-3 {
422 compatible = "qcom,msm-dai-q6-tdm";
423 qcom,msm-cpudai-tdm-dev-id = <36918>;
424 qcom,msm-cpudai-tdm-sync-mode = <1>;
425 qcom,msm-cpudai-tdm-sync-src = <0>;
426 qcom,msm-cpudai-tdm-data-out = <0>;
427 qcom,msm-cpudai-tdm-invert-sync = <0>;
428 qcom,msm-cpudai-tdm-data-delay = <0>;
429 qcom,msm-cpudai-tdm-data-align = <0>;
433 qcom,msm-dai-tdm-quat-tx {
434 compatible = "qcom,msm-dai-tdm";
435 qcom,msm-cpudai-tdm-group-id = <37169>;
436 qcom,msm-cpudai-tdm-group-num-ports = <4>;
437 qcom,msm-cpudai-tdm-group-port-id = <36913 36915 36917 36919>;
438 qcom,msm-cpudai-tdm-clk-rate = <0>;
439 dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 {
440 compatible = "qcom,msm-dai-q6-tdm";
441 qcom,msm-cpudai-tdm-dev-id = <36913>;
442 qcom,msm-cpudai-tdm-sync-mode = <1>;
443 qcom,msm-cpudai-tdm-sync-src = <0>;
444 qcom,msm-cpudai-tdm-data-out = <0>;
445 qcom,msm-cpudai-tdm-invert-sync = <0>;
446 qcom,msm-cpudai-tdm-data-delay = <0>;
447 qcom,msm-cpudai-tdm-data-align = <0>;
450 dai_quat_tdm_tx_1: qcom,msm-dai-q6-tdm-quat-tx-1 {
451 compatible = "qcom,msm-dai-q6-tdm";
452 qcom,msm-cpudai-tdm-dev-id = <36915>;
453 qcom,msm-cpudai-tdm-sync-mode = <1>;
454 qcom,msm-cpudai-tdm-sync-src = <0>;
455 qcom,msm-cpudai-tdm-data-out = <0>;
456 qcom,msm-cpudai-tdm-invert-sync = <0>;
457 qcom,msm-cpudai-tdm-data-delay = <0>;
458 qcom,msm-cpudai-tdm-data-align = <0>;
461 dai_quat_tdm_tx_2: qcom,msm-dai-q6-tdm-quat-tx-2 {
462 compatible = "qcom,msm-dai-q6-tdm";
463 qcom,msm-cpudai-tdm-dev-id = <36917>;
464 qcom,msm-cpudai-tdm-sync-mode = <1>;
465 qcom,msm-cpudai-tdm-sync-src = <0>;
466 qcom,msm-cpudai-tdm-data-out = <0>;
467 qcom,msm-cpudai-tdm-invert-sync = <0>;
468 qcom,msm-cpudai-tdm-data-delay = <0>;
469 qcom,msm-cpudai-tdm-data-align = <0>;
472 dai_quat_tdm_tx_3: qcom,msm-dai-q6-tdm-quat-tx-3 {
473 compatible = "qcom,msm-dai-q6-tdm";
474 qcom,msm-cpudai-tdm-dev-id = <36919>;
475 qcom,msm-cpudai-tdm-sync-mode = <1>;
476 qcom,msm-cpudai-tdm-sync-src = <0>;
477 qcom,msm-cpudai-tdm-data-out = <0>;
478 qcom,msm-cpudai-tdm-invert-sync = <0>;
479 qcom,msm-cpudai-tdm-data-delay = <0>;
480 qcom,msm-cpudai-tdm-data-align = <0>;
484 hostless: qcom,msm-pcm-hostless {
485 compatible = "qcom,msm-pcm-hostless";