blob: 534ef8948b38e89d0c125d8f0f9f1caaaede5ab1 [file] [log] [blame]
Banajit Goswami6aa4cd12016-11-21 19:59:25 -08001Qualcomm technologies inc audio devices for ALSA sound SoC
2
Banajit Goswami0530e2f2016-12-09 21:34:37 -08003* msm-pcm
4
5Required properties:
6
7 - compatible : "qcom,msm-pcm-dsp"
8
9 - qcom,msm-pcm-dsp-id : device node id
10
11* msm-pcm-low-latency
12
13Required properties:
14
15 - compatible : "qcom,msm-pcm-dsp"
16
17 - qcom,msm-pcm-dsp-id : device node id
18
19 Optional properties
20
21 - qcom,msm-pcm-low-latency : Flag indicating whether
22 the device node is of type low latency.
23
24 - qcom,latency-level : Flag indicating whether the device node
25 is of type regular low latency or ultra
26 low latency.
27 regular : regular low latency stream
28 ultra : ultra low latency stream
29 ull-pp : ultra low latency stream with post-processing capability
30
31* msm-pcm-dsp-noirq
32
33Required properties:
34
35 - compatible : "qcom,msm-pcm-dsp-noirq";
36
37 Optional properties
38
39 - qcom,msm-pcm-low-latency : Flag indicating whether
40 the device node is of type low latency
41
42 - qcom,latency-level : Flag indicating whether the device node
43 is of type low latency or ultra low latency
44 ultra : ultra low latency stream
45 ull-pp : ultra low latency stream with post-processing capability
46* msm-pcm-routing
47
48Required properties:
49
50 - compatible : "qcom,msm-pcm-routing"
51
52* msm-pcm-lpa
53
54Required properties:
55
56 - compatible : "qcom,msm-pcm-lpa"
57
58* msm-compr-dsp
59
60Required properties:
61
62 - compatible : "qcom,msm-compr-dsp"
63
Banajit Goswami6aa4cd12016-11-21 19:59:25 -080064* msm-compress-dsp
65
66Required properties:
67
68 - compatible : "qcom,msm-compress-dsp"
69
70Optional properties
71 - qcom,adsp-version:
72 This property can be used to specify the ADSP version/name.
73 Based on ADSP version, we decide if we have to use older
74 ADSP APIs or newer. Right now we are adding "MDSP 1.2" for
75 8909 purpose.If the ADSP version is anything other than this
76 we use new ADSP APIs.
77
Banajit Goswami0530e2f2016-12-09 21:34:37 -080078* msm-voip-dsp
79
80Required properties:
81
82 - compatible : "qcom,msm-voip-dsp"
83
84* msm-pcm-voice
85
86Required properties:
87
88 - compatible : "qcom,msm-pcm-voice"
89 - qcom,destroy-cvd : Flag indicating whether to destroy cvd at
90 the end of call for low memory targets
Banajit Goswami0530e2f2016-12-09 21:34:37 -080091
92* msm-voice-host-pcm
93
94Required properties:
95
96 - compatible : "qcom,msm-voice-host-pcm"
97
98* msm-voice-svc
99
100Required properties:
101
102 - compatible : "qcom,msm-voice-svc"
103
104* msm-stub-codec
105
106Required properties:
107
108 - compatible : "qcom,msm-stub-codec"
109
110* msm-hdmi-dba-codec-rx
111
112Required properties:
113
114 - compatible : "qcom,msm-hdmi-dba-codec-rx"
115 - qcom,dba-bridge-chip: String info to indicate which bridge-chip
116 is used for HDMI using DBA.
117
118* msm-dai-fe
119
120Required properties:
121
122 - compatible : "qcom,msm-dai-fe"
123
124* msm-pcm-afe
125
126Required properties:
127
128 - compatible : "qcom,msm-pcm-afe"
129
130* msm-pcm-dtmf
131
132Required properties:
133
134 - compatible : "qcom,msm-pcm-dtmf"
135 - qcom,msm-pcm-dtmf : Enable DTMF driver in Audio. DTMF driver is
136 used for generation and detection of DTMF tones, when user is in
137 active voice call. APR commands are sent from DTMF driver to ADSP.
138
139* msm-dai-stub
140
141[First Level Nodes]
142
143Required properties:
144
145 - compatible : "msm-dai-stub"
146
147[Second Level Nodes]
148
149Required properties:
150
151 - compatible : "qcom,msm-dai-stub-dev"
152 - qcom,msm-dai-stub-dev-id : Stub dai port ID value is from 0 to 3.
153 This enables stub CPU dai in Audio. The stub dai is used when
154 there is no real backend in Audio.
155
156* msm-dai-q6-spdif
157
158Optional properties:
159
160 - compatible : "msm-dai-q6-spdif"
161
162* msm-dai-q6-hdmi
163
164Required properties:
165 - compatible : "msm-dai-q6-hdmi"
166 - qcom,msm-dai-q6-dev-id : The hdmi multi channel port ID.
167 It is passed onto the dsp from the apps to form an audio
168 path to the HDMI device. Currently the only supported value
169 is 8, which indicates the rx path used for audio playback
170 on HDMI device.
171
172* msm-lsm-client
173
174Required properties:
175
176 - compatible : "qcom,msm-lsm-client"
177
178* msm-pcm-loopback
179
180Required properties:
181
182 - compatible : "qcom,msm-pcm-loopback"
183
Derek Chen642aa6d2016-03-24 14:29:12 -0400184Optional properties:
185
186 - qcom,msm-pcm-loopback-low-latency : Flag indicating whether
187 the device node is of type low latency.
188
Siddartha Shaik047e37b2017-05-19 20:06:35 +0530189* msm-transcode-loopback
190
191Required properties:
192
193 - compatible : "qcom,msm-transcode-loopback"
194
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800195* msm-dai-q6
196
197[First Level Nodes]
198
199Required properties:
200
201 - compatible : "msm-dai-q6"
202
203Optional properties:
204
205 - qcom,ext-spk-amp-supply : External speaker amplifier power supply.
206 - qcom,ext-spk-amp-gpio : External speaker amplifier enable signal.
207
208[Second Level Nodes]
209
210Required properties:
211
212 - compatible : "qcom,msm-dai-q6-dev"
213 - qcom,msm-dai-q6-dev-id : The slimbus multi channel port ID
214 Value is from 16384 to 16397
215 BT SCO port ID value from 12288 to 12289
216 RT Proxy port ID values from 224 to 225 and 240 to
217 241
218 FM Rx and TX port ID values from 12292 to 12293
219 incall record Rx and TX port ID values from 32771 to 32772
220 inCall Music Delivery port ID is 32773
221 incall Music 2 Delivery port ID is 32770
222
223* msm-auxpcm
224
225Required properties:
226
227 - compatible : "qcom,msm-auxpcm-dev"
228
229 - qcom,msm-cpudai-auxpcm-mode: mode information. The first value is
230 for 8khz mode, the second is for
231 16khz
232 0 - for PCM
233
234 - qcom,msm-cpudai-auxpcm-sync: sync information. The first value is
235 for 8khz mode, the second is for
236 16khz
237
238 - qcom,msm-cpudai-auxpcm-frame: No.of bytes per frame. The first
239 value is for 8khz mode, the second
240 is for 16khz
241 5 - 256BPF
242 4 - 128BPF
243
244 - qcom,msm-cpudai-auxpcm-quant: Type of quantization. The first
245 value is for 8khz mode, the second
246 is for 16khz
247 2 - Linear quantization
248
249 - qcom,msm-cpudai-auxpcm-num-slots: Number of slots per mode in the
250 msm-cpudai-auxpcm-slot-mapping
251 array.
252 The first value is for 8khz mode, the
253 second is for 16khz. Max number of
254 slots supported by DSP is 4, anything
255 above 4 will be truncated to 4 when
256 sent to DSP.
257
258 - qcom,msm-cpudai-auxpcm-slot-mapping: Array of slot numbers for multi
259 slot scenario. The first array
260 is for 8khz mode, the second is
261 for 16khz. The size of the array
262 is determined by the value in
263 qcom,msm-cpudai-auxpcm-num-slots
264
265 - qcom,msm-cpudai-auxpcm-data: Data field - 0. The first value is
266 for 8khz mode, the second is for
267 16khz
268
269 - qcom,msm-cpudai-auxpcm-pcm-clk-rate: Clock rate for pcm - 2048000. The
270 first value is for 8khz mode, the
271 second is for 16KHz mode. When clock
272 rate is set to zero, then external
273 clock is assumed.
274
275 - qcom,msm-auxpcm-interface: name of AUXPCM interface "primary"
276 indicates primary AUXPCM interface
277 "secondary" indicates secondary
278 AUXPCM interface
279Optional properties:
280
281- pinctrl-names: Pinctrl state names for each pin
282 group configuration.
283- pinctrl-x: Defines pinctrl state for each pin
284 group
285- qcom,msm-cpudai-afe-clk-ver: Indicates version of AFE clock
286 interface to be used for enabling
287 PCM clock. If not defined, selects
288 default AFE clock interface.
289
290* msm-pcm-hostless
291
292Required properties:
293
294 - compatible : "qcom,msm-pcm-hostless"
295
Laxminath Kasam69984802018-02-07 11:35:27 +0530296* msm-audio-apr
Laxminath Kasamd3dff862018-01-09 18:41:52 +0530297
298Required properties:
299
Laxminath Kasam69984802018-02-07 11:35:27 +0530300 - compatible : "qcom,msm-audio-apr"
301 This device is added to represent APR module.
Laxminath Kasamd3dff862018-01-09 18:41:52 +0530302
Meng Wang0bf04672018-05-11 09:10:07 +0800303 - qcom,subsys-name: This value provides the subsystem name where codec
304 is present. It can be "apr_modem" or "apr_adsp". This
305 property enable apr driver to receive subsystem up/down
306 notification from modem/adsp.
307
Laxminath Kasamd3dff862018-01-09 18:41:52 +0530308Optional properties:
309
Laxminath Kasam69984802018-02-07 11:35:27 +0530310 - compatible : "qcom,msm-audio-apr-dummy"
311 Add this compatible as child device to msm-audio-apr device.
Laxminath Kasamd3dff862018-01-09 18:41:52 +0530312 This child device is added after lpass is up to invoke
313 deferred probe devices.
314
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800315* msm-ocmem-audio
316
317Required properties:
318
319 - compatible : "qcom,msm-ocmem-audio"
320
321 - qcom,msm_bus,name: Client name
322
323 - qcom,msm_bus,num_cases: Total number of use cases
324
325 - qcom,msm_bus,active_only: Context flag for requests in active
326 or dual (active & sleep) contex
327
328 - qcom,msm_bus,num_paths: Total number of master-slave pairs
329
330 - qcom,msm_bus,vectors: Arrays of unsigned integers
331 representing:
332 master-id, slave-id, arbitrated
333 bandwidth,
334 instantaneous bandwidth
335* wcd9xxx_intc
336
337Required properties:
338
339 - compatible : "qcom,wcd9xxx-irq"
340
341 - interrupt-controller : Mark this device node as an
342 interrupt controller
343
344 - #interrupt-cells : Should be 1
345
346 - interrupt-parent : Parent interrupt controller
347
348 - qcom,gpio-connect Gpio that connects to parent
349 interrupt controller
350
Banajit Goswamib497f112017-07-12 22:14:59 -0700351* audio-ext-clk-up
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800352
353Required properties:
354
355 - compatible : "qcom,audio-ref-clk"
356
357 - qcom,audio-ref-clk-gpio : PMIC or APQ gpio that will be
358 requested to enable reference
359 or external clock.
360
361Optional properties:
362
363 - qcom,node_has_rpm_clock: Boolean property used to indicate
364 whether ref. clock can be enabled
365 with a gpio toggle or Kernel clock
366 API call.
367
368 - clock-names: Name of the PMIC clock that needs
369 to be enabled for audio ref clock.
370 This clock is set as parent.
371
372 - clocks: phandle reference to the parent
373 clock.
374
Meng Wang417e5712017-03-07 09:44:05 +0800375 - qcom,mclk-clk-reg: Indicate the register address for mclk.
376
Rohit kumar86c4acf2018-01-19 13:15:59 +0530377 - qcom,lpass-mclk-id: Property to update LPASS MCLK Id.
378
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800379* audio_slimslave
380
381Required properties:
382
383 - compatible : "qcom,audio-slimslave"
384
385 - elemental-addr: slimbus slave enumeration address.
386
387* msm-cpe-lsm
388
389Required properties:
390
391 - compatible : "qcom,msm-cpe-lsm"
392 - qcom,msm-cpe-lsm-id : lsm afe port ID. CPE lsm driver uses
393 this property to find out the input afe port ID. Currently
394 only supported values are 1 and 3.
395
396* wcd_us_euro_gpio
397
398Required properties:
399
400 - compatible : "qcom,msm-cdc-pinctrl"
401
Laxminath Kasamad0f6962016-12-14 20:00:35 +0530402Optional properties:
403 - qcom,lpi-gpios : This boolean property is added if GPIOs are under
404 LPI TLMM.
405
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800406* msm-dai-slim
407
408Required properties:
409
410 - compatible : "qcom,msm-dai-slim"
411
412 - elemental-addr: slimbus slave enumeration address.
413
414* wcd_gpio_ctrl
415
416Required properties:
417
418 - compatible : "qcom,msm-cdc-pinctrl"
419
420 - qcom,cdc-rst-n-gpio : TLMM GPIO number
421
422 - pinctrl-names: Pinctrl state names for each pin
423 group configuration.
424 - pinctrl-x: Defines pinctrl state for each pin
425 group.
426* msm_cdc_pinctrl
427
428Required properties:
429
430 - compatible : "qcom,msm-cdc-pinctrl"
431
432 - pinctrl-names: Pinctrl state names for each pin
433 group configuration.
434 - pinctrl-x: Defines pinctrl state for each pin
435 group.
436
437* wcd_dsp_glink
438
439Required properties:
440
441 - compatible : "qcom,wcd-dsp-glink"
Raja Mallikc05db372018-05-03 18:04:31 +0530442 - qcom,msm-codec-glink-edge: Name of the glink edge which is used
443 for IPC.
444 If no name is set, it defaults to "wdsp"
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800445
Banajit Goswamide8271c2017-01-18 00:28:59 -0800446* msm_ext_disp_audio_codec_rx
447
448Required properties:
449
450 - compatible : "qcom,msm-ext-disp-audio-codec-rx"
451
Banajit Goswami6aa4cd12016-11-21 19:59:25 -0800452Example:
453
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800454 qcom,msm-pcm {
455 compatible = "qcom,msm-pcm-dsp";
456 qcom,msm-pcm-dsp-id = <0>;
457 };
458
459 qcom,msm-pcm-low-latency {
460 compatible = "qcom,msm-pcm-dsp";
461 qcom,msm-pcm-dsp-id = <1>;
462 qcom,msm-pcm-low-latency;
463 };
464
Derek Chen642aa6d2016-03-24 14:29:12 -0400465 qcom,msm-pcm-loopback-low-latency {
466 compatible = "qcom,msm-pcm-loopback";
467 qcom,msm-pcm-loopback-low-latency;
468 };
469
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800470 qcom,msm-pcm-routing {
471 compatible = "qcom,msm-pcm-routing";
472 };
473
474 qcom,msm-pcm-lpa {
475 compatible = "qcom,msm-pcm-lpa";
476 };
477
478 qcom,msm-compr-dsp {
479 compatible = "qcom,msm-compr-dsp";
480 };
481
Banajit Goswami6aa4cd12016-11-21 19:59:25 -0800482 qcom,msm-compress-dsp {
483 compatible = "qcom,msm-compress-dsp";
484 };
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800485
486 qcom,msm-voip-dsp {
487 compatible = "qcom,msm-voip-dsp";
488 };
489
490 qcom,msm-pcm-voice {
491 compatible = "qcom,msm-pcm-voice";
492 qcom,destroy-cvd;
493 };
494
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800495 qcom,msm-voice-host-pcm {
496 compatible = "qcom,msm-voice-host-pcm";
497 };
498
499 qcom,msm-stub-codec {
500 compatible = "qcom,msm-stub-codec";
501 };
502
503 qcom,msm-dai-fe {
504 compatible = "qcom,msm-dai-fe";
505 };
506
507 qcom,msm-pcm-dtmf {
508 compatible = "qcom,msm-pcm-dtmf";
509 };
510
511 qcom,msm-dai-stub {
512 compatible = "qcom,msm-dai-stub";
513 };
514
515 qcom,msm-dai-q6-spdif {
516 compatible = "qcom,msm-dai-q6-spdif";
517 };
518
519 qcom,msm-dai-q6-hdmi {
520 compatible = "qcom,msm-dai-q6-hdmi";
521 qcom,msm-dai-q6-dev-id = <8>;
522 };
523
524 dai_dp: qcom,msm-dai-q6-dp {
525 compatible = "qcom,msm-dai-q6-hdmi";
526 qcom,msm-dai-q6-dev-id = <24608>;
527 };
528
529 qcom,msm-dai-q6 {
530 compatible = "qcom,msm-dai-q6";
531 qcom,msm-dai-q6-sb-0-rx {
532 compatible = "qcom,msm-dai-q6-dev";
533 qcom,msm-dai-q6-dev-id = <16384>;
534 };
535
536 qcom,msm-dai-q6-sb-0-tx {
537 compatible = "qcom,msm-dai-q6-dev";
538 qcom,msm-dai-q6-dev-id = <16385>;
539 };
540
541 qcom,msm-dai-q6-sb-1-rx {
542 compatible = "qcom,msm-dai-q6-dev";
543 qcom,msm-dai-q6-dev-id = <16386>;
544 };
545
546 qcom,msm-dai-q6-sb-1-tx {
547 compatible = "qcom,msm-dai-q6-dev";
548 qcom,msm-dai-q6-dev-id = <16387>;
549 };
550
551 qcom,msm-dai-q6-sb-3-rx {
552 compatible = "qcom,msm-dai-q6-dev";
553 qcom,msm-dai-q6-dev-id = <16390>;
554 };
555
556 qcom,msm-dai-q6-sb-3-tx {
557 compatible = "qcom,msm-dai-q6-dev";
558 qcom,msm-dai-q6-dev-id = <16391>;
559 };
560
561 qcom,msm-dai-q6-sb-4-rx {
562 compatible = "qcom,msm-dai-q6-dev";
563 qcom,msm-dai-q6-dev-id = <16392>;
564 };
565
566 qcom,msm-dai-q6-sb-4-tx {
567 compatible = "qcom,msm-dai-q6-dev";
568 qcom,msm-dai-q6-dev-id = <16393>;
569 };
570
571 qcom,msm-dai-q6-sb-5-tx {
572 compatible = "qcom,msm-dai-q6-dev";
573 qcom,msm-dai-q6-dev-id = <16395>;
574 };
575
576 qcom,msm-dai-q6-sb-6-rx {
577 compatible = "qcom,msm-dai-q6-dev";
578 qcom,msm-dai-q6-dev-id = <16396>;
579 };
580
581 qcom,msm-dai-q6-sb-6-tx {
582 compatible = "qcom,msm-dai-q6-dev";
583 qcom,msm-dai-q6-dev-id = <16397>;
584 };
585
586 qcom,msm-dai-q6-bt-sco-rx {
587 compatible = "qcom,msm-dai-q6-dev";
588 qcom,msm-dai-q6-dev-id = <12288>;
589 };
590
591 qcom,msm-dai-q6-bt-sco-tx {
592 compatible = "qcom,msm-dai-q6-dev";
593 qcom,msm-dai-q6-dev-id = <12289>;
594 };
595
596 qcom,msm-dai-q6-int-fm-rx {
597 compatible = "qcom,msm-dai-q6-dev";
598 qcom,msm-dai-q6-dev-id = <12292>;
599 };
600
601 qcom,msm-dai-q6-int-fm-tx {
602 compatible = "qcom,msm-dai-q6-dev";
603 qcom,msm-dai-q6-dev-id = <12293>;
604 };
605
606 qcom,msm-dai-q6-be-afe-pcm-rx {
607 compatible = "qcom,msm-dai-q6-dev";
608 qcom,msm-dai-q6-dev-id = <224>;
609 };
610
611 qcom,msm-dai-q6-be-afe-pcm-tx {
612 compatible = "qcom,msm-dai-q6-dev";
613 qcom,msm-dai-q6-dev-id = <225>;
614 };
615
616 qcom,msm-dai-q6-afe-proxy-rx {
617 compatible = "qcom,msm-dai-q6-dev";
618 qcom,msm-dai-q6-dev-id = <241>;
619 };
620
621 qcom,msm-dai-q6-afe-proxy-tx {
622 compatible = "qcom,msm-dai-q6-dev";
623 qcom,msm-dai-q6-dev-id = <240>;
624 };
625
626 qcom,msm-dai-q6-incall-record-rx {
627 compatible = "qcom,msm-dai-q6-dev";
628 qcom,msm-dai-q6-dev-id = <32771>;
629 };
630
631 qcom,msm-dai-q6-incall-record-tx {
632 compatible = "qcom,msm-dai-q6-dev";
633 qcom,msm-dai-q6-dev-id = <32772>;
634 };
635
636 qcom,msm-dai-q6-incall-music-rx {
637 compatible = "qcom,msm-dai-q6-dev";
638 qcom,msm-dai-q6-dev-id = <32773>;
639 };
640
641 qcom,msm-dai-q6-incall-music-2-rx {
642 compatible = "qcom,msm-dai-q6-dev";
643 qcom,msm-dai-q6-dev-id = <32770>;
644 };
Anurag Chouhan6d702fe2019-09-26 14:53:39 +0530645
646 qcom,msm-dai-q6-incall-music-dl-rx {
647 compatible = "qcom,msm-dai-q6-dev";
648 qcom,msm-dai-q6-dev-id = <32774>;
649 };
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800650 };
651
652 qcom,msm-pri-auxpcm {
653 qcom,msm-cpudai-auxpcm-mode = <1>, <1>;
654 qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
655 qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
656 qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
657 qcom,msm-cpudai-auxpcm-num-slots = <4>, <4>;
658 qcom,msm-cpudai-auxpcm-slot-mapping = <1 0 0 0>, <1 3 0 0>;
659 qcom,msm-cpudai-auxpcm-data = <0>, <0>;
660 qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
661 qcom,msm-auxpcm-interface = "primary";
662 compatible = "qcom,msm-auxpcm-dev";
663 pinctrl-names = "default", "idle";
664 pinctrl-0 = <&pri_aux_pcm_active &pri_aux_pcm_din_active>;
665 pinctrl-1 = <&pri_aux_pcm_sleep &pri_aux_pcm_din_sleep>;
666 };
667
668 qcom,msm-pcm-hostless {
669 compatible = "qcom,msm-pcm-hostless";
670 };
671
Laxminath Kasam69984802018-02-07 11:35:27 +0530672 qcom,msm-audio-apr {
673 compatible = "qcom,msm-audio-apr";
674 msm_audio_apr_dummy {
675 compatible = "qcom,msm-audio-apr-dummy";
Laxminath Kasamd3dff862018-01-09 18:41:52 +0530676 };
Asish Bhattacharya135850b2020-03-03 19:27:48 +0530677 q6core {
678 compatible = "qcom,q6core-audio";
679 };
Meng Wang0bf04672018-05-11 09:10:07 +0800680
681 qcom,subsys-name = "apr_adsp";
Laxminath Kasamd3dff862018-01-09 18:41:52 +0530682 };
683
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800684 qcom,msm-ocmem-audio {
685 compatible = "qcom,msm-ocmem-audio";
686 qcom,msm_bus,name = "audio-ocmem";
687 qcom,msm_bus,num_cases = <2>;
688 qcom,msm_bus,active_only = <0>;
689 qcom,msm_bus,num_paths = <1>;
690 qcom,msm_bus,vectors =
691 <11 604 0 0>,
692 <11 604 32505856 325058560>;
693 };
694
695 wcd9xxx_intc: wcd9xxx-irq {
696 compatible = "qcom,wcd9xxx-irq";
697 interrupt-controller;
698 #interrupt-cells = <1>;
699 interrupt-parent = <&msmgpio>;
700 interrupts = <72 0>;
701 interrupt-names = "cdc-int";
702 };
703
704 clock_audio: audio_ext_clk {
705 compatible = "qcom,audio-ref-clk";
706 qcom,audio-ref-clk-gpios = <&pm8994_gpios 15 0>;
707 clock-names = "osr_clk";
708 clocks = <&clock_rpm clk_div_clk1>;
709 qcom,node_has_rpm_clock;
710 #clock-cells = <1>;
711 pinctrl-names = "sleep", "active";
712 pinctrl-0 = <&spkr_i2s_clk_sleep>;
713 pinctrl-1 = <&spkr_i2s_clk_active>;
714 };
715
716 audio_slimslave {
717 compatible = "qcom,audio-slimslave";
718 elemental-addr = [ff ff ff ff 17 02];
719 };
720
721 msm_dai_slim {
722 compatible = "qcom,msm_dai_slim";
723 elemental-addr = [ff ff ff fe 17 02];
724 };
725
726 wcd_gpio_ctrl {
727 compatible = "qcom,msm-cdc-pinctrl";
728 qcom,cdc-rst-n-gpio = <&tlmm 64 0>;
729 pinctrl-names = "aud_active", "aud_sleep";
730 pinctrl-0 = <&cdc_reset_active>;
731 pinctrl-1 = <&cdc_reset_sleep>;
732 };
733
734 msm_cdc_pinctrl {
735 compatible = "qcom,msm-cdc-pinctrl";
736 pinctrl-names = "aud_active", "aud_sleep";
737 pinctrl-0 = <&cdc_reset_active>;
738 pinctrl-1 = <&cdc_reset_sleep>;
739 };
740
741 wcd_dsp_glink {
742 compatible = "qcom,wcd-dsp-glink";
Raja Mallikc05db372018-05-03 18:04:31 +0530743 qcom,msm-codec-glink-edge = "bg";
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800744 };
745
Banajit Goswamide8271c2017-01-18 00:28:59 -0800746 msm_ext_disp_audio_codec_rx {
747 compatible = "qcom,msm-ext-disp-audio-codec-rx";
748 };
749
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800750
751* MSM8916 ASoC Machine driver
752
753Required properties:
754- compatible : "qcom,msm8x16-audio-codec"
755- qcom,model : The user-visible name of this sound card.
756- qcom,msm-snd-card-id : This id is used to recognize the sound card number
757- qcom,msm-codec-type : This property is used to recognize the codec type
758 internal or external.
759- qcom,msm-hs-micbias-type : This property is used to recognize the headset
760 micbias type, internal or external.
761- qcom,msm-ext-pa : This property is used to inform machine driver about
762 the connection of external PA over available MI2S interfaces,
763 following values can be given to this property.
764 primary -> Primary MI2S interface
765 secondary -> Secondary MI2S interface
766 tertiary -> Tertiary MI2S interface
767 quaternary -> Quaternary MI2S interface
768- qcom,msm-mclk-freq : This property is used to inform machine driver about
769mclk frequency needs to be configured for internal and external PA.
770- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
771switch type on target typically the switch type will be normally open or
772normally close, value for this property 0 for normally close and 1 for
773normally open.
774- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
775switch type on target typically the switch type will be normally open or
776normally close, value for this property 0 for normally close and 1 for
777normally open.
778- qcom,audio-routing : A list of the connections between audio components.
779- pinctrl-names : Pincntrl entries to configure the PDM gpio lines and
780 cross connection switch gpio accordingly
781- pinctrl-0 : This explains the active state of the PDM gpio lines
782- pinctrl-1 : This explains the suspend state of the PDM gpio lines
783- pinctrl-2 : This explains the active state of the cross connection
784 gpio lines
785- pinctrl-3 : This explains the suspend state of the cross connection
786 gpio lines
787- qcom,tapan-mclk-clk-freq : Tapan mclk Freq in Hz.
788- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
789- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
790- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
791- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
792- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
793- qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio
794 codec.
795- asoc-platform: This is phandle list containing the references to platform device
796 nodes that are used as part of the sound card dai-links.
797- asoc-platform-names: This property contains list of platform names. The order of
798 the platform names should match to that of the phandle order
799 given in "asoc-platform".
800- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
801 that are used as part of the sound card dai-links.
802- asoc-cpu-names: This property contains list of cpu dai names. The order of the
803 cpu dai names should match to that of the phandle order given
804 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
805 where the id (%d) field represents the back-end AFE port id that
806 this CPU dai is associated with.
807- asoc-codec: This is phandle list containing the references to codec dai device
808 nodes that are used as part of the sound card dai-links.
809- asoc-codec-names: This property contains list of codec dai names. The order of the
810 codec dai names should match to that of the phandle order given
811 in "asoc-codec".
812
813Optional Properties:
814- qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
815
816Example:
817
818 msm_dig_codec: qcom,msm-int-codec {
819 compatible = "qcom,msm_int_core_codec";
820 qcom,dig-cdc-base-addr = <0xc0f0000>;
821 };
822
823 sound {
824 compatible = "qcom,msm8x16-audio-codec";
825 qcom,model = "msm8x16-snd-card";
826 qcom,msm-snd-card-id = <0>;
827 qcom,msm-codec-type = "internal";
828 qcom,msm-ext-pa = <0>;
829 qcom,msm-mclk-freq = <12288000>;
830 qcom,msm-mbhc-hphl-swh = <0>;
831 qcom,msm-mbhc-gnd-swh = <0>;
832 qcom,msm-hs-micbias-type = "internal";
833 qcom,cdc-us-euro-gpios = <&msmgpio 120 0>;
834 qcom,audio-routing =
835 "RX_BIAS", "MCLK",
836 "INT_LDO_H", "MCLK",
837 "MIC BIAS External", "Handset Mic",
838 "MIC BIAS Internal2", "Headset Mic",
839 "MIC BIAS External", "Secondary Mic",
840 "AMIC1", "MIC BIAS External",
841 "AMIC2", "MIC BIAS Internal2",
842 "AMIC3", "MIC BIAS External";
843 pinctrl-names = "cdc_pdm_lines_act",
844 "cdc_pdm_lines_sus",
845 "cross_conn_det_act",
846 "cross_conn_det_sus";
847 pinctrl-0 = <&cdc_pdm_lines_act>;
848 pinctrl-1 = <&cdc_pdm_lines_sus>;
849 pinctrl-2 = <&cross_conn_det_act>;
850 pinctrl-3 = <&cross_conn_det_sus>;
851 qcom,tapan-mclk-clk-freq = <9600000>;
852 qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>;
853 qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>;
854 qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>;
855 qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>;
856 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
857 qcom,tapan-codec-9302;
858 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
859 <&loopback>, <&compress>, <&hostless>,
860 <&afe>, <&lsm>, <&routing>, <&lpa>;
861 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
862 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
863 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
864 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
865 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>, <&dai_dp>,
866 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
867 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
868 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
869 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>,
870 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
871 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
872 <&incall_music_2_rx>;
873 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
874 "msm-dai-q6-dp.24608",
875 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
876 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
877 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
878 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
879 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
880 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
881 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
882 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
883 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
884 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
885 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
886 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
887 asoc-codec = <&stub>, <&pm8916_tombak_dig>;
888 asoc-codec-names = "msm-stub-codec.1", "tombak_codec";
889 };
890
891* MSM8974 ASoC Machine driver
892
893Required properties:
894- compatible : "qcom,msm8974-audio-taiko"
895- qcom,model : The user-visible name of this sound card.
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800896- qcom,audio-routing : A list of the connections between audio components.
897 Each entry is a pair of strings, the first being the connection's sink,
898 the second being the connection's source.
899- qcom,cdc-mclk-gpios : GPIO on which mclk signal is coming.
900- qcom,taiko-mclk-clk-freq : Taiko mclk Freq in Hz. currently only 9600000Hz
901 is supported.
902- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
903- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
904- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
905- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
906- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
907 Possible Values:
908 prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S
909 prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S
910- qcom,sec-auxpcm-gpio-clk : GPIO on which Secondary AUXPCM clk signal is coming.
911- qcom,sec-auxpcm-gpio-sync : GPIO on which Secondary AUXPCM SYNC signal is coming.
912- qcom,sec-auxpcm-gpio-din : GPIO on which Secondary AUXPCM DIN signal is coming.
913- qcom,sec-auxpcm-gpio-dout : GPIO on which Secondary AUXPCM DOUT signal is coming.
914- qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
915- asoc-platform: This is phandle list containing the references to platform device
916 nodes that are used as part of the sound card dai-links.
917- asoc-platform-names: This property contains list of platform names. The order of
918 the platform names should match to that of the phandle order
919 given in "asoc-platform".
920- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
921 that are used as part of the sound card dai-links.
922- asoc-cpu-names: This property contains list of cpu dai names. The order of the
923 cpu dai names should match to that of the phandle order given
924 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
925 where the id (%d) field represents the back-end AFE port id that
926 this CPU dai is associated with.
927- asoc-codec: This is phandle list containing the references to codec dai device
928 nodes that are used as part of the sound card dai-links.
929- asoc-codec-names: This property contains list of codec dai names. The order of the
930 codec dai names should match to that of the phandle order given
931 in "asoc-codec".
932Optional properties:
Laxminath Kasamaad2d182017-01-27 23:01:22 +0530933- reg : Offset and length of the register region(s) for MI2S/PCM MUX.
934 Not applicable for all targets.
935- reg-names : Register region name(s) referenced in reg above.
936 Not applicable for all targets.
937 Required register resource entries are:
938 "lpaif_pri_mode_muxsel": Physical address of MUX to select between
939 Primary PCM and Primary MI2S
940 "lpaif_sec_mode_muxsel": Physical address of MUX to select between
941 Secondary PCM and Secondary MI2S
942 "lpaif_tert_mode_muxsel": Physical address of MUX to select between
943 Primary PCM and Tertiary MI2S
944 "lpaif_quat_mode_muxsel": Physical address of MUX to select between
945 Secondary PCM and Quarternary MI2S
Banajit Goswami0530e2f2016-12-09 21:34:37 -0800946- qcom,hdmi-audio-rx: specifies if HDMI audio support is enabled or not.
947- qcom,ext-ult-spk-amp-gpio : GPIO for enabling of speaker path amplifier.
948
949- qcom,ext-ult-lo-amp-gpio: GPIO to enable external ultrasound lineout
950 amplifier.
951
952- qcom,headset-jack-type-NO: Adjust GPIO level based on the headset jack type.
953- qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio
954 codec.
955- qcom,mbhc-bias-internal: Flag to indicate if internal micbias should be used
956 for headset detection.
957- qcom,dock-plug-det-irq: Interrupt line to detect Docking/Undocking of Liquid
958 device
959- qcom,ext-spk-rear-panel-irq: Interrupt line to detect rear panel speakers
960 jack for Dragon Board.
961- qcom,ext-spk-front-panel-irq: Interrupt line to detect front panel speakers
962 jack for Dragon Board.
963- qcom,ext-mic-front-panel-irq: Interrupt line to detect front panel microphone
964 jack for Dragon Board.
965- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware.
966 Possible Values:
967 4-pole-jack : Jack on the hardware is 4-pole.
968 5-pole-jack : Jack on the hardware is 5-pole.
969 6-pole-jack : Jack on the hardware is 6-pole.
970
971* APQ8074 ASoC Machine driver
972
973Required properties:
974- compatible : "qcom,apq8074-audio-taiko"
975
976Example:
977
978sound {
979 compatible = "qcom,msm8974-audio-taiko";
980 qcom,model = "msm8974-taiko-snd-card";
981
982 qcom,audio-routing =
983 "RX_BIAS", "MCLK",
984 "LDO_H", "MCLK",
985 "HEADPHONE", "LDO_H",
986 "Ext Spk Bottom Pos", "LINEOUT1",
987 "Ext Spk Bottom Neg", "LINEOUT3",
988 "Ext Spk Top Pos", "LINEOUT2",
989 "Ext Spk Top Neg", "LINEOUT4",
990 "AMIC1", "MIC BIAS1 Internal1",
991 "MIC BIAS1 Internal1", "Handset Mic",
992 "AMIC2", "MIC BIAS2 External",
993 "MIC BIAS2 External", "Headset Mic",
994 "AMIC3", "MIC BIAS3 Internal1",
995 "MIC BIAS3 Internal1", "ANCRight Headset Mic",
996 "AMIC4", "MIC BIAS1 Internal2",
997 "MIC BIAS1 Internal2", "ANCLeft Headset Mic",
998 "DMIC1", "MIC BIAS1 External",
999 "MIC BIAS1 External", "Digital Mic1",
1000 "DMIC2", "MIC BIAS1 External",
1001 "MIC BIAS1 External", "Digital Mic2",
1002 "DMIC3", "MIC BIAS3 External",
1003 "MIC BIAS3 External", "Digital Mic3",
1004 "DMIC4", "MIC BIAS3 External",
1005 "MIC BIAS3 External", "Digital Mic4",
1006 "DMIC5", "MIC BIAS4 External",
1007 "MIC BIAS4 External", "Digital Mic5",
1008 "DMIC6", "MIC BIAS4 External",
1009 "MIC BIAS4 External", "Digital Mic6";
1010
1011 qcom,cdc-mclk-gpios = <&pm8941_gpios 15 0>;
1012 qcom,taiko-mclk-clk-freq = <9600000>;
1013 qcom,us-euro-gpios = <&pm8941_gpios 20 0>;
1014
1015 qcom,hdmi-audio-rx;
1016 qcom,ext-ult-lo-amp-gpio = <&pm8941_gpios 6 0>;
1017
1018 qcom,ext-mclk-gpio = <&msmgpio 47 0>;
1019 qcom,dock-plug-det-irq = <&pm8841_mpps 2 0>;
1020 qcom,prim-auxpcm-gpio-clk = <&msmgpio 65 0>;
1021 qcom,prim-auxpcm-gpio-sync = <&msmgpio 66 0>;
1022 qcom,prim-auxpcm-gpio-din = <&msmgpio 67 0>;
1023 qcom,prim-auxpcm-gpio-dout = <&msmgpio 68 0>;
1024 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
1025 qcom,sec-auxpcm-gpio-clk = <&msmgpio 79 0>;
1026 qcom,sec-auxpcm-gpio-sync = <&msmgpio 80 0>;
1027 qcom,sec-auxpcm-gpio-din = <&msmgpio 81 0>;
1028 qcom,sec-auxpcm-gpio-dout = <&msmgpio 82 0>;
1029 qcom,mbhc-audio-jack-type = "4-pole-jack";
1030};
1031
1032* msm-dai-mi2s
1033
1034[First Level Nodes]
1035
1036Required properties:
1037
1038 - compatible : "msm-dai-mi2s"
1039
1040 [Second Level Nodes]
1041
1042Required properties:
1043
1044 - compatible : "qcom,msm-dai-q6-mi2s"
1045 - qcom,msm-dai-q6-mi2s-dev-id: MSM or MDM can use Slimbus or I2S interface to
1046 transfer data to (WCD9XXX) codec.
1047 If slimbus interface is used then "msm-dai-q6"
1048 needs to be filled with correct data for
1049 slimbus interface.
1050 The sections "msm-dai-mi2s" is used by MDM or
1051 MSM to use I2S interface with codec.
1052 This section is used by CPU driver in ASOC MSM
1053 to configure MI2S interface. MSM internally
1054 has multiple MI2S namely Primary, Secondary,
1055 Tertiary and Quaternary MI2S.
1056 They are represented with id 0, 1, 2, 3
1057 respectively.
1058 The field "qcom,msm-dai-q6-mi2s-dev-id"
1059 represents which of the MI2S block is used.
1060 These MI2S are connected to I2S interface.
1061
1062 - qcom,msm-mi2s-rx-lines: Each MI2S interface in MSM has one or more SD
1063 lines. These lines are used for data transfer
1064 between codec and MSM.
1065 This element in indicates which output RX lines
1066 are used in the MI2S interface.
1067
1068 - qcom,msm-mi2s-tx-lines: Each MI2S interface in MSM has one or more SD
1069 lines. These lines are used for data transfer
1070 between codec and MSM.
1071 This element in indicates which input TX lines
1072 are used in the MI2S interface.
1073
1074Optional properties:
1075
1076- pinctrl-names: Pinctrl state names for each pin group
1077 configuration.
1078- pinctrl-x: Defines pinctrl state for each pin group
1079
1080Example:
1081
1082qcom,msm-dai-mi2s {
1083 compatible = "qcom,msm-dai-mi2s";
1084 qcom,msm-dai-q6-mi2s-prim {
1085 compatible = "qcom,msm-dai-q6-mi2s";
1086 qcom,msm-dai-q6-mi2s-dev-id = <0>;
1087 qcom,msm-mi2s-rx-lines = <2>;
1088 qcom,msm-mi2s-tx-lines = <1>;
1089 pinctrl-names = "default", "idle";
1090 pinctrl-0 = <&tert_mi2s_active &tert_mi2s_sd0_active>;
1091 pinctrl-1 = <&tert_mi2s_sleep &tert_mi2s_sd0_sleep>;
1092 };
1093};
1094
1095* msm-adsp-loader
1096
1097Required properties:
1098 - compatible : "qcom,adsp-loader"
1099 - qcom,adsp-state:
1100 It is possible that some MSM use PIL to load the ADSP image. While
1101 other MSM may use SBL to load the ADSP image at boot. Audio APR needs
1102 state of ADSP to register and enable APR to be used for sending commands
1103 to ADSP. so adsp-state represents the state of ADSP to ADSP loader.
1104 Value of 0 indicates ADSP loader needs to use PIL and value of 2 means
1105 ADSP image is already loaded by SBL.
1106
1107Optional properties:
1108 - qcom,proc-img-to-load;
1109 This property can be used to override default ADSP
1110 loading by PIL. Based on string input, different proc is
1111 loaded. Right now we are adding option "modem"
1112 for 8916 purpose. Default image will be "adsp" which
1113 will load LPASS Q6 for other targets as expected.
1114 "adsp" option need not be explicitly mentioned in
1115 DTSI file, as it is default option.
1116
1117Example:
1118
1119qcom,msm-adsp-loader {
1120 compatible = "qcom,adsp-loader";
1121 qcom,adsp-state = <2>;
1122 qcom,proc-img-to-load = "modem";
1123};
1124
1125* msm-audio-ion
1126
1127Required properties:
1128 - compatible : "qcom,msm-audio-ion"
1129
1130Optional properties:
1131 - qcom,smmu-version:
1132 version ID to provide info regarding smmu version
1133 used in chipset. If ARM SMMU HW - use id value as 1,
1134 If QSMMU HW - use id value as 2.
1135
Banajit Goswami87405a22017-02-25 02:55:40 -08001136 - qcom,smmu-sid-mask:
1137 Mask for the Stream ID part of SMMU SID.
1138
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001139 - qcom,smmu-enabled:
1140 It is possible that some MSM have SMMU in ADSP. While other MSM use
1141 no SMMU. Audio lib introduce wrapper for ION APIs. The wrapper needs
1142 presence of SMMU in ADSP to handle ION APIs differently.
1143 Presence of this property means ADSP has SMMU in it.
1144 - iommus:
1145 A phandle parsed by smmu driver. Number of entries will vary across
1146 targets.
1147
1148Example:
1149
1150qcom,msm-audio-ion {
1151 compatible = "qcom,msm-audio-ion;
1152 qcom,smmu-enabled;
1153};
1154
1155* msm-dai-tdm
1156
1157[First Level Nodes]
1158
1159Required properties:
1160
1161 - compatible : "qcom,msm-dai-tdm"
1162 - qcom,msm-cpudai-tdm-group-id: ID of the group device. TDM interface
1163 supports up to 8 groups:
1164 Primary RX: 37120
1165 Primary TX: 37121
1166 Secondary RX: 37136
1167 Secondary TX: 37137
1168 Tertiary RX: 37152
1169 Tertiary TX: 37153
1170 Quaternary RX: 37168
1171 Quaternary TX: 37169
1172
1173 - qcom,msm-cpudai-tdm-group-num-ports: Number of ports in
1174 msm-cpudai-tdm-group-port-id array.
1175 Max number of ports supported by DSP is 8.
1176
1177 - qcom,msm-cpudai-tdm-group-port-id: Array of TDM port IDs of the group.
1178 The size of the array is determined by
1179 the value in msm-cpudai-tdm-group-num-ports.
1180 Each group supports up to 8 ports:
1181 Primary RX: 36864, 36866, 36868, 36870,
1182 36872, 36874, 36876, 36878
1183 Primary TX: 36865, 36867, 36869, 36871,
1184 36873, 36875, 36877, 36879
1185 Secondary RX: 36880, 36882, 36884, 36886,
1186 36888, 36890, 36892, 36894
1187 Secondary TX: 36881, 36883, 36885, 36887,
1188 36889, 36891, 36893, 36895
1189 Tertiary RX: 36896, 36898, 36900, 36902,
1190 36904, 36906, 36908, 36910
1191 Tertiary TX: 36897, 36899, 36901, 36903,
1192 36905, 36907, 36909, 36911
1193 Quaternary RX: 36912, 36914, 36916, 36918,
1194 36920, 36922, 36924, 36926
1195 Quaternary TX: 36913, 36915, 36917, 36919,
1196 36921, 36923, 36925, 36927
1197
1198 - qcom,msm-cpudai-tdm-clk-rate: Clock rate for tdm - 12288000.
1199 When clock rate is set to zero,
1200 then external clock is assumed.
1201
Raja Mallikc05db372018-05-03 18:04:31 +05301202 - qcom,msm-cpudai-tdm-afe-ebit-unsupported: Notify if ebit
1203 setting is needed.When this is
1204 set, along with clock rate as
1205 zero, then afe is not configured
1206 for clock.
1207
1208 - qcom,msm-cpudai-tdm-sec-port-enable: For chipsets with the
1209 limitation where we need to enable
1210 both RX and TX AFE ports, this flag
1211 is used to enable TX/RX port for
1212 RX/TX streams.
1213
Karthikeyan Mani99b6bab2017-02-27 14:24:20 -08001214 - qcom,msm-cpudai-tdm-clk-internal: Clock Source.
1215 0 - EBIT clock from clk tree
1216 1 - IBIT clock from clk tree
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001217
1218 - qcom,msm-cpudai-tdm-sync-mode: Synchronization setting.
1219 0 - Short sync bit mode
1220 1 - Long sync mode
1221 2 - Short sync slot mode
1222
1223 - qcom,msm-cpudai-tdm-sync-src: Synchronization source.
1224 0 - External source
1225 1 - Internal source
1226
1227 - qcom,msm-cpudai-tdm-data-out: Data out signal to drive with other masters.
1228 0 - Disable
1229 1 - Enable
1230
1231 - qcom,msm-cpudai-tdm-invert-sync: Invert the sync.
1232 0 - Normal
1233 1 - Invert
1234
1235 - qcom,msm-cpudai-tdm-data-delay: Number of bit clock to delay data
1236 with respect to sync edge.
1237 0 - 0 bit clock cycle
1238 1 - 1 bit clock cycle
1239 2 - 2 bit clock cycle
1240
Karthikeyan Mani99b6bab2017-02-27 14:24:20 -08001241 [Second Level Nodes]
1242
1243Required properties:
1244
1245 - compatible : "qcom,msm-dai-q6-tdm"
1246 - qcom,msm-dai-q6-mi2s-dev-id: TDM port ID.
1247
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001248 - qcom,msm-cpudai-tdm-data-align: Indicate how data is packed
1249 within the slot. For example, 32 slot width in case of
1250 sample bit width is 24.
1251 0 - MSB
1252 1 - LSB
1253
1254Optional properties:
1255
1256 - qcom,msm-cpudai-tdm-header-start-offset: TDM Custom header start offset
1257 in bytes from this sub-frame. The bytes is counted from 0.
1258 0 is mapped to the 1st byte in or out of
1259 the digital serial data line this sub-frame belong to.
1260 Supported value: 0, 4, 8.
1261
1262 - qcom,msm-cpudai-tdm-header-width: Header width per frame followed.
1263 2 bytes for MOST/TDM case.
1264 Supported value: 2.
1265
1266 - qcom,msm-cpudai-tdm-header-num-frame-repeat: Number of header followed.
1267 Supported value: 8.
1268
1269 - pinctrl-names: Pinctrl state names for each pin group
1270 configuration.
1271
1272 - pinctrl-x: Defines pinctrl state for each pin group.
1273
1274Example:
1275
1276 qcom,msm-dai-tdm-quat-rx {
1277 compatible = "qcom,msm-dai-tdm";
1278 qcom,msm-cpudai-tdm-group-id = <37168>;
1279 qcom,msm-cpudai-tdm-group-num-ports = <1>;
1280 qcom,msm-cpudai-tdm-group-port-id = <36912>;
1281 qcom,msm-cpudai-tdm-clk-rate = <12288000>;
Karthikeyan Mani99b6bab2017-02-27 14:24:20 -08001282 qcom,msm-cpudai-tdm-clk-internal = <1>;
1283 qcom,msm-cpudai-tdm-sync-mode = <0>;
1284 qcom,msm-cpudai-tdm-sync-src = <1>;
1285 qcom,msm-cpudai-tdm-data-out = <0>;
1286 qcom,msm-cpudai-tdm-invert-sync = <0>;
1287 qcom,msm-cpudai-tdm-data-delay = <0>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001288 pinctrl-names = "default", "sleep";
1289 pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>;
1290 pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>;
1291 dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 {
1292 compatible = "qcom,msm-dai-q6-tdm";
1293 qcom,msm-cpudai-tdm-dev-id = <36912>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001294 qcom,msm-cpudai-tdm-data-align = <0>;
1295 qcom,msm-cpudai-tdm-header-start-offset = <0>;
1296 qcom,msm-cpudai-tdm-header-width = <2>;
1297 qcom,msm-cpudai-tdm-header-num-frame-repeat = <8>;
1298 };
1299 };
1300
1301* MSM8996 ASoC Machine driver
1302
1303Required properties:
1304- compatible : "qcom,msm8996-asoc-snd-tomtom" for tomtom codec and
1305 node is "sound" and "qcom,msm8996-asoc-snd-tasha"
1306 for tasha codec and node is "sound-9335"
1307- qcom,model : The user-visible name of this sound card.
1308- qcom,tomtom-mclk-clk-freq : MCLK frequency value for tomtom codec
1309 and node is "sound"
1310- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec
1311 and node is "sound-9335"
1312- qcom,audio-routing : A list of the connections between audio components.
1313- asoc-platform: This is phandle list containing the references to platform device
1314 nodes that are used as part of the sound card dai-links.
1315- asoc-platform-names: This property contains list of platform names. The order of
1316 the platform names should match to that of the phandle order
1317 given in "asoc-platform".
1318- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
1319 that are used as part of the sound card dai-links.
1320- asoc-cpu-names: This property contains list of cpu dai names. The order of the
1321 cpu dai names should match to that of the phandle order given
1322 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
1323 where the id (%d) field represents the back-end AFE port id that
1324 this CPU dai is associated with.
1325- asoc-codec: This is phandle list containing the references to codec dai device
1326 nodes that are used as part of the sound card dai-links.
1327- asoc-codec-names: This property contains list of codec dai names. The order of the
1328 codec dai names should match to that of the phandle order given
1329 in "asoc-codec".
1330Optional properties:
1331- qcom,ext-ult-spk-amp-gpio : GPIO to enable ultrasound emitter amp.
1332- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware.
1333 Possible Values:
1334 4-pole-jack : Jack on the hardware is 4-pole.
1335 5-pole-jack : Jack on the hardware is 5-pole.
1336 6-pole-jack : Jack on the hardware is 6-pole.
1337- clock-names : clock name defined for external clock.
1338- clocks : external clock defined for codec clock.
1339- qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers.
1340- qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset.
1341- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
1342- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
1343- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
1344
1345Example:
1346
1347 sound {
1348 compatible = "qcom,msm8996-asoc-snd";
1349 qcom,model = "msm8996-tomtom-snd-card";
1350
1351 qcom,audio-routing =
1352 "RX_BIAS", "MCLK",
1353 "LDO_H", "MCLK",
1354 "AIF4 MAD", "MCLK",
1355 "ultrasound amp", "LINEOUT1",
1356 "ultrasound amp", "LINEOUT3",
1357 "AMIC1", "MIC BIAS1 Internal1",
1358 "MIC BIAS1 Internal1", "Handset Mic",
1359 "AMIC2", "MIC BIAS2 External",
1360 "MIC BIAS2 External", "Headset Mic",
1361 "AMIC3", "MIC BIAS2 External",
1362 "MIC BIAS2 External", "ANCRight Headset Mic",
1363 "AMIC4", "MIC BIAS2 External",
1364 "MIC BIAS2 External", "ANCLeft Headset Mic",
1365 "DMIC1", "MIC BIAS1 External",
1366 "MIC BIAS1 External", "Digital Mic1",
1367 "DMIC2", "MIC BIAS1 External",
1368 "MIC BIAS1 External", "Digital Mic2",
1369 "DMIC3", "MIC BIAS3 External",
1370 "MIC BIAS3 External", "Digital Mic3",
1371 "DMIC4", "MIC BIAS3 External",
1372 "MIC BIAS3 External", "Digital Mic4",
1373 "DMIC5", "MIC BIAS4 External",
1374 "MIC BIAS4 External", "Digital Mic5",
1375 "DMIC6", "MIC BIAS4 External",
1376 "MIC BIAS4 External", "Digital Mic6";
1377
1378 clock-names = "osr_clk";
1379 clocks = <&clock_rpm clk_div_clk1>;
1380 qcom,mbhc-audio-jack-type = "6-pole-jack";
1381 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
1382 <&loopback>, <&compress>, <&hostless>,
1383 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, <&cpe3>;
1384 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", "msm-pcm-dsp.2",
1385 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
1386 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
1387 "msm-lsm-client", "msm-pcm-routing", "msm-cpe-lsm",
1388 "msm-compr-dsp", "msm-cpe-lsm.3";
1389 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>, <&dai_mi2s>,
1390 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
1391 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
1392 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&afe_pcm_rx>,
1393 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
1394 <&incall_record_rx>, <&incall_record_tx>,
1395 <&incall_music_rx>, <&incall_music2_rx>;
1396 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
1397 "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.2",
1398 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
1399 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
1400 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
1401 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
1402 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
1403 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
1404 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
1405 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
1406 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
1407 "msm-dai-q6-dev.32770";
1408 asoc-codec = <&stub_codec>;
1409 asoc-codec-names = "msm-stub-codec.1";
1410 qcom,wsa-max-devs = <2>;
1411 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
1412 <&wsa881x_213>, <&wsa881x_214>;
1413 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
1414 "SpkrRight", "SpkrLeft";
1415 };
1416
Manjunatha Madana39994d02019-01-10 17:15:08 +05301417* MSM8909 ASoC Machine driver
1418
1419Required properties:
1420- compatible : "qcom,msm8909-audio-codec"
1421- qcom,model : The user-visible name of this sound card.
1422- reg : Offset and length of the register region(s) for MI2S/PCM MUX
1423- reg-names : Register region name(s) referenced in reg above
1424 Required register resource entries are:
1425 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls
1426 controls LPA IF tertiary, quad, PCM0, Digital Codec
1427 and Secondary TLMM mux setting for mic path operation.
1428 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls
1429 IF primary, secondary, Digital Codec and Primary TLMM
1430 setting for speaker path operation.
1431 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel": Physical address of MUX
1432 that controls the mux between LPA IF Quad and PCM0
1433 path to secondary TLMM
1434- qcom,msm-hs-micbias-type : This property is used to recognize the headset
1435 micbias type, internal or external.
1436- qcom,msm-ext-pa : This property is used to inform machine driver about
1437 the connection of external PA over available MI2S interfaces,
1438 following values can be given to this property.
1439 primary -> Primary MI2S interface
1440 secondary -> Secondary MI2S interface
1441 tertiary -> Tertiary MI2S interface
1442 quaternary -> Quaternary MI2S interface
1443- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
1444switch type on target typically the switch type will be normally open or
1445normally close, value for this property 0 for normally close and 1 for
1446normally open.
1447- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
1448switch type on target typically the switch type will be normally open or
1449normally close, value for this property 0 for normally close and 1 for
1450normally open.
1451- qcom,audio-routing : A list of the connections between audio components.
1452- qcom,msm-gpios : Lists down all the gpio sets that are supported.
1453- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
1454mentioned in qcom,msm-gpios.
1455- pinctrl-names : The combinations of gpio sets from above that are supported in
1456the flavor.
1457- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
1458
1459Optional properties:
1460- qcom,msm-afe-clk-ver: Provides detail of AFE clock API version.
1461- qcom,hdmi-dba-codec-rx: Boolean. specifies if HDMI DBA audio support is enabled or not.
1462- qcom,split-a2dp: Boolean. specifies if split a2dp audio support is enabled or not.
1463- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
1464- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
1465- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
1466- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
1467- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
1468- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
1469- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external
1470capacitor mode.
1471- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external
1472capacitor mode.
1473- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.
1474- qcom,subsys-name: This value provides the subsystem name where codec
1475 is present. This property enables the codec driver to
1476 register and receive subsytem restart notification from subsystem
1477 and follow appropriate steps to ensure codec is in proper state
1478 after subsytem restart. By default codec driver register
1479 with ADSP subsystem.
1480
1481To Configure External Audio Switch
1482- qcom,msm-ext-audio-switch : GPIO which controls external switch that switches
1483 audio path between headset and speakers.
1484- ext-switch-vdd-supply : Power supply that control external audio switch
1485- qcom,ext-switch-vdd-voltage : Minimum and maximum voltage in uV to set for
1486 power supply.
1487- qcom,ext-switch-vdd-op-mode : Maxmum # of uA current the switch will draw
1488 from the power supply.
1489Example:
1490 qcom,msm-ext-audio-switch = <&msm_gpio 2 0>; - gpio # and active_state
1491 ext-switch-vdd-supply = <&pm8950_l13>; - Power Rail
1492 qcom,ext-switch-vdd-voltage = <3075000 3075000>; - Min, Max uV voltage
1493 qcom,ext-switch-vdd-op-mode = <5000>; - Operational current uA
1494 Additional needs to add two additional qcom,audio-routings
1495 "HEADPHONE", "VDD_EXT_AUDIO_SWITCH"
1496 "SPK_OUT", "VDD_EXT_AUDIO_SWITCH"
1497
1498- qcom,msm-mclk-freq : This property is used to inform machine driver about
1499mclk frequency needs to be configured for internal and external PA.
1500- asoc-platform: This is phandle list containing the references to platform device
1501 nodes that are used as part of the sound card dai-links.
1502- asoc-platform-names: This property contains list of platform names. The order of
1503 the platform names should match to that of the phandle order
1504 given in "asoc-platform".
1505- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
1506 that are used as part of the sound card dai-links.
1507- asoc-cpu-names: This property contains list of cpu dai names. The order of the
1508 cpu dai names should match to that of the phandle order given.
1509- asoc-codec: This is phandle list containing the references to codec dai device
1510 nodes that are used as part of the sound card dai-links.
1511- asoc-codec-names: This property contains list of codec dai names. The order of the
1512 codec dai names should match to that of the phandle order given
1513 in "asoc-codec".
1514- asoc-wsa-codec-names: This property contains list of wsa codec names. The names
1515 should comply with the wsa nodes configurations.
1516- asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes.
1517- msm-vdd-wsa-switch-supply: WSA codec supply's regulator device tree node.
1518- qcom,msm-vdd-wsa-switch-voltage: WSA codec supply's voltage level in mV.
1519- qcom,msm-vdd-wsa-switch-current: WSA codec max current level in mA.
1520
1521Example:
1522 sound {
1523 compatible = "qcom,msm8909-audio-codec";
1524 qcom,model = "msm8909-snd-card";
1525 reg = <0xc051000 0x4>,
1526 <0xc051004 0x4>,
1527 <0xc055000 0x4>;
1528 reg-names = "csr_gp_io_mux_mic_ctl",
1529 "csr_gp_io_mux_spkr_ctl",
1530 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel";
1531 qcom,msm-afe-clk-ver = <1>;
1532 qcom,msm-ext-pa = "primary";
1533 qcom,hdmi-dba-codec-rx;
1534 qcom,split-a2dp;
1535 qcom,msm-mclk-freq = <9600000>;
1536 qcom,msm-mbhc-hphl-swh = <0>;
1537 qcom,msm-mbhc-gnd-swh = <0>;
1538 qcom,msm-hs-micbias-type = "internal";
1539 qcom,msm-micbias1-ext-cap;
1540 qcom,audio-routing =
1541 "RX_BIAS", "MCLK",
1542 "SPK_RX_BIAS", "MCLK",
1543 "INT_LDO_H", "MCLK",
1544 "MIC BIAS External", "Handset Mic",
1545 "MIC BIAS Internal2", "Headset Mic",
1546 "MIC BIAS External", "Secondary Mic",
1547 "AMIC1", "MIC BIAS External",
1548 "AMIC2", "MIC BIAS Internal2",
1549 "AMIC3", "MIC BIAS External";
1550 qcom,msm-gpios =
1551 "pri_i2s",
1552 "us_eu_gpio";
1553 qcom,pinctrl-names =
1554 "all_off",
1555 "pri_i2s_act",
1556 "us_eu_gpio_act",
1557 "pri_i2s_us_eu_gpio_act";
1558 pinctrl-names =
1559 "all_off",
1560 "pri_i2s_act",
1561 "us_eu_gpio_act",
1562 "pri_i2s_us_eu_gpio_act";
1563 pinctrl-0 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_sus>;
1564 pinctrl-1 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_sus>;
1565 pinctrl-2 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_act>;
1566 pinctrl-3 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_act>;
1567 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
1568 qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>;
1569 qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>;
1570 qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>;
1571 qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>;
1572 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
1573 qcom,tapan-codec-9302;
1574 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
1575 <&loopback>, <&compress>, <&hostless>,
1576 <&afe>, <&lsm>, <&routing>, <&lpa>;
1577 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
1578 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
1579 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
1580 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
1581 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
1582 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
1583 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
1584 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
1585 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>,
1586 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
1587 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
1588 <&incall_music_2_rx>;
1589 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
1590 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
1591 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
1592 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
1593 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
1594 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
1595 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
1596 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
1597 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
1598 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
1599 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
1600 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
1601 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
1602 asoc-codec = <&stub>, <&pm8916_tombak_dig>;
1603 asoc-codec-names = "msm-stub-codec.1", "tombak_codec";
1604 asoc-wsa-codec-names = "wsa881x-i2c-codec.8-000f";
1605 asoc-wsa-codec-prefixes = "SpkrMono";
1606 };
1607
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001608* MSM8952 ASoC Machine driver
1609
1610Required properties:
Baochu Xu73ca1362019-06-11 11:11:19 +08001611- compatible : "qcom,msm8952-audio-codec" for pmic codec,
1612 "qcom,msm8952-dig-asoc-snd" for digital internal codec,
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001613- qcom,model : The user-visible name of this sound card.
1614- reg : Offset and length of the register region(s) for MI2S/PCM MUX
1615- reg-names : Register region name(s) referenced in reg above
1616 Required register resource entries are:
1617 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls
1618 controls LPA IF tertiary, quad, PCM0, Digital Codec
1619 and Secondary TLMM mux setting for mic path operation.
1620 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls
1621 IF primary, secondary, Digital Codec and Primary TLMM
1622 setting for speaker path operation.
1623 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel": Physical address of MUX
1624 that controls the mux between LPA IF Quad and PCM0
1625 path to secondary TLMM
1626- qcom,msm-hs-micbias-type : This property is used to recognize the headset
1627 micbias type, internal or external.
1628- qcom,msm-ext-pa : This property is used to inform machine driver about
1629 the connection of external PA over available MI2S interfaces,
1630 following values can be given to this property.
1631 primary -> Primary MI2S interface
1632 secondary -> Secondary MI2S interface
1633 tertiary -> Tertiary MI2S interface
1634 quaternary -> Quaternary MI2S interface
1635- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
1636switch type on target typically the switch type will be normally open or
1637normally close, value for this property 0 for normally close and 1 for
1638normally open.
1639- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
1640switch type on target typically the switch type will be normally open or
1641normally close, value for this property 0 for normally close and 1 for
1642normally open.
1643- qcom,audio-routing : A list of the connections between audio components.
1644- qcom,msm-gpios : Lists down all the gpio sets that are supported.
1645- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
1646mentioned in qcom,msm-gpios.
1647- pinctrl-names : The combinations of gpio sets from above that are supported in
1648the flavor.
1649- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
1650
1651Optional properties:
1652- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
1653- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
1654- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
1655- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
1656- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
1657- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
1658- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external
1659capacitor mode.
1660- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external
1661capacitor mode.
1662- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.
1663
1664To Configure External Audio Switch
1665- qcom,msm-ext-audio-switch : GPIO which controls external switch that switches
1666 audio path between headset and speakers.
1667- ext-switch-vdd-supply : Power supply that control external audio switch
1668- qcom,ext-switch-vdd-voltage : Minimum and maximum voltage in uV to set for
1669 power supply.
1670- qcom,ext-switch-vdd-op-mode : Maxmum # of uA current the switch will draw
1671 from the power supply.
1672Example:
1673 qcom,msm-ext-audio-switch = <&msm_gpio 2 0>; - gpio # and active_state
1674 ext-switch-vdd-supply = <&pm8950_l13>; - Power Rail
1675 qcom,ext-switch-vdd-voltage = <3075000 3075000>; - Min, Max uV voltage
1676 qcom,ext-switch-vdd-op-mode = <5000>; - Operational current uA
1677 Additional needs to add two additional qcom,audio-routings
1678 "HEADPHONE", "VDD_EXT_AUDIO_SWITCH"
1679 "SPK_OUT", "VDD_EXT_AUDIO_SWITCH"
1680
1681- qcom,msm-mclk-freq : This property is used to inform machine driver about
1682mclk frequency needs to be configured for internal and external PA.
1683- asoc-platform: This is phandle list containing the references to platform device
1684 nodes that are used as part of the sound card dai-links.
1685- asoc-platform-names: This property contains list of platform names. The order of
1686 the platform names should match to that of the phandle order
1687 given in "asoc-platform".
1688- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
1689 that are used as part of the sound card dai-links.
1690- asoc-cpu-names: This property contains list of cpu dai names. The order of the
1691 cpu dai names should match to that of the phandle order given.
1692- asoc-codec: This is phandle list containing the references to codec dai device
1693 nodes that are used as part of the sound card dai-links.
1694- asoc-codec-names: This property contains list of codec dai names. The order of the
1695 codec dai names should match to that of the phandle order given
1696 in "asoc-codec".
1697- asoc-wsa-codec-names: This property contains list of wsa codec names. The names
1698 should comply with the wsa nodes configurations.
1699- asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes.
1700- msm-vdd-wsa-switch-supply: WSA codec supply's regulator device tree node.
1701- qcom,msm-vdd-wsa-switch-voltage: WSA codec supply's voltage level in mV.
1702- qcom,msm-vdd-wsa-switch-current: WSA codec max current level in mA.
1703
1704Example:
1705 sound {
1706 compatible = "qcom,msm8952-audio-codec";
1707 qcom,model = "msm8952-snd-card";
1708 reg = <0xc051000 0x4>,
1709 <0xc051004 0x4>,
1710 <0xc055000 0x4>;
1711 reg-names = "csr_gp_io_mux_mic_ctl",
1712 "csr_gp_io_mux_spkr_ctl",
1713 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel";
1714 qcom,msm-ext-pa = "primary";
1715 qcom,msm-mclk-freq = <9600000>;
1716 qcom,msm-mbhc-hphl-swh = <0>;
1717 qcom,msm-mbhc-gnd-swh = <0>;
1718 qcom,msm-hs-micbias-type = "internal";
1719 qcom,msm-micbias1-ext-cap;
1720 qcom,audio-routing =
1721 "RX_BIAS", "MCLK",
1722 "SPK_RX_BIAS", "MCLK",
1723 "INT_LDO_H", "MCLK",
1724 "MIC BIAS External", "Handset Mic",
1725 "MIC BIAS Internal2", "Headset Mic",
1726 "MIC BIAS External", "Secondary Mic",
1727 "AMIC1", "MIC BIAS External",
1728 "AMIC2", "MIC BIAS Internal2",
1729 "AMIC3", "MIC BIAS External";
1730 qcom,msm-gpios =
1731 "pri_i2s",
1732 "us_eu_gpio";
1733 qcom,pinctrl-names =
1734 "all_off",
1735 "pri_i2s_act",
1736 "us_eu_gpio_act",
1737 "pri_i2s_us_eu_gpio_act";
1738 pinctrl-names =
1739 "all_off",
1740 "pri_i2s_act",
1741 "us_eu_gpio_act",
1742 "pri_i2s_us_eu_gpio_act";
1743 pinctrl-0 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_sus>;
1744 pinctrl-1 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_sus>;
1745 pinctrl-2 = <&cdc_pdm_lines_sus &cdc_pdm_lines_2_sus &cross_conn_det_act>;
1746 pinctrl-3 = <&cdc_pdm_lines_act &cdc_pdm_lines_2_act &cross_conn_det_act>;
1747 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
1748 qcom,prim-auxpcm-gpio-clk = <&msm_gpio 63 0>;
1749 qcom,prim-auxpcm-gpio-sync = <&msm_gpio 64 0>;
1750 qcom,prim-auxpcm-gpio-din = <&msm_gpio 65 0>;
1751 qcom,prim-auxpcm-gpio-dout = <&msm_gpio 66 0>;
1752 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
1753 qcom,tapan-codec-9302;
1754 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
1755 <&loopback>, <&compress>, <&hostless>,
1756 <&afe>, <&lsm>, <&routing>, <&lpa>;
1757 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
1758 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
1759 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
1760 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
1761 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
1762 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
1763 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
1764 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
1765 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>,
1766 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
1767 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
1768 <&incall_music_2_rx>;
1769 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
1770 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
1771 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
1772 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
1773 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
1774 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
1775 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
1776 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
1777 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
1778 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
1779 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
1780 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
1781 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
1782 asoc-codec = <&stub>, <&pm8916_tombak_dig>;
1783 asoc-codec-names = "msm-stub-codec.1", "tombak_codec";
1784 asoc-wsa-codec-names = "wsa881x-i2c-codec.8-000f";
1785 asoc-wsa-codec-prefixes = "SpkrMono";
1786 };
1787
Neeraj Upadhyay49934422016-12-27 19:03:35 +05301788* SDM660 ASoC Machine driver
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001789
1790Required properties:
Neeraj Upadhyay49934422016-12-27 19:03:35 +05301791- compatible : "qcom,sdm660-asoc-snd"
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001792- qcom,model : The user-visible name of this sound card.
1793- qcom,msm-hs-micbias-type : This property is used to recognize the headset
1794 micbias type, internal or external.
1795- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
1796switch type on target typically the switch type will be normally open or
1797normally close, value for this property 0 for normally close and 1 for
1798normally open.
1799- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
1800switch type on target typically the switch type will be normally open or
1801normally close, value for this property 0 for normally close and 1 for
1802normally open.
1803- qcom,audio-routing : A list of the connections between audio components.
1804- qcom,msm-gpios : Lists down all the gpio sets that are supported.
1805- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
1806mentioned in qcom,msm-gpios.
1807- pinctrl-names : The combinations of gpio sets from above that are supported in
1808the flavor.
1809- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
1810
1811Optional properties:
1812- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
1813- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external
1814capacitor mode.
1815- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external
1816capacitor mode.
Laxminath Kasam82f136f2017-01-24 00:52:55 +05301817- qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node.
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001818- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.
1819- qcom,msm-mclk-freq : This property is used to inform machine driver about
1820mclk frequency needs to be configured for internal and external PA.
1821- asoc-platform: This is phandle list containing the references to platform device
1822 nodes that are used as part of the sound card dai-links.
1823- asoc-platform-names: This property contains list of platform names. The order of
1824 the platform names should match to that of the phandle order
1825 given in "asoc-platform".
1826- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
1827 that are used as part of the sound card dai-links.
1828- asoc-cpu-names: This property contains list of cpu dai names. The order of the
1829 cpu dai names should match to that of the phandle order given.
1830- asoc-codec: This is phandle list containing the references to codec dai device
1831 nodes that are used as part of the sound card dai-links.
1832- asoc-codec-names: This property contains list of codec dai names. The order of the
1833 codec dai names should match to that of the phandle order given
1834 in "asoc-codec".
1835- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
1836- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
1837- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
Laxminath Kasamad0f6962016-12-14 20:00:35 +05301838- qcom,cdc-pdm-gpios : phandle for pdm gpios.
1839- qcom,cdc-comp-gpios : phandle for compander gpios.
1840- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
1841- qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios.
Yeleswarapu Nagaradhesh7bb4cae2016-12-22 10:50:05 +05301842- qcom,msm-mbhc-moist-cfg: This property is used to set moisture detection
1843 threshold values for different codecs. First parameter is V(voltage)
1844 second one is i(current), third one is r (resistance). Depending on the
1845 codec set corresponding element in array and set others to 0.
Surendar Karka4f07aa12018-11-05 15:48:44 +05301846- qcom,msm-linein-det-swh: This property is used to distinguish linein jack
1847 switch type on target typically the switch type will be normally open or
1848 normally close, value for this property 0 for normally close and 1 for
1849 normally open.
1850- qcom,msm-lineout-det-swh: This property is used to distinguish lineout jack
1851 switch type on target typically the switch type will be normally open or
1852 normally close, value for this property 0 for normally close and 1 for
1853 normally open.
1854- qcom,linein-det-gpio : GPIO on which linein jack insertion/removal interrupt is received.
1855- qcom,lineout-det-gpio : GPIO on which lineout jack insertion/removal interrupt is received.
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001856
1857Example:
1858 sound {
Neeraj Upadhyay49934422016-12-27 19:03:35 +05301859 compatible = "qcom,sdm660-asoc-snd";
1860 qcom,model = "sdm660-snd-card";
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001861 qcom,msm-mclk-freq = <9600000>;
1862 qcom,msm-mbhc-hphl-swh = <0>;
1863 qcom,msm-mbhc-gnd-swh = <0>;
1864 qcom,msm-hs-micbias-type = "internal";
1865 qcom,msm-micbias1-ext-cap;
1866 qcom,audio-routing =
1867 "RX_BIAS", "MCLK",
1868 "SPK_RX_BIAS", "MCLK",
1869 "INT_LDO_H", "MCLK",
1870 "MIC BIAS External", "Handset Mic",
1871 "MIC BIAS Internal2", "Headset Mic",
1872 "MIC BIAS External", "Secondary Mic",
1873 "AMIC1", "MIC BIAS External",
1874 "AMIC2", "MIC BIAS Internal2",
1875 "AMIC3", "MIC BIAS External";
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001876 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
Laxminath Kasamad0f6962016-12-14 20:00:35 +05301877 qcom,cdc-pdm-gpios = <&cdc_pdm_gpios>;
1878 qcom,cdc-comp-gpios = <&cdc_comp_gpios>;
1879 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
1880 qcom,cdc-sdw-gpios = <&cdc_sdw_gpios>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001881 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
1882 <&loopback>, <&compress>, <&hostless>,
1883 <&afe>, <&lsm>, <&routing>, <&lpa>;
1884 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
1885 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
1886 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
1887 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
1888 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
1889 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
1890 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
1891 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
1892 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>,
1893 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
1894 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
1895 <&incall_music_2_rx>;
1896 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
1897 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
1898 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
1899 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
1900 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
1901 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
1902 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
1903 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
1904 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
1905 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
1906 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
1907 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
1908 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
1909 asoc-codec = <&stub_codec>;
1910 asoc-codec-names = "msm-stub-codec.1";
1911 qcom,wsa-max-devs = <2>;
1912 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
1913 <&wsa881x_213>, <&wsa881x_214>;
1914 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
1915 "SpkrRight", "SpkrLeft";
Surendar Karka4f07aa12018-11-05 15:48:44 +05301916 qcom,linein-det-swh = <1>;
1917 qcom,lineout-det-swh = <1>;
1918 qcom,linein-det-gpio = <&tlmm 124 0>;
1919 qcom,lineout-det-gpio = <&tlmm 125 0>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001920 };
1921
1922* MSM8952 Slimbus ASoC Machine driver
1923
1924Required properties:
1925- compatible : "qcom,msm8952-audio-slimbus-codec"
1926- qcom,model : The user-visible name of this sound card.
1927- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
1928mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
1929this would list all the 2^N combinations.
1930- pinctrl-names : The combinations of gpio sets from above that are supported in
1931the flavor. This can be sometimes same as qcom, pinctrl-names i.e with 2^N
1932combinations or will have less incase if some combination is not supported.
1933- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
1934- reg : Offset and length of the register region(s) for MI2S/PCM MUX
1935- reg-names : Register region name(s) referenced in reg above
1936 Required register resource entries are:
1937 "csr_gp_io_mux_mic_ctl": Physical address of MUX that controls
1938 controls LPA IF tertiary, quad, PCM0, Digital Codec
1939 and Secondary TLMM mux setting for mic path operation.
1940 "csr_gp_io_mux_spkr_ctl": Physical address of MUX that controls
1941 IF primary, secondary, Digital Codec and Primary TLMM
1942 setting for speaker path operation.
1943- qcom,cdc-mclk-gpios : GPIO on which mclk signal is coming.
1944- clock-names : clock name defined for external clock.
1945- qcom,audio-routing : A list of the connections between audio components.
1946 Each entry is a pair of strings, the first being the connection's sink,
1947 the second being the connection's source.
1948
1949Optional Properties:
1950- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
1951- qcom,cdc-vdd-spkr-gpios : GPIO which controls PA for VDD speaker
1952- qcom,headset-jack-type-NC: Set if the headset jack type is NC (Normally Closed)
1953- qcom,tomtom-mclk-clk-freq : Tapan mclk Freq in Hz. currently only 9600000Hz
1954 is supported.
1955- qcom,msm-ext-pa : This property is used to inform machine driver about
1956 the connection of external PA over available MI2S interfaces,
1957 following values can be given to this property.
1958 primary -> Primary MI2S interface
1959 secondary -> Secondary MI2S interface
1960 tertiary -> Tertiary MI2S interface
1961 quaternary -> Quaternary MI2S interface
1962- qcom,mi2s-audio-intf: This property is used to inform machine driver
1963 if mi2s backend dailink has to be added as part of the sound card dai-links.
1964- qcom,auxpcm-audio-intf: This property is used to inform machine driver
1965 if auxpcm backend dailink has to be added as part of the sound card dai-links.
1966- qcom,msm-mi2s-master: This property is used to inform machine driver
1967 if MSM is the clock master of mi2s. 1 means master and 0 means slave. The
1968 first entry is primary mi2s; the second entry is secondary mi2s, and so on.
Vatsal Buchad11b4302018-02-06 21:49:19 +05301969- qcom,mi2s-aqt-enabled: This property is used to inform machine driver
1970 if AQT1000 codec is enabled or not. If this is enabled then codec name
1971 for TERT_MI2S needs to be overridden with AQT codec.
Tanya Dixit73a3a262016-12-08 22:25:56 +05301972- qcom,msm-mi2s-ext-mclk: This property is used to inform machine driver
1973 if MCLK from MSM is used for any external audio connections. 1 means used
1974 as external mclk source and 0 indicate not used. The first entry is
1975 primary mclk; the second entry is secondary mclk, and so on.
Banajit Goswami0530e2f2016-12-09 21:34:37 -08001976- reg: This property provides the AUX PCM/MI2S mux select register addresses
1977 and size.
1978- reg_names: This property provides the name of the AUX PCM/MI2S mux select
1979 registers so the machine driver can retrieve the addresses. The order of the
1980 names has to match the order of the registers in "reg" property.
1981- asoc-platform: This is phandle list containing the references to platform device
1982 nodes that are used as part of the sound card dai-links.
1983- asoc-platform-names: This property contains list of platform names. The order of
1984 the platform names should match to that of the phandle order
1985 given in "asoc-platform".
1986- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
1987 that are used as part of the sound card dai-links.
1988- asoc-cpu-names: This property contains list of cpu dai names. The order of the
1989 cpu dai names should match to that of the phandle order given
1990 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
1991 where the id (%d) field represents the back-end AFE port id that
1992 this CPU dai is associated with.
1993- asoc-codec: This is phandle list containing the references to codec dai device
1994 nodes that are used as part of the sound card dai-links.
1995- asoc-codec-names: This property contains list of codec dai names. The order of the
1996 codec dai names should match to that of the phandle order given
1997 in "asoc-codec".
1998- asoc-wsa-codec-names: This property contains list of wsa codec names. The names
1999 should comply with the wsa nodes configurations.
2000- asoc-wsa-codec-prefixes: This property contains list of wsa codec prefixes.
2001
2002Example:
2003 sound {
2004 compatible = "qcom,msm8952-audio-slim-codec";
2005 qcom,model = "msm8952-tomtom-snd-card";
2006 reg = <0xc051000 0x4>,
2007 <0xc051004 0x4>,
2008 <0xc055000 0x4>;
2009 reg-names = "csr_gp_io_mux_mic_ctl",
2010 "csr_gp_io_mux_spkr_ctl",
2011 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel";
2012 qcom,msm-ext-pa = "primary";
2013 qcom,mi2s-audio-intf;
2014 qcom,auxpcm-audio-intf;
2015 qcom,msm-mi2s-master = <1>, <0>, <1>, <1>;
Tanya Dixit73a3a262016-12-08 22:25:56 +05302016 qcom,msm-mi2s-ext-mclk = <1>, <1>, <0>, <1>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002017 reg = <0x1711a000 0x4>,
2018 <0x1711b000 0x4>,
2019 <0x1711c000 0x4>,
2020 <0x1711d000 0x4>;
2021 reg-names = "lpaif_pri_mode_muxsel",
2022 "lpaif_sec_mode_muxsel",
2023 "lpaif_tert_mode_muxsel",
2024 "lpaif_quat_mode_muxsel";
2025 qcom,msm-mclk-freq = <9600000>;
2026 qcom,msm-mbhc-hphl-swh = <0>;
2027 qcom,msm-mbhc-gnd-swh = <0>;
Laxminath Kasam82f136f2017-01-24 00:52:55 +05302028 qcom,wsa-disable;
Yeleswarapu Nagaradhesh7bb4cae2016-12-22 10:50:05 +05302029 qcom,msm-mbhc-moist-cfg = <1>, <3>, <0>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002030 qcom,msm-hs-micbias-type = "internal";
2031 qcom,msm-micbias1-ext-cap;
2032 qcom,audio-routing =
2033 "RX_BIAS", "MCLK",
2034 "SPK_RX_BIAS", "MCLK",
2035 "INT_LDO_H", "MCLK",
2036 "MIC BIAS External", "Handset Mic",
2037 "MIC BIAS Internal2", "Headset Mic",
2038 "MIC BIAS External", "Secondary Mic",
2039 "AMIC1", "MIC BIAS External",
2040 "AMIC2", "MIC BIAS Internal2",
2041 "AMIC3", "MIC BIAS External";
2042 qcom,msm-gpios =
2043 "slim",
2044 "us_eu_gpio";
2045 qcom,pinctrl-names =
2046 "all_off",
2047 "slim_act",
2048 "us_eu_gpio_act",
2049 "slim_us_eu_gpio_act";
2050 pinctrl-names =
2051 "all_off",
2052 "slim_act",
2053 "us_eu_gpio_act",
2054 "slim_us_eu_gpio_act";
2055 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>;
2056 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>;
2057 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>;
2058 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>;
2059 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
2060 qcom,headset-jack-type-NC;
2061 qcom,audio-routing =
2062 "RX_BIAS", "MCLK",
2063 "LDO_H", "MCLK",
2064 "SPK_OUT", "MCLK",
2065 "AMIC1", "MIC BIAS1 External",
2066 "MIC BIAS1 External", "Handset Mic",
2067 "AMIC2", "MIC BIAS2 External",
2068 "MIC BIAS2 External", "Headset Mic",
2069 "AMIC4", "MIC BIAS2 External",
2070 "MIC BIAS2 External", "ANCRight Headset Mic",
2071 "AMIC5", "MIC BIAS2 External",
2072 "MIC BIAS2 External", "ANCLeft Headset Mic",
2073 "DMIC1", "MIC BIAS1 External",
2074 "MIC BIAS1 External", "Digital Mic1",
2075 "DMIC2", "MIC BIAS1 External",
2076 "MIC BIAS1 External", "Digital Mic2",
2077 "DMIC3", "MIC BIAS3 External",
2078 "MIC BIAS3 External", "Digital Mic3",
2079 "DMIC4", "MIC BIAS3 External",
2080 "MIC BIAS3 External", "Digital Mic4";
2081 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
2082 <&loopback>, <&compress>, <&hostless>,
2083 <&afe>, <&lsm>, <&routing>, <&lpa>;
2084 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2085 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
2086 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
2087 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
2088 asoc-cpu = <&dai_hdmi>, <&dai_mi2s0>, <&dai_mi2s1>,
2089 <&dai_mi2s2>, <&dai_mi2s3>, <&sb_0_rx>, <&sb_0_tx>,
2090 <&sb_1_rx>, <&sb_1_tx>, <&sb_3_rx>, <&sb_3_tx>,
2091 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&bt_sco_rx>,
2092 <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>, <&afe_pcm_rx>,
2093 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
2094 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
2095 <&incall_music_2_rx>;
2096 asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.0",
2097 "msm-dai-q6-mi2s.1", "msm-dai-q6-mi2s.2",
2098 "msm-dai-q6-mi2s.3", "msm-dai-q6-dev.16384",
2099 "msm-dai-q6-dev.16385", "msm-dai-q6-dev.16386",
2100 "msm-dai-q6-dev.16387", "msm-dai-q6-dev.16390",
2101 "msm-dai-q6-dev.16391", "msm-dai-q6-dev.16392",
2102 "msm-dai-q6-dev.16393", "msm-dai-q6-dev.16395",
2103 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
2104 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
2105 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
2106 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
2107 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
2108 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
2109 asoc-codec = <&stub_codec>;
2110 asoc-codec-names = "msm-stub-codec.1";
2111 asoc-wsa-codec-names = "wsa881x.20170212";
2112 asoc-wsa-codec-prefixes = "SpkrLeft";
2113 };
2114
Sundara Vinayagambde65ab2018-03-19 14:27:33 +05302115* APQ8009 I2S ASoC Machine driver
2116
2117Required properties:
2118- compatible : "qcom,apq8009-audio-i2s-codec"
2119- qcom,model : The user-visible name of this sound card.
2120- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
2121 mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
2122 this would list all the 2^N combinations.
2123- pinctrl-names : The combinations of gpio sets from above that are supported in
2124 the flavor. This can be sometimes same as qcom,pinctrl-names i.e with 2^N
2125 combinations or will have less incase if some combination is not supported.
2126- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
2127- qcom,audio-routing : A list of the connections between audio components.
2128 Each entry is a pair of strings, the first being the connection's sink,
2129 the second being the connection's source.
2130
2131Optional properties:
2132- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
2133- asoc-platform: This is phandle list containing the references to platform device
2134 nodes that are used as part of the sound card dai-links.
2135- asoc-platform-names: This property contains list of platform names. The order of
2136 the platform names should match to that of the phandle order
2137 given in "asoc-platform".
2138- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2139 that are used as part of the sound card dai-links.
2140- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2141 cpu dai names should match to that of the phandle order given
2142 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2143 where the id (%d) field represents the back-end AFE port id that
2144 this CPU dai is associated with.
2145- asoc-codec: This is phandle list containing the references to codec dai device
2146 nodes that are used as part of the sound card dai-links.
2147- asoc-codec-names: This property contains list of codec dai names. The order of the
2148 codec dai names should match to that of the phandle order given
2149 in "asoc-codec".
2150- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
2151- qcom,wsa-devs: This property contains list of wsa codec names. The names
2152 should comply with the wsa nodes configurations.
2153- qcom,wsa-aux-dev-prefix: This property contains list of wsa codec prefixes.
2154- qcom,tdm-i2s-switch-enable: For chipsets where tdm mics are controlled by
2155 switch, drive corresponding gpio to output high
2156 to enable switch.
2157
2158Example:
2159 sound {
2160 compatible = "qcom,apq8009-audio-i2s-codec";
2161 qcom,model = "apq8009-tashalite-snd-card";
2162 qcom,msm-codec-type = "external";
2163 qcom,msm-mbhc-hphl-swh = <0>;
2164 qcom,msm-mbhc-gnd-swh = <0>;
2165 qcom,msm-mclk-freq = <9600000>;
2166 qcom,msm-hs-micbias-type = "internal";
2167 qcom,audio-routing =
2168 "AIF4 VI", "MCLK",
2169 "RX_BIAS", "MCLK",
2170 "MADINPUT", "MCLK",
2171 "AMIC2", "MIC BIAS2",
2172 "MIC BIAS2", "Headset Mic",
2173 "DMIC0", "MIC BIAS1",
2174 "MIC BIAS1", "Digital Mic0",
2175 "DMIC1", "MIC BIAS1",
2176 "MIC BIAS1", "Digital Mic1",
2177 "DMIC2", "MIC BIAS2",
2178 "MIC BIAS2", "Digital Mic2",
2179 "DMIC3", "MIC BIAS2",
2180 "MIC BIAS2", "Digital Mic3",
2181 "SpkrLeft IN", "SPK1 OUT",
2182 "SpkrRight IN", "SPK2 OUT";
2183
2184 qcom,msm-gpios =
2185 "pri_i2s",
2186 "quat_i2s";
2187 qcom,pinctrl-names =
2188 "all_off",
2189 "pri_i2s_act",
2190 "quat_i2s_act",
2191 "pri_i2s_quat_i2s_act";
2192 pinctrl-names =
2193 "all_off",
2194 "pri_i2s_act",
2195 "quat_i2s_act",
2196 "pri_i2s_quat_i2s_act";
2197 pinctrl-0 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep
2198 &pri_mi2s_dout_sleep &pri_mi2s_din_sleep
2199 &quat_mi2s_sleep &quat_mi2s_din_sleep>;
2200 pinctrl-1 = <&pri_mi2s_active &pri_mi2s_ws_active
2201 &pri_mi2s_dout_active &pri_mi2s_din_active
2202 &quat_mi2s_sleep &quat_mi2s_din_sleep>;
2203 pinctrl-2 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep
2204 &pri_mi2s_dout_sleep &pri_mi2s_din_sleep
2205 &quat_mi2s_active &quat_mi2s_din_active>;
2206 pinctrl-3 = <&pri_mi2s_active &pri_mi2s_ws_active
2207 &pri_mi2s_dout_active &pri_mi2s_din_active
2208 &quat_mi2s_active &quat_mi2s_din_active>;
2209
2210 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
2211 <&loopback>, <&compress>, <&hostless>,
2212 <&afe>, <&lsm>, <&routing>, <&cpe>, <&lpa>;
2213 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2214 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
2215 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
2216 "msm-lsm-client", "msm-pcm-routing", "msm-cpe-lsm",
2217 "msm-pcm-lpa";
2218 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,<&dai_mi2s0>,
2219 <&dai_mi2s2>, <&dai_mi2s3>,
2220 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
2221 <&sb_3_rx>, <&sb_3_tx>,
2222 <&sb_4_rx>, <&sb_4_tx>, <&afe_pcm_rx>,
2223 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
2224 <&incall_record_rx>, <&incall_record_tx>,
2225 <&incall_music_rx>, <&incall_music_2_rx>,
2226 <&bt_sco_rx>,
2227 <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>;
2228 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
2229 "msm-dai-q6-mi2s.0",
2230 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
2231 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
2232 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
2233 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
2234 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
2235 "msm-dai-q6-dev.224",
2236 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2237 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2238 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
2239 "msm-dai-q6-dev.32770",
2240 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
2241 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293";
2242 asoc-codec = <&stub_codec>;
2243 asoc-codec-names = "msm-stub-codec.1";
2244 qcom,wsa-max-devs = <2>;
2245 qcom,wsa-devs = <&wsa881x_213>, <&wsa881x_214>;
2246 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight";
2247 };
2248
Raja Mallikaac1e5992018-02-16 14:54:12 +05302249* MSM8909 BG ASoC Machine driver
2250
2251Required properties:
2252- compatible : "qcom,msm-bg-audio-codec"
2253- qcom,model : The user-visible name of this sound card.
2254- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
2255 mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
2256 this would list all the 2^N combinations.
2257- pinctrl-names : The combinations of gpio sets from above that are supported in
2258 the flavor. This can be sometimes same as qcom,pinctrl-names i.e with 2^N
2259 combinations or will have less incase if some combination is not supported.
2260- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
2261- qcom,audio-routing : A list of the connections between audio components.
2262 Each entry is a pair of strings, the first being the connection's sink,
2263 the second being the connection's source.
2264
2265Optional properties:
2266- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
2267- asoc-platform: This is phandle list containing the references to platform device
2268 nodes that are used as part of the sound card dai-links.
2269- asoc-platform-names: This property contains list of platform names. The order of
2270 the platform names should match to that of the phandle order
2271 given in "asoc-platform".
2272- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2273 that are used as part of the sound card dai-links.
2274- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2275 cpu dai names should match to that of the phandle order given
2276 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2277 where the id (%d) field represents the back-end AFE port id that
2278 this CPU dai is associated with.
2279- asoc-codec: This is phandle list containing the references to codec dai device
2280 nodes that are used as part of the sound card dai-links.
2281- asoc-codec-names: This property contains list of codec dai names. The order of the
2282 codec dai names should match to that of the phandle order given
2283 in "asoc-codec".
2284- vdd-spkr-supply: BG codec supply's speaker regulator device tree node.
2285
2286Example:
2287 sound {
2288 status = "disabled";
2289 compatible = "qcom,msm-bg-audio-codec";
2290 qcom,model = "msm-bg-snd-card";
2291 reg = <0x7702000 0x4>,
2292 <0x7702004 0x4>,
2293 <0x7702008 0x4>,
2294 <0x770200c 0x4>;
2295 reg-names = "csr_gp_io_mux_mic_ctl",
2296 "csr_gp_io_mux_spkr_ctl",
2297 "csr_gp_io_lpaif_pri_pcm_pri_mode_muxsel",
2298 "csr_gp_io_lpaif_sec_pcm_sec_mode_muxsel";
2299 qcom,msm-snd-card-id = <0>;
2300 qcom,msm-ext-pa = "primary";
2301 qcom,tdm-audio-intf;
2302 qcom,msm-afe-clk-ver = <1>;
2303 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
2304 <&loopback>, <&compress>, <&hostless>,
2305 <&afe>, <&lsm>, <&routing>, <&lpa>,
2306 <&voice_svc>;
2307 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2308 "msm-pcm-dsp.2", "msm-voip-dsp",
2309 "msm-pcm-voice", "msm-pcm-loopback",
2310 "msm-compress-dsp", "msm-pcm-hostless",
2311 "msm-pcm-afe", "msm-lsm-client",
2312 "msm-pcm-routing", "msm-pcm-lpa",
2313 "msm-voice-svc";
2314 asoc-cpu = <&dai_pri_auxpcm>,
2315 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>,
2316 <&dai_mi2s3>, <&dai_mi2s5>, <&dai_mi2s6>,
2317 <&bt_sco_rx>, <&bt_sco_tx>, <&bt_a2dp_rx>,
2318 <&int_fm_rx>, <&int_fm_tx>, <&afe_pcm_rx>,
2319 <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
2320 <&incall_record_rx>, <&incall_record_tx>,
2321 <&incall_music_rx>, <&incall_music_2_rx>,
2322 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
2323 <&dai_pri_tdm_rx_1>, <&dai_pri_tdm_tx_1>,
2324 <&dai_pri_tdm_rx_2>, <&dai_pri_tdm_tx_2>,
2325 <&dai_pri_tdm_rx_3>, <&dai_pri_tdm_tx_3>;
2326 asoc-cpu-names = "msm-dai-q6-auxpcm.1",
2327 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
2328 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
2329 "msm-dai-q6-mi2s.5", "msm-dai-q6-mi2s.6",
2330 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
2331 "msm-dai-q6-dev.12290", "msm-dai-q6-dev.12292",
2332 "msm-dai-q6-dev.12293", "msm-dai-q6-dev.224",
2333 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2334 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2335 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
2336 "msm-dai-q6-dev.32770", "msm-dai-q6-tdm.36864",
2337 "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36866",
2338 "msm-dai-q6-tdm.36867", "msm-dai-q6-tdm.36868",
2339 "msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36870",
2340 "msm-dai-q6-tdm.36871";
2341 asoc-codec = <&stub_codec>;
2342 asoc-codec-names = "msm-stub-codec.1";
2343 };
2344
2345* BG Codec Driver.
2346
2347Required properties:
2348- compatible : "qcom,bg-codec"
2349- qcom,bg-glink : Glink component required for the BG codec communication.
2350 - compatible :"qcom,bg-cdc-glink"
2351- qcom,msm-glink-channels: Number of glink channels available to communicate
2352 with the glink client
2353- vdd-spkr-supply: BG codec supply's speaker regulator device tree node.
2354
2355Optional properties:
2356- qcom,bg-speaker-connected: This flag will notify BG codec driver that speaker
2357 is connected to target or not. Based on this flag BG
2358 codec driver will send smart pa init params to BG.
2359
2360Example:
2361
2362 bg_cdc: bg_codec {
2363 status = "disabled";
2364 compatible = "qcom,bg-codec";
2365 qcom,bg-glink {
2366 compatible = "qcom,bg-cdc-glink";
2367 qcom,msm-glink-channels = <4>;
2368 };
2369 };
2370
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002371* MDM9607 ASoC Machine driver
2372
2373Required properties:
2374- compatible : "qcom,mdm9607-audio-tomtom"
2375- qcom,model : The user-visible name of this sound card.
2376- qcom,audio-routing : A list of the connections between audio components.
2377Each entry is a pair of strings, the first being the connection's sink,
2378the second being the connection's source.
2379- qcom,tomtom-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX
2380codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz.
2381- pinctrl-names : pinctrl state names for each pin group configuration.
2382- pinctrl-x : defines pinctrl state for each pin group
2383- asoc-platform: This is phandle list containing the references to platform device
2384 nodes that are used as part of the sound card dai-links.
2385- asoc-platform-names: This property contains list of platform names. The order of
2386 the platform names should match to that of the phandle order
2387 given in "asoc-platform".
2388- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2389 that are used as part of the sound card dai-links.
2390- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2391 cpu dai names should match to that of the phandle order given
2392 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2393 where the id (%d) field represents the back-end AFE port id that
2394 this CPU dai is associated with.
2395- asoc-codec: This is phandle list containing the references to codec dai device
2396 nodes that are used as part of the sound card dai-links.
2397- asoc-codec-names: This property contains list of codec dai names. The order of the
2398 codec dai names should match to that of the phandle order given
2399 in "asoc-codec".
2400
2401Example:
2402
2403sound {
2404 compatible = "qcom,mdm9607-audio-tomtom";
2405 qcom,model = "mdm9607-tomtom-i2s-snd-card";
2406
2407 qcom,audio-routing =
2408 "RX_BIAS", "MCLK",
2409 "LDO_H", "MCLK",
2410 "AMIC1", "MIC BIAS1 External",
2411 "MIC BIAS1 External", "Handset Mic",
2412 "AMIC2", "MIC BIAS2 External",
2413 "MIC BIAS2 External", "Headset Mic",
2414 "AMIC3", "MIC BIAS2 External",
2415 "MIC BIAS2 External", "ANCRight Headset Mic",
2416 "AMIC4", "MIC BIAS2 External",
2417 "MIC BIAS2 External", "ANCLeft Headset Mic",
2418 "DMIC1", "MIC BIAS1 External",
2419 "MIC BIAS1 External", "Digital Mic1",
2420 "DMIC3", "MIC BIAS3 External",
2421 "MIC BIAS3 External", "Digital Mic3";
2422
2423 qcom,tomtom-mclk-clk-freq = <12288000>;
2424 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
2425 <&loopback>, <&hostless>, <&afe>, <&routing>,
2426 <&pcm_dtmf>, <&host_pcm>;
2427 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2428 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
2429 "msm-pcm-hostless", "msm-pcm-afe",
2430 "msm-pcm-routing", "msm-pcm-dtmf", "msm-voice-host-pcm";
2431 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&dtmf_tx>,
2432 <&rx_capture_tx>, <&rx_playback_rx>,
2433 <&tx_capture_tx>, <&tx_playback_rx>,
2434 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
2435 <&afe_proxy_tx>, <&incall_record_rx>,
2436 <&incall_record_tx>, <&incall_music_rx>;
2437 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-mi2s.0",
2438 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
2439 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
2440 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224",
2441 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2442 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2443 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773";
2444 asoc-codec = <&stub_codec>;
2445 asoc-codec-names = "msm-stub-codec.1";
2446 };
2447
2448* MDMCALIFORNIUM ASoC Machine driver
2449
2450- compatible : "qcom,mdm-audio-tasha" for tasha codec and
2451 node is "sound"
2452- qcom,model : The user-visible name of this sound card.
2453- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec
2454 and node is "sound-9335"
2455- qcom,audio-routing : A list of the connections between audio components.
2456- asoc-platform: This is phandle list containing the references to platform device
2457 nodes that are used as part of the sound card dai-links.
2458- asoc-platform-names: This property contains list of platform names. The order of
2459 the platform names should match to that of the phandle order
2460 given in "asoc-platform".
2461- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2462 that are used as part of the sound card dai-links.
2463- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2464 cpu dai names should match to that of the phandle order given
2465 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2466 where the id (%d) field represents the back-end AFE port id that
2467 this CPU dai is associated with.
2468- asoc-codec: This is phandle list containing the references to codec dai device
2469 nodes that are used as part of the sound card dai-links.
2470- asoc-codec-names: This property contains list of codec dai names. The order of the
2471 codec dai names should match to that of the phandle order given
2472 in "asoc-codec".
2473Optional properties:
2474- clock-names : clock name defined for external clock.
2475- clocks : external clock defined for codec clock.
2476- qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers.
2477- qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset.
2478
2479Example:
2480
2481 sound {
2482 compatible = "qcom,mdm-audio-tasha";
2483 qcom,model = "mdm-tasha-i2s-snd-card";
2484
2485 qcom,audio-routing =
2486 "RX_BIAS", "MCLK",
2487 "LDO_H", "MCLK",
2488 "AIF4 MAD", "MCLK",
2489 "ultrasound amp", "LINEOUT1",
2490 "ultrasound amp", "LINEOUT3",
2491 "AMIC1", "MIC BIAS1 Internal1",
2492 "MIC BIAS1 Internal1", "Handset Mic",
2493 "AMIC2", "MIC BIAS2 External",
2494 "MIC BIAS2 External", "Headset Mic",
2495 "AMIC3", "MIC BIAS2 External",
2496 "MIC BIAS2 External", "ANCRight Headset Mic",
2497 "AMIC4", "MIC BIAS2 External",
2498 "MIC BIAS2 External", "ANCLeft Headset Mic",
2499 "DMIC1", "MIC BIAS1 External",
2500 "MIC BIAS1 External", "Digital Mic1",
2501 "DMIC2", "MIC BIAS1 External",
2502 "MIC BIAS1 External", "Digital Mic2",
2503 "DMIC3", "MIC BIAS3 External",
2504 "MIC BIAS3 External", "Digital Mic3",
2505 "DMIC4", "MIC BIAS3 External",
2506 "MIC BIAS3 External", "Digital Mic4",
2507 "DMIC5", "MIC BIAS4 External",
2508 "MIC BIAS4 External", "Digital Mic5",
2509 "DMIC6", "MIC BIAS4 External",
2510 "MIC BIAS4 External", "Digital Mic6";
2511
2512 qcom,tasha-mclk-clk-freq = <12288000>;
2513 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
2514 <&loopback>, <&hostless>, <&afe>, <&routing>,
2515 <&pcm_dtmf>, <&host_pcm>;
2516 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2517 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
2518 "msm-pcm-hostless", "msm-pcm-afe",
2519 "msm-pcm-routing", "msm-pcm-dtmf", "msm-voice-host-pcm";
2520 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&dtmf_tx>,
2521 <&rx_capture_tx>, <&rx_playback_rx>,
2522 <&tx_capture_tx>, <&tx_playback_rx>,
2523 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
2524 <&afe_proxy_tx>, <&incall_record_rx>,
2525 <&incall_record_tx>, <&incall_music_rx>;
2526 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-mi2s.0",
2527 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
2528 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
2529 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224",
2530 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2531 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2532 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773";
2533 asoc-codec = <&stub_codec>;
2534 asoc-codec-names = "msm-stub-codec.1";
2535 qcom,aux-codec = <&stub_codec>;
2536 };
2537
Xiaoyu Ye84364ce2017-10-20 16:02:43 -07002538* SDX ASoC Machine driver
2539
2540Required properties:
2541- compatible : "qcom,sdx-asoc-snd-tavil"
2542- qcom,model : The user-visible name of this sound card.
2543- qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations
2544- qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations
2545- qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations
2546- qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations
2547- asoc-platform: This is phandle list containing the references to platform device
2548 nodes that are used as part of the sound card dai-links.
2549- asoc-platform-names: This property contains list of platform names. The order of
2550 the platform names should match to that of the phandle order
2551 given in "asoc-platform".
2552- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2553 that are used as part of the sound card dai-links.
2554- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2555 cpu dai names should match to that of the phandle order give
2556 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2557 where the id (%d) field represents the back-end AFE port id that
2558 this CPU dai is associated with.
2559
2560Example:
2561
2562 sound-tavil {
2563 compatible = "qcom,sdx-asoc-snd-tavil";
2564 qcom,model = "sdx-tavil-i2s-snd-card";
2565 qcom,prim_mi2s_aux_master = <&prim_master>;
2566 qcom,prim_mi2s_aux_slave = <&prim_slave>;
2567 qcom,sec_mi2s_aux_master = <&sec_master>;
2568 qcom,sec_mi2s_aux_slave = <&sec_slave>;
2569
2570 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
2571 <&loopback>, <&hostless>, <&afe>, <&routing>,
2572 <&pcm_dtmf>, <&host_pcm>, <&compress>;
2573 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2574 "msm-voip-dsp", "msm-pcm-voice",
2575 "msm-pcm-loopback", "msm-pcm-hostless",
2576 "msm-pcm-afe", "msm-pcm-routing",
2577 "msm-pcm-dtmf", "msm-voice-host-pcm",
2578 "msm-compress-dsp";
2579 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>,
2580 <&dtmf_tx>,
2581 <&rx_capture_tx>, <&rx_playback_rx>,
2582 <&tx_capture_tx>, <&tx_playback_rx>,
2583 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
2584 <&afe_proxy_tx>, <&incall_record_rx>,
2585 <&incall_record_tx>, <&incall_music_rx>,
Ashish Kumar Rambhatla5f0f7992019-11-14 19:12:23 +05302586 <&dai_sec_auxpcm>, <&incall_music_dl_rx>;
Xiaoyu Ye84364ce2017-10-20 16:02:43 -07002587 asoc-cpu-names = "msm-dai-q6-auxpcm.1",
2588 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
2589 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
2590 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
2591 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224",
2592 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2593 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2594 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
Ashish Kumar Rambhatla5f0f7992019-11-14 19:12:23 +05302595 "msm-dai-q6-auxpcm.2", "msm-dai-q6-dev.32774";
Asish Bhattacharya135850b2020-03-03 19:27:48 +05302596 qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>;
Xiaoyu Ye84364ce2017-10-20 16:02:43 -07002597 };
2598
Rajesha Kini2d521c82019-06-19 23:10:09 +05302599* SDX ASoC Auto Machine driver
2600
2601Required properties:
2602- compatible : "qcom,sdx-asoc-snd-auto"
2603- qcom,model : The user-visible name of this sound card.
2604- qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations
2605- qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations
2606- qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations
2607- qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations
2608- asoc-platform: This is phandle list containing the references to platform device
2609 nodes that are used as part of the sound card dai-links.
2610- asoc-platform-names: This property contains list of platform names. The order of
2611 the platform names should match to that of the phandle order
2612 given in "asoc-platform".
2613- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2614 that are used as part of the sound card dai-links.
2615- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2616 cpu dai names should match to that of the phandle order give
2617 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2618 where the id (%d) field represents the back-end AFE port id that
2619 this CPU dai is associated with.
2620- asoc-codec: This is phandle list containing the references to codec dai device
2621 nodes that are used as part of the sound card dai-links.
2622- asoc-codec-names: This property contains list of codec dai names. The order of the
2623 codec dai names should match to that of the phandle order given
2624 in "asoc-codec".
2625
2626Example:
2627
2628 sound-auto {
2629 compatible = "qcom,sdx-asoc-snd-auto";
2630 qcom,model = "sdx-auto-i2s-snd-card";
2631 qcom,prim_mi2s_aux_master = <&prim_master>;
2632 qcom,prim_mi2s_aux_slave = <&prim_slave>;
2633 qcom,sec_mi2s_aux_master = <&sec_master>;
2634 qcom,sec_mi2s_aux_slave = <&sec_slave>;
2635
2636 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
2637 <&loopback>, <&hostless>, <&afe>, <&routing>,
2638 <&pcm_dtmf>, <&host_pcm>, <&compress>;
2639 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2640 "msm-voip-dsp", "msm-pcm-voice",
2641 "msm-pcm-loopback", "msm-pcm-hostless",
2642 "msm-pcm-afe", "msm-pcm-routing",
2643 "msm-pcm-dtmf", "msm-voice-host-pcm",
2644 "msm-compress-dsp";
2645 asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>,
2646 <&dtmf_tx>,
2647 <&rx_capture_tx>, <&rx_playback_rx>,
2648 <&tx_capture_tx>, <&tx_playback_rx>,
2649 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
2650 <&afe_proxy_tx>, <&incall_record_rx>,
2651 <&incall_record_tx>, <&incall_music_rx>,
2652 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
2653 <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
Anurag Chouhan6d702fe2019-09-26 14:53:39 +05302654 <&dai_sec_auxpcm>, <&incall_music_dl_rx>;
Rajesha Kini2d521c82019-06-19 23:10:09 +05302655 asoc-cpu-names = "msm-dai-q6-auxpcm.1",
2656 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
2657 "msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
2658 "msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
2659 "msm-dai-stub-dev.8", "msm-dai-q6-dev.224",
2660 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2661 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2662 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
2663 "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
2664 "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
Anurag Chouhan6d702fe2019-09-26 14:53:39 +05302665 "msm-dai-q6-auxpcm.2", "msm-dai-q6-dev.32774";
Rajesha Kini2d521c82019-06-19 23:10:09 +05302666 asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>;
2667 asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1";
2668 };
2669
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002670* APQ8096 Automotive ASoC Machine driver
2671
2672Required properties:
2673- compatible : "qcom,apq8096-asoc-snd-auto" for auto codec and
2674 node is "sound-auto",
2675 "qcom,apq8096-asoc-snd-adp-agave" for adp agave codec and
2676 node is "sound-adp-agave",
2677 "qcom,apq8096-asoc-snd-adp-mmxf" for adp mmxf codec and
2678 node is "sound-adp-mmxf".
2679- qcom,model : The user-visible name of this sound card.
2680- asoc-platform: This is phandle list containing the references to platform device
2681 nodes that are used as part of the sound card dai-links.
2682- asoc-platform-names: This property contains list of platform names. The order of
2683 the platform names should match to that of the phandle order
2684 given in "asoc-platform".
2685- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2686 that are used as part of the sound card dai-links.
2687- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2688 cpu dai names should match to that of the phandle order given
2689 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2690 where the id (%d) field represents the back-end AFE port id that
2691 this CPU dai is associated with.
2692- asoc-codec: This is phandle list containing the references to codec dai device
2693 nodes that are used as part of the sound card dai-links.
2694- asoc-codec-names: This property contains list of codec dai names. The order of the
2695 codec dai names should match to that of the phandle order given
2696 in "asoc-codec".
2697
2698Example:
2699
2700 sound-auto {
2701 compatible = "qcom,apq8096-asoc-snd-auto";
2702 qcom,model = "apq8096-auto-snd-card";
2703
2704 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
2705 <&loopback>, <&compress>, <&hostless>,
Derek Chen642aa6d2016-03-24 14:29:12 -04002706 <&afe>, <&lsm>, <&routing>, <&compr>,
2707 <&loopback1>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002708 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2709 "msm-pcm-dsp.2", "msm-voip-dsp",
2710 "msm-pcm-voice", "msm-pcm-loopback",
2711 "msm-compress-dsp", "msm-pcm-hostless",
2712 "msm-pcm-afe", "msm-lsm-client",
Derek Chen642aa6d2016-03-24 14:29:12 -04002713 "msm-pcm-routing", "msm-compr-dsp",
2714 "msm-pcm-loopback.1";
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002715 asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
2716 <&dai_mi2s>, <&dai_mi2s_quat>,
2717 <&afe_pcm_rx>, <&afe_pcm_tx>,
2718 <&afe_proxy_rx>, <&afe_proxy_tx>,
2719 <&incall_record_rx>, <&incall_record_tx>,
2720 <&incall_music_rx>, <&incall_music2_rx>,
2721 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>,
2722 <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>,
2723 <&dai_tert_tdm_tx_0>, <&dai_tert_tdm_tx_1>,
2724 <&dai_tert_tdm_tx_2>, <&dai_tert_tdm_tx_3>,
2725 <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_rx_1>,
2726 <&dai_quat_tdm_rx_2>, <&dai_quat_tdm_rx_3>,
2727 <&dai_quat_tdm_tx_0>, <&dai_quat_tdm_tx_1>,
2728 <&dai_quat_tdm_tx_2>, <&dai_quat_tdm_tx_3>;
2729 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
2730 "msm-dai-q6-hdmi.8",
2731 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
2732 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
2733 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
2734 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
2735 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
2736 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898",
2737 "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902",
2738 "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36899",
2739 "msm-dai-q6-tdm.36901", "msm-dai-q6-tdm.36903",
2740 "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36914",
2741 "msm-dai-q6-tdm.36916", "msm-dai-q6-tdm.36918",
2742 "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36915",
2743 "msm-dai-q6-tdm.36917", "msm-dai-q6-tdm.36919";
2744 asoc-codec = <&stub_codec>;
2745 asoc-codec-names = "msm-stub-codec.1";
2746 };
2747
Neeraj Upadhyay49934422016-12-27 19:03:35 +05302748* SDM660 ASoC Slimbus Machine driver
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002749
2750Required properties:
Neeraj Upadhyay49934422016-12-27 19:03:35 +05302751- compatible : "qcom,sdm660-asoc-snd-tasha" for tasha codec,
2752 "qcom,sdm660-asoc-snd-tavil" for tavil codec.
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002753- qcom,model : The user-visible name of this sound card.
2754- qcom,msm-mclk-freq : MCLK frequency value for external codec
2755- qcom,msm-gpios : Lists down all the gpio sets that are supported.
2756- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
2757mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
2758this would list all the 2^N combinations.
2759- pinctrl-names : The combinations of gpio sets from above that are supported in
2760the flavor. This can be sometimes same as qcom, pinctrl-names i.e with 2^N
2761combinations or will have less incase if some combination is not supported.
2762- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
2763- qcom,audio-routing : A list of the connections between audio components.
2764- asoc-platform: This is phandle list containing the references to platform device
2765 nodes that are used as part of the sound card dai-links.
2766- asoc-platform-names: This property contains list of platform names. The order of
2767 the platform names should match to that of the phandle order
2768 given in "asoc-platform".
2769- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2770 that are used as part of the sound card dai-links.
2771- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2772 cpu dai names should match to that of the phandle order given
2773 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2774 where the id (%d) field represents the back-end AFE port id that
2775 this CPU dai is associated with.
2776- asoc-codec: This is phandle list containing the references to codec dai device
2777 nodes that are used as part of the sound card dai-links.
2778- asoc-codec-names: This property contains list of codec dai names. The order of the
2779 codec dai names should match to that of the phandle order given
2780 in "asoc-codec".
2781Optional properties:
2782- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
2783- clock-names : clock name defined for external clock.
2784- clocks : external clock defined for codec clock.
2785- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
2786- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
2787- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
2788
2789Example:
2790
2791 sound-9335 {
Neeraj Upadhyay49934422016-12-27 19:03:35 +05302792 compatible = "qcom,sdm660-asoc-snd-tasha";
2793 qcom,model = "sdm660-tasha-snd-card";
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002794
2795 qcom,audio-routing =
2796 "RX_BIAS", "MCLK",
2797 "LDO_H", "MCLK",
2798 "AIF4 MAD", "MCLK",
2799 "ultrasound amp", "LINEOUT1",
2800 "ultrasound amp", "LINEOUT3",
2801 "AMIC1", "MIC BIAS1 Internal1",
2802 "MIC BIAS1 Internal1", "Handset Mic",
2803 "AMIC2", "MIC BIAS2 External",
2804 "MIC BIAS2 External", "Headset Mic",
2805 "AMIC3", "MIC BIAS2 External",
2806 "MIC BIAS2 External", "ANCRight Headset Mic",
2807 "AMIC4", "MIC BIAS2 External",
2808 "MIC BIAS2 External", "ANCLeft Headset Mic",
2809 "DMIC1", "MIC BIAS1 External",
2810 "MIC BIAS1 External", "Digital Mic1",
2811 "DMIC2", "MIC BIAS1 External",
2812 "MIC BIAS1 External", "Digital Mic2",
2813 "DMIC3", "MIC BIAS3 External",
2814 "MIC BIAS3 External", "Digital Mic3",
2815 "DMIC4", "MIC BIAS3 External",
2816 "MIC BIAS3 External", "Digital Mic4",
2817 "DMIC5", "MIC BIAS4 External",
2818 "MIC BIAS4 External", "Digital Mic5",
2819 "DMIC6", "MIC BIAS4 External",
2820 "MIC BIAS4 External", "Digital Mic6";
2821
2822 qcom,msm-mbhc-hphl-swh = <0>;
2823 qcom,msm-mbhc-gnd-swh = <0>;
2824 qcom,msm-mclk-freq = <9600000>;
2825 qcom,msm-gpios =
2826 "slim",
2827 "us_eu_gpio";
2828 qcom,pinctrl-names =
2829 "all_off",
2830 "slim_act",
2831 "us_eu_gpio_act",
2832 "slim_us_eu_gpio_act";
2833 pinctrl-names =
2834 "all_off",
2835 "slim_act",
2836 "us_eu_gpio_act",
2837 "slim_us_eu_gpio_act";
2838 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>;
2839 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>;
2840 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>;
2841 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>;
2842 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
2843 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
2844 <&loopback>, <&compress>, <&hostless>,
2845 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>;
2846 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2847 "msm-pcm-dsp.2", "msm-voip-dsp",
2848 "msm-pcm-voice", "msm-pcm-loopback",
2849 "msm-compress-dsp", "msm-pcm-hostless",
2850 "msm-pcm-afe", "msm-lsm-client",
2851 "msm-pcm-routing", "msm-cpe-lsm",
2852 "msm-compr-dsp";
2853 asoc-cpu = <&dai_hdmi>,
2854 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
2855 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
2856 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
2857 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
2858 <&afe_proxy_tx>, <&incall_record_rx>,
2859 <&incall_record_tx>, <&incall_music_rx>,
2860 <&incall_music_2_rx>, <&sb_5_rx>;
2861 asoc-cpu-names = "msm-dai-q6-hdmi.8",
2862 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
2863 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
2864 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
2865 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
2866 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
2867 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
2868 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2869 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2870 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
2871 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394";
2872 asoc-codec = <&stub_codec>;
2873 asoc-codec-names = "msm-stub-codec.1";
2874 qcom,wsa-max-devs = <2>;
2875 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
2876 <&wsa881x_213>, <&wsa881x_214>;
2877 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
2878 "SpkrRight", "SpkrLeft";
2879 };
2880
2881* MSM8998 ASoC Machine driver
2882
2883Required properties:
2884- compatible : "qcom,msm8998-asoc-snd-tasha" for tasha codec,
2885 "qcom,msm8998-asoc-snd-tavil" for tavil codec.
2886- qcom,model : The user-visible name of this sound card.
2887- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec
2888- qcom,tavil-mclk-clk-freq : MCLK frequency value for tavil codec
2889- qcom,audio-routing : A list of the connections between audio components.
2890- asoc-platform: This is phandle list containing the references to platform device
2891 nodes that are used as part of the sound card dai-links.
2892- asoc-platform-names: This property contains list of platform names. The order of
2893 the platform names should match to that of the phandle order
2894 given in "asoc-platform".
2895- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
2896 that are used as part of the sound card dai-links.
2897- asoc-cpu-names: This property contains list of cpu dai names. The order of the
2898 cpu dai names should match to that of the phandle order given
2899 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
2900 where the id (%d) field represents the back-end AFE port id that
2901 this CPU dai is associated with.
2902- asoc-codec: This is phandle list containing the references to codec dai device
2903 nodes that are used as part of the sound card dai-links.
2904- asoc-codec-names: This property contains list of codec dai names. The order of the
2905 codec dai names should match to that of the phandle order given
2906 in "asoc-codec".
2907Optional properties:
2908- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware.
2909 Possible Values:
2910 4-pole-jack : Jack on the hardware is 4-pole.
2911 5-pole-jack : Jack on the hardware is 5-pole.
2912 6-pole-jack : Jack on the hardware is 6-pole.
2913- clock-names : clock name defined for external clock.
2914- clocks : external clock defined for codec clock.
2915- qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers.
2916- qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset.
2917- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
2918- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
2919- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
2920- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
Phani Kumar Uppalapati06eb35a2016-12-02 11:44:10 -08002921- qcom,msm-mbhc-usbc-audio-supported : Property to specify if analog audio feature is
2922 enabled or not.
Karthikeyan Mani79f0f732017-05-10 14:46:56 -07002923- qcom,usbc-analog-en1-gpio : EN1 GPIO to enable USB type-C analog audio
2924- qcom,usbc-analog-en2-gpio : EN2 GPIO to enable USB type-C analog audio
Phani Kumar Uppalapati06eb35a2016-12-02 11:44:10 -08002925- qcom,usbc-analog-force_detect_gpio : Force detect GPIO to enable USB type-C analog audio
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002926
2927Example:
2928
2929 sound-9335 {
2930 compatible = "qcom,msm8998-asoc-snd";
2931 qcom,model = "msm8998-tasha-snd-card";
2932
2933 qcom,audio-routing =
2934 "RX_BIAS", "MCLK",
2935 "LDO_H", "MCLK",
2936 "AIF4 MAD", "MCLK",
2937 "ultrasound amp", "LINEOUT1",
2938 "ultrasound amp", "LINEOUT3",
2939 "AMIC1", "MIC BIAS1 Internal1",
2940 "MIC BIAS1 Internal1", "Handset Mic",
2941 "AMIC2", "MIC BIAS2 External",
2942 "MIC BIAS2 External", "Headset Mic",
2943 "AMIC3", "MIC BIAS2 External",
2944 "MIC BIAS2 External", "ANCRight Headset Mic",
2945 "AMIC4", "MIC BIAS2 External",
2946 "MIC BIAS2 External", "ANCLeft Headset Mic",
2947 "DMIC1", "MIC BIAS1 External",
2948 "MIC BIAS1 External", "Digital Mic1",
2949 "DMIC2", "MIC BIAS1 External",
2950 "MIC BIAS1 External", "Digital Mic2",
2951 "DMIC3", "MIC BIAS3 External",
2952 "MIC BIAS3 External", "Digital Mic3",
2953 "DMIC4", "MIC BIAS3 External",
2954 "MIC BIAS3 External", "Digital Mic4",
2955 "DMIC5", "MIC BIAS4 External",
2956 "MIC BIAS4 External", "Digital Mic5",
2957 "DMIC6", "MIC BIAS4 External",
2958 "MIC BIAS4 External", "Digital Mic6";
2959
2960 qcom,msm-mbhc-hphl-swh = <0>;
2961 qcom,msm-mbhc-gnd-swh = <0>;
2962 qcom,tasha-mclk-clk-freq = <9600000>;
2963 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
2964 <&loopback>, <&compress>, <&hostless>,
Siddartha Shaik047e37b2017-05-19 20:06:35 +05302965 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
2966 <&trans_loopback>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002967 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
2968 "msm-pcm-dsp.2", "msm-voip-dsp",
2969 "msm-pcm-voice", "msm-pcm-loopback",
2970 "msm-compress-dsp", "msm-pcm-hostless",
2971 "msm-pcm-afe", "msm-lsm-client",
2972 "msm-pcm-routing", "msm-cpe-lsm",
Siddartha Shaik047e37b2017-05-19 20:06:35 +05302973 "msm-compr-dsp","msm-transcode-loopback";
Banajit Goswami0530e2f2016-12-09 21:34:37 -08002974 asoc-cpu = <&dai_hdmi>,
2975 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
2976 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
2977 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
2978 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
2979 <&afe_proxy_tx>, <&incall_record_rx>,
2980 <&incall_record_tx>, <&incall_music_rx>,
2981 <&incall_music_2_rx>, <&sb_5_rx>;
2982 asoc-cpu-names = "msm-dai-q6-hdmi.8",
2983 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
2984 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
2985 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
2986 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
2987 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
2988 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
2989 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
2990 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
2991 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
2992 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394";
2993 asoc-codec = <&stub_codec>;
2994 asoc-codec-names = "msm-stub-codec.1";
2995 qcom,wsa-max-devs = <2>;
2996 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
2997 <&wsa881x_213>, <&wsa881x_214>;
2998 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
2999 "SpkrRight", "SpkrLeft";
Phani Kumar Uppalapati06eb35a2016-12-02 11:44:10 -08003000 qcom,msm-mbhc-usbc-audio-supported = <1>;
Karthikeyan Mani79f0f732017-05-10 14:46:56 -07003001 qcom,usbc-analog-en1-gpio = <&wcd_usbc_analog_en1_gpio>;
3002 qcom,usbc-analog-en2-gpio = <&tlmm 51 0>;
Phani Kumar Uppalapati06eb35a2016-12-02 11:44:10 -08003003 qcom,usbc-analog-force_detect_gpio = <&wcd_usbc_analog_f_gpio>;
Banajit Goswami0530e2f2016-12-09 21:34:37 -08003004 };
3005
3006* MSMSTUB ASoC Machine driver
3007
3008Required properties:
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003009- compatible : "qcom,msm8998-asoc-snd-stub" for MSM8998 target.
Kyle Yan6a20fae2017-02-14 13:34:41 -08003010 "qcom,sdm845-asoc-snd-stub" for SDM845 target.
Banajit Goswami0530e2f2016-12-09 21:34:37 -08003011- qcom,model : The user-visible name of this sound card.
3012- qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec
3013- asoc-platform: This is phandle list containing the references to platform device
3014 nodes that are used as part of the sound card dai-links.
3015- asoc-platform-names: This property contains list of platform names. The order of
3016 the platform names should match to that of the phandle order
3017 given in "asoc-platform".
3018- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
3019 that are used as part of the sound card dai-links.
3020- asoc-cpu-names: This property contains list of cpu dai names. The order of the
3021 cpu dai names should match to that of the phandle order given
3022 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
3023 where the id (%d) field represents the back-end AFE port id that
3024 this CPU dai is associated with.
3025- asoc-codec: This is phandle list containing the references to codec dai device
3026 nodes that are used as part of the sound card dai-links.
3027- asoc-codec-names: This property contains list of codec dai names. The order of the
3028 codec dai names should match to that of the phandle order given
3029 in "asoc-codec".
3030Optional properties:
3031- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
3032
3033Example:
3034
3035 sound_msm:sound-9335 {
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003036 compatible = "qcom,msm8998-asoc-snd-stub";
Banajit Goswami0530e2f2016-12-09 21:34:37 -08003037 qcom,model = "msm8998-stub-snd-card";
3038
3039 qcom,tasha-mclk-clk-freq = <9600000>;
3040 asoc-platform = <&pcm0>;
3041 asoc-platform-names = "msm-pcm-dsp.0";
3042 asoc-cpu = <&sb_0_rx>, <&sb_0_tx>;
3043 asoc-cpu-names = "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385";
3044 asoc-codec = <&stub_codec>;
3045 asoc-codec-names = "msm-stub-codec.1";
3046 qcom,wsa-max-devs = <0>;
3047 };
Banajit Goswamide8271c2017-01-18 00:28:59 -08003048
3049* WCD DSP manager driver
3050
3051Required properties:
3052- compatible : "qcom,wcd-dsp-mgr"
3053- qcom,wdsp-components : This is phandle list containing the references to the
3054 components of the manager driver. Manager driver will
3055 register to component framework with these phandles.
3056- qcom,img-filename : String property to provide the dsp image file name that is
3057 to be read from file system and downloaded to dsp memory
3058Optional properties:
3059- qcom,wdsp-cmpnt-dev-name : Property that manager driver will parse, but defined
3060 in the child's DT entry that is given to manager driver
3061 with phandle. This property will be used by the manager
3062 driver in case the manager driver cannot match child's
3063 of_node pointer to registered phandle.
3064
3065Example:
3066
3067 qcom,wcd-dsp-mgr {
3068 compatible = "qcom,wcd-dsp-mgr";
3069 qcom,wdsp-components = <&wcd934x_cdc 0>,
3070 <&wcd_spi_0 1>,
3071 <&glink_spi 2>;
3072 qcom,img-filename = "cpe_9340";
3073 };
3074
3075Example of child node that would have qcom,wdsp-cmpnt-dev-name property
3076
3077 wcd934x_cdc: tavil_codec {
3078 qcom,wdsp-cmpnt-dev-name = "tavil_codec";
3079 };
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003080
Kyle Yan6a20fae2017-02-14 13:34:41 -08003081* SDM845 ASoC Machine driver
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003082
3083Required properties:
Kyle Yan6a20fae2017-02-14 13:34:41 -08003084- compatible : "qcom,sdm845-asoc-snd-tavil"
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003085- qcom,model : The user-visible name of this sound card.
3086- qcom,tavil-mclk-clk-freq : MCLK frequency value for tavil codec
3087- qcom,audio-routing : A list of the connections between audio components.
3088- asoc-platform: This is phandle list containing the references to platform device
3089 nodes that are used as part of the sound card dai-links.
3090- asoc-platform-names: This property contains list of platform names. The order of
3091 the platform names should match to that of the phandle order
3092 given in "asoc-platform".
3093- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
3094 that are used as part of the sound card dai-links.
3095- asoc-cpu-names: This property contains list of cpu dai names. The order of the
3096 cpu dai names should match to that of the phandle order given
3097 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
3098 where the id (%d) field represents the back-end AFE port id that
3099 this CPU dai is associated with.
3100- asoc-codec: This is phandle list containing the references to codec dai device
3101 nodes that are used as part of the sound card dai-links.
3102- asoc-codec-names: This property contains list of codec dai names. The order of the
3103 codec dai names should match to that of the phandle order given
3104 in "asoc-codec".
3105Optional properties:
3106- qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware.
3107 Possible Values:
3108 4-pole-jack : Jack on the hardware is 4-pole.
3109 5-pole-jack : Jack on the hardware is 5-pole.
3110 6-pole-jack : Jack on the hardware is 6-pole.
3111- clock-names : clock name defined for external clock.
3112- clocks : external clock defined for codec clock.
Meng Wangafd052e2017-09-15 09:58:53 +08003113- qcom,msm-mbhc-hs-mic-max-threshold-mv : headset detection threshold. When micbias is
3114 not set to 2.7v, need scale in driver.
3115- qcom,msm-mbhc-hs-mic-min-threshold-mv : headhpone detection threshold. When micbias is
3116 not set to 2.7v, need scale in driver.
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003117- qcom,hph-en1-gpio : GPIO to enable HiFi amplifiers.
3118- qcom,hph-en0-gpio : GPIO to enable HiFi audio route to headset.
3119- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
3120- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
3121- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
3122- qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target
3123
3124Example:
3125
3126 sound-tavil {
Kyle Yan6a20fae2017-02-14 13:34:41 -08003127 compatible = "qcom,sdm845-asoc-snd-tavil";
3128 qcom,model = "sdm845-tavil-snd-card";
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003129 qcom,ext-disp-audio-rx;
3130 qcom,wcn-btfm;
3131 qcom,mi2s-audio-intf;
3132 qcom,auxpcm-audio-intf;
3133 qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
3134
3135 reg = <0x1711a000 0x4>,
3136 <0x1711b000 0x4>,
3137 <0x1711c000 0x4>,
3138 <0x1711d000 0x4>;
3139 reg-names = "lpaif_pri_mode_muxsel",
3140 "lpaif_sec_mode_muxsel",
3141 "lpaif_tert_mode_muxsel",
3142 "lpaif_quat_mode_muxsel";
3143
3144 qcom,audio-routing =
3145 "RX_BIAS", "MCLK",
3146 "MADINPUT", "MCLK",
3147 "hifi amp", "LINEOUT1",
3148 "hifi amp", "LINEOUT2",
3149 "AMIC2", "MIC BIAS2",
3150 "MIC BIAS2", "Headset Mic",
3151 "AMIC3", "MIC BIAS2",
3152 "MIC BIAS2", "ANCRight Headset Mic",
3153 "AMIC4", "MIC BIAS2",
3154 "MIC BIAS2", "ANCLeft Headset Mic",
3155 "AMIC5", "MIC BIAS3",
3156 "MIC BIAS3", "Handset Mic",
3157 "DMIC0", "MIC BIAS1",
3158 "MIC BIAS1", "Digital Mic0",
3159 "DMIC1", "MIC BIAS1",
3160 "MIC BIAS1", "Digital Mic1",
3161 "DMIC2", "MIC BIAS3",
3162 "MIC BIAS3", "Digital Mic2",
3163 "DMIC3", "MIC BIAS3",
3164 "MIC BIAS3", "Digital Mic3",
3165 "DMIC4", "MIC BIAS4",
3166 "MIC BIAS4", "Digital Mic4",
3167 "DMIC5", "MIC BIAS4",
3168 "MIC BIAS4", "Digital Mic5",
3169 "SpkrLeft IN", "SPK1 OUT",
3170 "SpkrRight IN", "SPK2 OUT";
3171
3172 qcom,msm-mbhc-hphl-swh = <0>;
3173 qcom,msm-mbhc-gnd-swh = <0>;
Meng Wangafd052e2017-09-15 09:58:53 +08003174 qcom,msm-mbhc-hs-mic-max-threshold-mv = <1700>;
3175 qcom,msm-mbhc-hs-mic-min-threshold-mv = <50>;
Banajit Goswami5dbcc082017-01-18 12:11:15 -08003176 qcom,hph-en0-gpio = <&tavil_hph_en0>;
3177 qcom,hph-en1-gpio = <&tavil_hph_en1>;
3178 qcom,tavil-mclk-clk-freq = <9600000>;
3179 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
3180 <&loopback>, <&compress>, <&hostless>,
3181 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
3182 <&pcm_noirq>;
3183 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
3184 "msm-pcm-dsp.2", "msm-voip-dsp",
3185 "msm-pcm-voice", "msm-pcm-loopback",
3186 "msm-compress-dsp", "msm-pcm-hostless",
3187 "msm-pcm-afe", "msm-lsm-client",
3188 "msm-pcm-routing", "msm-cpe-lsm",
3189 "msm-compr-dsp", "msm-pcm-dsp-noirq";
3190 asoc-cpu = <&dai_hdmi>, <&dai_dp>,
3191 <&dai_mi2s0>, <&dai_mi2s1>,
3192 <&dai_mi2s2>, <&dai_mi2s3>,
3193 <&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
3194 <&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
3195 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
3196 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
3197 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
3198 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
3199 <&afe_proxy_tx>, <&incall_record_rx>,
3200 <&incall_record_tx>, <&incall_music_rx>,
3201 <&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>,
3202 <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>,
3203 <&usb_audio_rx>, <&usb_audio_tx>,
3204 <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
3205 <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
3206 <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
3207 <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>;
3208 asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608",
3209 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
3210 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
3211 "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
3212 "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
3213 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
3214 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
3215 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
3216 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
3217 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
3218 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
3219 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
3220 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
3221 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
3222 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394",
3223 "msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398",
3224 "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
3225 "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
3226 "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
3227 "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
3228 "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
3229 "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913";
3230 asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>;
3231 asoc-codec-names = "msm-stub-codec.1",
3232 "msm-ext-disp-audio-codec-rx";
3233 qcom,wsa-max-devs = <2>;
3234 qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
3235 <&wsa881x_0213>, <&wsa881x_0214>;
3236 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
3237 "SpkrLeft", "SpkrRight";
3238 };
Rohit Kumarfa7c7252017-07-11 12:14:35 +05303239
3240* SDM670 ASoC Machine driver
3241
3242Required properties:
3243- compatible : "qcom,sdm670-asoc-snd"
3244- qcom,model : The user-visible name of this sound card.
3245- qcom,msm-hs-micbias-type : This property is used to recognize the headset
3246 micbias type, internal or external.
3247- qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL
3248switch type on target typically the switch type will be normally open or
3249normally close, value for this property 0 for normally close and 1 for
3250normally open.
3251- qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND
3252switch type on target typically the switch type will be normally open or
3253normally close, value for this property 0 for normally close and 1 for
3254normally open.
3255- qcom,audio-routing : A list of the connections between audio components.
3256- qcom,msm-gpios : Lists down all the gpio sets that are supported.
3257- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
3258mentioned in qcom,msm-gpios.
3259- pinctrl-names : The combinations of gpio sets from above that are supported in
3260the flavor.
3261- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
3262
3263Optional properties:
3264- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
3265- qcom,msm-micbias1-ext-cap : Boolean. Enable micbias1 external
3266capacitor mode.
3267- qcom,msm-micbias2-ext-cap : Boolean. Enable micbias2 external
3268capacitor mode.
3269- qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node.
3270- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.
3271- qcom,msm-mclk-freq : This property is used to inform machine driver about
3272mclk frequency needs to be configured for internal and external PA.
3273- asoc-platform: This is phandle list containing the references to platform device
3274 nodes that are used as part of the sound card dai-links.
3275- asoc-platform-names: This property contains list of platform names. The order of
3276 the platform names should match to that of the phandle order
3277 given in "asoc-platform".
3278- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
3279 that are used as part of the sound card dai-links.
3280- asoc-cpu-names: This property contains list of cpu dai names. The order of the
3281 cpu dai names should match to that of the phandle order given.
3282- asoc-codec: This is phandle list containing the references to codec dai device
3283 nodes that are used as part of the sound card dai-links.
3284- asoc-codec-names: This property contains list of codec dai names. The order of the
3285 codec dai names should match to that of the phandle order given
3286 in "asoc-codec".
3287- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
3288- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
3289- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
3290- qcom,cdc-pdm-gpios : phandle for pdm gpios.
3291- qcom,cdc-comp-gpios : phandle for compander gpios.
3292- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
3293- qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios.
Rohit Kumar1b440bb2017-10-04 15:21:33 +05303294- qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios.
3295- qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios.
3296- qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios.
3297- qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios.
3298- qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios.
Rohit Kumarfa7c7252017-07-11 12:14:35 +05303299- qcom,msm-mbhc-moist-cfg: This property is used to set moisture detection
3300 threshold values for different codecs. First parameter is V(voltage)
3301 second one is i(current), third one is r (resistance). Depending on the
3302 codec set corresponding element in array and set others to 0.
3303
3304Example:
3305 sound {
3306 compatible = "qcom,sdm670-asoc-snd";
3307 qcom,model = "sdm670-snd-card";
3308 qcom,msm-mclk-freq = <9600000>;
3309 qcom,msm-mbhc-hphl-swh = <0>;
3310 qcom,msm-mbhc-gnd-swh = <0>;
3311 qcom,msm-hs-micbias-type = "internal";
3312 qcom,msm-micbias1-ext-cap;
3313 qcom,audio-routing =
3314 "RX_BIAS", "MCLK",
3315 "SPK_RX_BIAS", "MCLK",
3316 "INT_LDO_H", "MCLK",
3317 "MIC BIAS External", "Handset Mic",
3318 "MIC BIAS Internal2", "Headset Mic",
3319 "MIC BIAS External", "Secondary Mic",
3320 "AMIC1", "MIC BIAS External",
3321 "AMIC2", "MIC BIAS Internal2",
3322 "AMIC3", "MIC BIAS External";
3323 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
3324 qcom,cdc-pdm-gpios = <&cdc_pdm_gpios>;
3325 qcom,cdc-comp-gpios = <&cdc_comp_gpios>;
3326 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
3327 qcom,cdc-sdw-gpios = <&cdc_sdw_gpios>;
3328 asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
3329 <&loopback>, <&compress>, <&hostless>,
3330 <&afe>, <&lsm>, <&routing>, <&lpa>;
3331 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
3332 "msm-voip-dsp", "msm-pcm-voice", "msm-pcm-loopback",
3333 "msm-compress-dsp", "msm-pcm-hostless", "msm-pcm-afe",
3334 "msm-lsm-client", "msm-pcm-routing", "msm-pcm-lpa";
3335 asoc-cpu = <&dai_pri_auxpcm>, <&dai_hdmi>,
3336 <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>,
3337 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
3338 <&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
3339 <&bt_sco_rx>, <&bt_sco_tx>, <&int_fm_rx>, <&int_fm_tx>,
3340 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
3341 <&incall_record_rx>, <&incall_record_tx>, <&incall_music_rx>,
3342 <&incall_music_2_rx>;
3343 asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-hdmi.8",
3344 "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
3345 "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
3346 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
3347 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
3348 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
3349 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
3350 "msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
3351 "msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
3352 "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
3353 "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
3354 "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
3355 "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
3356 asoc-codec = <&stub_codec>;
3357 asoc-codec-names = "msm-stub-codec.1";
3358 qcom,wsa-max-devs = <2>;
3359 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
3360 <&wsa881x_213>, <&wsa881x_214>;
3361 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
3362 "SpkrRight", "SpkrLeft";
3363 };
3364
3365* SDM670 ASoC Slimbus Machine driver
3366
3367Required properties:
3368- compatible : "qcom,sdm670-asoc-snd-tasha" for tasha codec,
3369 "qcom,sdm670-asoc-snd-tavil" for tavil codec.
3370- qcom,model : The user-visible name of this sound card.
3371- qcom,msm-mclk-freq : MCLK frequency value for external codec
3372- qcom,msm-gpios : Lists down all the gpio sets that are supported.
3373- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
3374mentioned in qcom,msm-gpios. Say we have 2^N combinations for N GPIOs,
3375this would list all the 2^N combinations.
3376- pinctrl-names : The combinations of gpio sets from above that are supported in
3377the flavor. This can be sometimes same as qcom, pinctrl-names i.e with 2^N
3378combinations or will have less incase if some combination is not supported.
3379- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
3380- qcom,audio-routing : A list of the connections between audio components.
3381- asoc-platform: This is phandle list containing the references to platform device
3382 nodes that are used as part of the sound card dai-links.
3383- asoc-platform-names: This property contains list of platform names. The order of
3384 the platform names should match to that of the phandle order
3385 given in "asoc-platform".
3386- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
3387 that are used as part of the sound card dai-links.
3388- asoc-cpu-names: This property contains list of cpu dai names. The order of the
3389 cpu dai names should match to that of the phandle order given
3390 in "asoc-cpu". The cpu names are in the form of "%s.%d" form,
3391 where the id (%d) field represents the back-end AFE port id that
3392 this CPU dai is associated with.
3393- asoc-codec: This is phandle list containing the references to codec dai device
3394 nodes that are used as part of the sound card dai-links.
3395- asoc-codec-names: This property contains list of codec dai names. The order of the
3396 codec dai names should match to that of the phandle order given
3397 in "asoc-codec".
3398Optional properties:
3399- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
3400- clock-names : clock name defined for external clock.
3401- clocks : external clock defined for codec clock.
3402- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
3403- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
3404- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
Rohit Kumar1b440bb2017-10-04 15:21:33 +05303405- qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios.
3406- qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios.
3407- qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios.
3408- qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios.
3409- qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios.
Rohit Kumarfa7c7252017-07-11 12:14:35 +05303410
3411Example:
3412
3413 sound-9335 {
3414 compatible = "qcom,sdm670-asoc-snd-tasha";
3415 qcom,model = "sdm670-tasha-snd-card";
3416
3417 qcom,audio-routing =
3418 "RX_BIAS", "MCLK",
3419 "LDO_H", "MCLK",
3420 "AIF4 MAD", "MCLK",
3421 "ultrasound amp", "LINEOUT1",
3422 "ultrasound amp", "LINEOUT3",
3423 "AMIC1", "MIC BIAS1 Internal1",
3424 "MIC BIAS1 Internal1", "Handset Mic",
3425 "AMIC2", "MIC BIAS2 External",
3426 "MIC BIAS2 External", "Headset Mic",
3427 "AMIC3", "MIC BIAS2 External",
3428 "MIC BIAS2 External", "ANCRight Headset Mic",
3429 "AMIC4", "MIC BIAS2 External",
3430 "MIC BIAS2 External", "ANCLeft Headset Mic",
3431 "DMIC1", "MIC BIAS1 External",
3432 "MIC BIAS1 External", "Digital Mic1",
3433 "DMIC2", "MIC BIAS1 External",
3434 "MIC BIAS1 External", "Digital Mic2",
3435 "DMIC3", "MIC BIAS3 External",
3436 "MIC BIAS3 External", "Digital Mic3",
3437 "DMIC4", "MIC BIAS3 External",
3438 "MIC BIAS3 External", "Digital Mic4",
3439 "DMIC5", "MIC BIAS4 External",
3440 "MIC BIAS4 External", "Digital Mic5",
3441 "DMIC6", "MIC BIAS4 External",
3442 "MIC BIAS4 External", "Digital Mic6";
3443
3444 qcom,msm-mbhc-hphl-swh = <0>;
3445 qcom,msm-mbhc-gnd-swh = <0>;
3446 qcom,msm-mclk-freq = <9600000>;
3447 qcom,msm-gpios =
3448 "slim",
3449 "us_eu_gpio";
3450 qcom,pinctrl-names =
3451 "all_off",
3452 "slim_act",
3453 "us_eu_gpio_act",
3454 "slim_us_eu_gpio_act";
3455 pinctrl-names =
3456 "all_off",
3457 "slim_act",
3458 "us_eu_gpio_act",
3459 "slim_us_eu_gpio_act";
3460 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>;
3461 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>;
3462 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>;
3463 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>;
3464 qcom,cdc-us-euro-gpios = <&msm_gpio 63 0>;
3465 asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
3466 <&loopback>, <&compress>, <&hostless>,
3467 <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>;
3468 asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
3469 "msm-pcm-dsp.2", "msm-voip-dsp",
3470 "msm-pcm-voice", "msm-pcm-loopback",
3471 "msm-compress-dsp", "msm-pcm-hostless",
3472 "msm-pcm-afe", "msm-lsm-client",
3473 "msm-pcm-routing", "msm-cpe-lsm",
3474 "msm-compr-dsp";
3475 asoc-cpu = <&dai_hdmi>,
3476 <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
3477 <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
3478 <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
3479 <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
3480 <&afe_proxy_tx>, <&incall_record_rx>,
3481 <&incall_record_tx>, <&incall_music_rx>,
3482 <&incall_music_2_rx>, <&sb_5_rx>;
3483 asoc-cpu-names = "msm-dai-q6-hdmi.8",
3484 "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
3485 "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
3486 "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
3487 "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
3488 "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
3489 "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
3490 "msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
3491 "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
3492 "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
3493 "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394";
3494 asoc-codec = <&stub_codec>;
3495 asoc-codec-names = "msm-stub-codec.1";
3496 qcom,wsa-max-devs = <2>;
3497 qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
3498 <&wsa881x_213>, <&wsa881x_214>;
3499 qcom,wsa-aux-dev-prefix = "SpkrRight", "SpkrLeft",
3500 "SpkrRight", "SpkrLeft";
3501 };
Viraja Kommarajue5d77382017-12-11 21:46:10 +05303502
3503* QCS605 LC ASoC Machine driver
3504
3505Required properties:
3506- compatible : "qcom,qcs605-dig-asoc-snd"
3507- qcom,model : The user-visible name of this sound card.
3508- qcom,audio-routing : A list of the connections between audio components.
3509- qcom,msm-gpios : Lists down all the gpio sets that are supported.
3510- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
3511mentioned in qcom,msm-gpios.
3512- pinctrl-names : The combinations of gpio sets from above that are supported in
3513the flavor.
3514- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
3515
3516Optional properties:
3517- qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node.
3518- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.
3519- qcom,msm-mclk-freq : This property is used to inform machine driver about
3520mclk frequency needs to be configured for internal and external PA.
3521- asoc-platform: This is phandle list containing the references to platform device
3522 nodes that are used as part of the sound card dai-links.
3523- asoc-platform-names: This property contains list of platform names. The order of
3524 the platform names should match to that of the phandle order
3525 given in "asoc-platform".
3526- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
3527 that are used as part of the sound card dai-links.
3528- asoc-cpu-names: This property contains list of cpu dai names. The order of the
3529 cpu dai names should match to that of the phandle order given.
3530- asoc-codec: This is phandle list containing the references to codec dai device
3531 nodes that are used as part of the sound card dai-links.
3532- asoc-codec-names: This property contains list of codec dai names. The order of the
3533 codec dai names should match to that of the phandle order given
3534 in "asoc-codec".
3535- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
3536- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
3537- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
3538- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
3539- qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios.
3540- qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios.
3541- qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios.
3542- qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios.
3543- qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios.
3544- qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios.
3545
3546Example:
3547 sound {
3548 compatible = "qcom,qcs605-dig-asoc-snd";
3549 qcom,model = "qcs605-lc-snd-card";
3550 qcom,audio-routing =
3551 "RX_BIAS", "INT_MCLK0",
3552 "SPK_RX_BIAS", "INT_MCLK0",
3553 "DMIC1", "DIGITAL_REGULATOR",
3554 "DIGITAL_REGULATOR", "Digital Mic1",
3555 "DMIC2", "DIGITAL_REGULATOR",
3556 "DIGITAL_REGULATOR", "Digital Mic2",
3557 "DMIC3", "DIGITAL_REGULATOR",
3558 "DIGITAL_REGULATOR", "Digital Mic3",
3559 "DMIC4", "DIGITAL_REGULATOR",
3560 "DIGITAL_REGULATOR", "Digital Mic4",
3561 "SpkrLeft IN", "SPK1 OUT",
3562 "SpkrRight IN", "SPK2 OUT";
3563
3564 qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
3565 qcom,msm-mclk-freq = <9600000>;
3566 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
3567
3568 asoc-codec = <&stub_codec>, <&msm_digital_codec>,
3569 <&msm_sdw_codec>;
3570 asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec",
3571 "msm_sdw_codec";
3572
3573 qcom,wsa-max-devs = <2>;
3574 qcom,wsa-devs = <&wsa881x_211_en>, <&wsa881x_212_en>,
3575 <&wsa881x_213_en>, <&wsa881x_214_en>;
3576 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
3577 "SpkrLeft", "SpkrRight";
3578 }
shaoxing7bdb2ab2018-07-16 17:25:19 +08003579
3580* QCS605 IPcamera ASoC Machine driver
3581
3582Required properties:
3583- compatible : "qcom,qcs605-asoc-snd-tavil"
3584- qcom,model : The user-visible name of this sound card.
3585- qcom,audio-routing : A list of the connections between audio components.
3586- qcom,msm-gpios : Lists down all the gpio sets that are supported.
3587- qcom,pinctrl-names : Lists all the possible combinations of the gpio sets
3588mentioned in qcom,msm-gpios.
3589- pinctrl-names : The combinations of gpio sets from above that are supported in
3590the flavor.
3591- pinctrl-# : Pinctrl states as mentioned in pinctrl-names.
3592
3593Optional properties:
3594- qcom,wsa-disable : Boolean. Disables WSA speaker dailinks from sound node.
3595- qcom,msm-spk-ext-pa : GPIO which enables external speaker pa.
3596- qcom,msm-mclk-freq : This property is used to inform machine driver about
3597mclk frequency needs to be configured for internal and external PA.
3598- asoc-platform: This is phandle list containing the references to platform device
3599 nodes that are used as part of the sound card dai-links.
3600- asoc-platform-names: This property contains list of platform names. The order of
3601 the platform names should match to that of the phandle order
3602 given in "asoc-platform".
3603- asoc-cpu: This is phandle list containing the references to cpu dai device nodes
3604 that are used as part of the sound card dai-links.
3605- asoc-cpu-names: This property contains list of cpu dai names. The order of the
3606 cpu dai names should match to that of the phandle order given.
3607- asoc-codec: This is phandle list containing the references to codec dai device
3608 nodes that are used as part of the sound card dai-links.
3609- asoc-codec-names: This property contains list of codec dai names. The order of the
3610 codec dai names should match to that of the phandle order given
3611 in "asoc-codec".
3612- qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target
3613- qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target
3614- qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device
3615- qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios.
3616- qcom,cdc-sdw-gpios : phandle for soundwire clk and data gpios.
3617- qcom,pri-mi2s-gpios : phandle for primary MI2S clk, word select and data gpios.
3618- qcom,sec-mi2s-gpios : phandle for secondary MI2S clk, word select and data gpios.
3619- qcom,tert-mi2s-gpios : phandle for tertiary MI2S clk, word select and data gpios.
3620- qcom,quat-mi2s-gpios : phandle for quaternary MI2S clk, word select and data gpios.
3621- qcom,quin-mi2s-gpios : phandle for quinary MI2S clk, word select and data gpios.
3622
3623Example:
3624 sound {
3625 compatible = "qcom,qcs605-asoc-snd-tavil";
3626 qcom,model = "qcs605-tavil-snd-card";
3627 qcom,audio-routing =
3628 "RX_BIAS", "INT_MCLK0",
3629 "SPK_RX_BIAS", "INT_MCLK0",
3630 "DMIC1", "DIGITAL_REGULATOR",
3631 "DIGITAL_REGULATOR", "Digital Mic1",
3632 "DMIC2", "DIGITAL_REGULATOR",
3633 "DIGITAL_REGULATOR", "Digital Mic2",
3634 "DMIC3", "DIGITAL_REGULATOR",
3635 "DIGITAL_REGULATOR", "Digital Mic3",
3636 "DMIC4", "DIGITAL_REGULATOR",
3637 "DIGITAL_REGULATOR", "Digital Mic4",
3638 "SpkrLeft IN", "SPK1 OUT",
3639 "SpkrRight IN", "SPK2 OUT";
3640
3641 qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
3642 qcom,msm-mclk-freq = <9600000>;
3643 qcom,msm-gpios =
3644 "slim",
3645 "us_eu_gpio";
3646 qcom,pinctrl-names =
3647 "all_off",
3648 "slim_act",
3649 "us_eu_gpio_act",
3650 "slim_us_eu_gpio_act";
3651 pinctrl-names =
3652 "all_off",
3653 "slim_act",
3654 "us_eu_gpio_act",
3655 "slim_us_eu_gpio_act";
3656 pinctrl-0 = <&cdc_slim_lines_sus &cross_conn_det_sus>;
3657 pinctrl-1 = <&cdc_slim_lines_act &cross_conn_det_sus>;
3658 pinctrl-2 = <&cdc_slim_lines_sus &cross_conn_det_act>;
3659 pinctrl-3 = <&cdc_slim_lines_act &cross_conn_det_act>;
3660 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
3661
3662 asoc-codec = <&stub_codec>, <&msm_digital_codec>,
3663 <&msm_sdw_codec>;
3664 asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec",
3665 "msm_sdw_codec";
3666
3667 qcom,wsa-max-devs = <2>;
3668 qcom,wsa-devs = <&wsa881x_211_en>, <&wsa881x_212_en>,
3669 <&wsa881x_213_en>, <&wsa881x_214_en>;
3670 qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
3671 "SpkrLeft", "SpkrRight";
3672 }