blob: 56bdc5957158b8ea990c723c7f7d3610e397e33d [file] [log] [blame]
Joonwoo Park6572ac52012-07-10 17:17:00 -07001Qualcomm audio devices for ALSA sound SoC
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -07002
3* msm-pcm
4
5Required properties:
6
7 - compatible : "qcom,msm-pcm-dsp"
8
Phani Kumar Uppalapati85b7c9b2013-02-19 09:59:47 -08009 - 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
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -070024* msm-pcm-routing
25
26Required properties:
27
28 - compatible : "qcom,msm-pcm-routing"
29
30* msm-pcm-lpa
31
32Required properties:
33
34 - compatible : "qcom,msm-pcm-lpa"
35
Harmandeep Singha3453a72012-07-03 12:31:09 -070036* msm-compr-dsp
37
38Required properties:
39
40 - compatible : "qcom,msm-compr-dsp"
41
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -070042* msm-voip-dsp
43
44Required properties:
45
46 - compatible : "qcom,msm-voip-dsp"
47
Phani Kumar Uppalapati0878e9d2012-08-24 14:52:00 -070048* msm-pcm-voice
49
50Required properties:
51
52 - compatible : "qcom,msm-pcm-voice"
53
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -070054* msm-stub-codec
55
56Required properties:
57
58 - compatible : "qcom,msm-stub-codec"
59
60* msm-dai-fe
61
62Required properties:
63
64 - compatible : "qcom,msm-dai-fe"
65
Phani Kumar Uppalapati580884a2012-09-24 19:40:27 -070066* msm-pcm-afe
67
68Required properties:
69
70 - compatible : "qcom,msm-pcm-afe"
71
Venkat Sudhir6f1a5302013-01-17 12:28:15 -080072* msm-pcm-dtmf
73
74Required properties:
75
76 - compatible : "qcom,msm-pcm-dtmf"
77 - qcom,msm-pcm-dtmf : Enable DTMF driver in Audio. DTMF driver is
78 used for generation and detection of DTMF tones, when user is in
79 active voice call. APR commands are sent from DTMF driver to ADSP.
80
81* msm-dai-stub
82
83Required properties:
84
85 - compatible : "qcom,msm-dai-stub"
86 - qcom,msm-dai-stub : This enables stub CPU dai in Audio.
87 The stub dai is used when there is no real backend in Audio.
88
Harmandeep Singh169f1d42012-10-01 19:19:38 -070089* msm-dai-q6-hdmi
90
91Required properties:
92 - compatible : "msm-dai-q6-hdmi"
93 - qcom,msm-dai-q6-dev-id : The hdmi multi channel port ID.
94 It is passed onto the dsp from the apps to form an audio
95 path to the HDMI device. Currently the only supported value
96 is 8, which indicates the rx path used for audio playback
97 on HDMI device.
98
Joonwoo Parkb91e48e2013-02-21 10:24:56 -080099* msm-lsm-client
100
101Required properties:
102
103 - compatible : "qcom,msm-lsm-client"
104
Joonwoo Park6572ac52012-07-10 17:17:00 -0700105* msm-dai-q6
106
107[First Level Nodes]
108
109Required properties:
110
111 - compatible : "msm-dai-q6"
112
Eugene Yasman570dcea2012-11-25 09:59:17 +0200113Optional properties:
114
115 - qcom,ext-spk-amp-supply : External speaker amplifier power supply.
116 - qcom,ext-spk-amp-gpio : External speaker amplifier enable signal.
117
Joonwoo Park6572ac52012-07-10 17:17:00 -0700118[Second Level Nodes]
119
120Required properties:
121
122 - compatible : "qcom,msm-dai-q6-dev"
123 - qcom,msm-dai-q6-dev-id : The slimbus multi channel port ID
124 Value is from 16384 to 16393
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -0700125 BT SCO port ID value from 12288 to 12289
Joonwoo Park44945812013-01-14 17:24:45 -0800126 RT Proxy port ID values from 224 to 225 and 240 to
127 241
Phani Kumar Uppalapatibebe7382012-10-08 19:19:01 -0700128 FM Rx and TX port ID values from 12292 to 12293
Mohan Kumar Gubbihalli Lachma Naik72e1b282012-12-19 11:49:07 -0800129 incall record Rx and TX port ID values from 32771 to 32772
130 inCall Music Delivery port ID is 32773
Joonwoo Park6572ac52012-07-10 17:17:00 -0700131
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700132* msm-auxpcm
133
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700134Required properties:
135
Patrick Laiafd82122013-06-15 22:50:04 -0700136 - compatible : "qcom,msm-auxpcm-dev"
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700137
Damir Didjusto04d3c362013-01-07 14:30:53 -0800138 - qcom,msm-cpudai-auxpcm-mode: mode information. The first value is
139 for 8khz mode, the second is for
140 16khz
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700141 0 - for PCM
142
Damir Didjusto04d3c362013-01-07 14:30:53 -0800143 - qcom,msm-cpudai-auxpcm-sync: sync information. The first value is
144 for 8khz mode, the second is for
145 16khz
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700146
Damir Didjusto04d3c362013-01-07 14:30:53 -0800147 - qcom,msm-cpudai-auxpcm-frame: No.of bytes per frame. The first
148 value is for 8khz mode, the second
149 is for 16khz
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700150 5 - 256BPF
Damir Didjusto04d3c362013-01-07 14:30:53 -0800151 4 - 128BPF
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700152
Damir Didjusto04d3c362013-01-07 14:30:53 -0800153 - qcom,msm-cpudai-auxpcm-quant: Type of quantization. The first
154 value is for 8khz mode, the second
155 is for 16khz
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700156 2 - Linear quantization
157
158 - qcom,msm-cpudai-auxpcm-slot: Slot number for multichannel scenario
Damir Didjusto04d3c362013-01-07 14:30:53 -0800159 The first value is for 8khz mode the
160 second is for 16khz
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700161 Value is 1
162
Damir Didjusto04d3c362013-01-07 14:30:53 -0800163 - qcom,msm-cpudai-auxpcm-data: Data field - 0. The first value is
164 for 8khz mode, the second is for
165 16khz
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700166
Damir Didjusto04d3c362013-01-07 14:30:53 -0800167 - qcom,msm-cpudai-auxpcm-pcm-clk-rate: Clock rate for pcm - 2048000. The
168 first value is for 8khz mode, the
169 second is for auxpcm
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700170
Patrick Laiafd82122013-06-15 22:50:04 -0700171 - qcom,msm-auxpcm-interface: name of AUXPCM interface "primary"
172 indicates primary AUXPCM interface
173 "secondary" indicates secondary
174 AUXPCM interface
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700175
176* msm-pcm-hostless
177
178Required properties:
179
180 - compatible : "qcom,msm-pcm-hostless"
181
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700182* msm-ocmem-audio
183
184Required properties:
185
186 - compatible : "qcom,msm-ocmem-audio"
187
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700188 - qcom,msm_bus,name: Client name
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700189
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700190 - qcom,msm_bus,num_cases: Total number of use cases
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700191
Joonwoo Park44945812013-01-14 17:24:45 -0800192 - qcom,msm_bus,active_only: Context flag for requests in active
193 or dual (active & sleep) contex
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700194
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700195 - qcom,msm_bus,num_paths: Total number of master-slave pairs
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700196
Joonwoo Park44945812013-01-14 17:24:45 -0800197 - qcom,msm_bus,vectors: Arrays of unsigned integers
198 representing:
199 master-id, slave-id, arbitrated
200 bandwidth,
201 instantaneous bandwidth
Joonwoo Parkf6574c72012-10-10 17:29:57 -0700202* wcd9xxx_intc
203
204Required properties:
205
206 - compatible : "qcom,wcd9xxx-irq"
207
Joonwoo Park44945812013-01-14 17:24:45 -0800208 - interrupt-controller : Mark this device node as an
209 interrupt controller
Joonwoo Parkf6574c72012-10-10 17:29:57 -0700210
211 - #interrupt-cells : Should be 1
212
213 - interrupt-parent : Parent interrupt controller
214
215 - interrupts : Interrupt number on the parent
216 interrupt controller
217
218 - interrupt-names : Name of interrupt on the parent
219 interrupt controller
220
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700221Example:
222
223 qcom,msm-pcm {
Phani Kumar Uppalapati85b7c9b2013-02-19 09:59:47 -0800224 compatible = "qcom,msm-pcm-dsp";
225 qcom,msm-pcm-dsp-id = <0>;
226 };
227
228 qcom,msm-pcm-low-latency {
229 compatible = "qcom,msm-pcm-dsp";
230 qcom,msm-pcm-dsp-id = <1>;
231 qcom,msm-pcm-low-latency;
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700232 };
233
234 qcom,msm-pcm-routing {
235 compatible = "qcom,msm-pcm-routing";
236 };
237
238 qcom,msm-pcm-lpa {
239 compatible = "qcom,msm-pcm-lpa";
240 };
241
Harmandeep Singha3453a72012-07-03 12:31:09 -0700242 qcom,msm-compr-dsp {
243 compatible = "qcom,msm-compr-dsp";
244 };
245
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700246 qcom,msm-voip-dsp {
247 compatible = "qcom,msm-voip-dsp";
248 };
249
250 qcom,msm-stub-codec {
251 compatible = "qcom,msm-stub-codec";
252 };
253
254 qcom,msm-dai-fe {
255 compatible = "qcom,msm-dai-fe";
256 };
257
Venkat Sudhir6f1a5302013-01-17 12:28:15 -0800258 qcom,msm-pcm-dtmf {
259 compatible = "qcom,msm-pcm-dtmf";
260 };
261
262 qcom,msm-dai-stub {
263 compatible = "qcom,msm-dai-stub";
264 };
265
Harmandeep Singh169f1d42012-10-01 19:19:38 -0700266 qcom,msm-dai-q6-hdmi {
267 compatible = "qcom,msm-dai-q6-hdmi";
268 qcom,msm-dai-q6-dev-id = <8>;
269 };
270
Joonwoo Park6572ac52012-07-10 17:17:00 -0700271 qcom,msm-dai-q6 {
272 compatible = "qcom,msm-dai-q6";
273 qcom,msm-dai-q6-sb-0-rx {
274 compatible = "qcom,msm-dai-q6-dev";
275 qcom,msm-dai-q6-dev-id = <16384>;
276 };
277
278 qcom,msm-dai-q6-sb-0-tx {
279 compatible = "qcom,msm-dai-q6-dev";
280 qcom,msm-dai-q6-dev-id = <16385>;
281 };
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -0700282
Phani Kumar Uppalapatiefad7312012-10-09 18:43:36 -0700283 qcom,msm-dai-q6-sb-1-rx {
284 compatible = "qcom,msm-dai-q6-dev";
285 qcom,msm-dai-q6-dev-id = <16386>;
286 };
287
288 qcom,msm-dai-q6-sb-1-tx {
289 compatible = "qcom,msm-dai-q6-dev";
290 qcom,msm-dai-q6-dev-id = <16387>;
291 };
292
293 qcom,msm-dai-q6-sb-3-rx {
294 compatible = "qcom,msm-dai-q6-dev";
295 qcom,msm-dai-q6-dev-id = <16390>;
296 };
297
298 qcom,msm-dai-q6-sb-3-tx {
299 compatible = "qcom,msm-dai-q6-dev";
300 qcom,msm-dai-q6-dev-id = <16391>;
301 };
302
303 qcom,msm-dai-q6-sb-4-rx {
304 compatible = "qcom,msm-dai-q6-dev";
305 qcom,msm-dai-q6-dev-id = <16392>;
306 };
307
308 qcom,msm-dai-q6-sb-4-tx {
309 compatible = "qcom,msm-dai-q6-dev";
310 qcom,msm-dai-q6-dev-id = <16393>;
311 };
312
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -0700313 qcom,msm-dai-q6-bt-sco-rx {
314 compatible = "qcom,msm-dai-q6-dev";
315 qcom,msm-dai-q6-dev-id = <12288>;
316 };
317
318 qcom,msm-dai-q6-bt-sco-tx {
319 compatible = "qcom,msm-dai-q6-dev";
320 qcom,msm-dai-q6-dev-id = <12289>;
321 };
322
Phani Kumar Uppalapatibebe7382012-10-08 19:19:01 -0700323 qcom,msm-dai-q6-int-fm-rx {
324 compatible = "qcom,msm-dai-q6-dev";
325 qcom,msm-dai-q6-dev-id = <12292>;
326 };
327
328 qcom,msm-dai-q6-int-fm-tx {
329 compatible = "qcom,msm-dai-q6-dev";
330 qcom,msm-dai-q6-dev-id = <12293>;
331 };
332
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -0700333 qcom,msm-dai-q6-be-afe-pcm-rx {
334 compatible = "qcom,msm-dai-q6-dev";
335 qcom,msm-dai-q6-dev-id = <224>;
336 };
337
338 qcom,msm-dai-q6-be-afe-pcm-tx {
339 compatible = "qcom,msm-dai-q6-dev";
340 qcom,msm-dai-q6-dev-id = <225>;
341 };
342
343 qcom,msm-dai-q6-afe-proxy-rx {
344 compatible = "qcom,msm-dai-q6-dev";
345 qcom,msm-dai-q6-dev-id = <241>;
346 };
347
348 qcom,msm-dai-q6-afe-proxy-tx {
349 compatible = "qcom,msm-dai-q6-dev";
350 qcom,msm-dai-q6-dev-id = <240>;
351 };
Mohan Kumar Gubbihalli Lachma Naik984252f2012-12-06 16:13:33 -0800352
353 qcom,msm-dai-q6-incall-record-rx {
354 compatible = "qcom,msm-dai-q6-dev";
355 qcom,msm-dai-q6-dev-id = <32771>;
356 };
357
358 qcom,msm-dai-q6-incall-record-tx {
359 compatible = "qcom,msm-dai-q6-dev";
360 qcom,msm-dai-q6-dev-id = <32772>;
361 };
Mohan Kumar Gubbihalli Lachma Naik72e1b282012-12-19 11:49:07 -0800362
363 qcom,msm-dai-q6-incall-music-rx {
364 compatible = "qcom,msm-dai-q6-dev";
365 qcom,msm-dai-q6-dev-id = <32773>;
366 };
Joonwoo Park6572ac52012-07-10 17:17:00 -0700367 };
368
Patrick Laiafd82122013-06-15 22:50:04 -0700369 qcom,msm-pri-auxpcm {
370 qcom,msm-cpudai-auxpcm-mode = <1>, <1>;
371 qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
372 qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
373 qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
374 qcom,msm-cpudai-auxpcm-slot = <1>, <1>;
375 qcom,msm-cpudai-auxpcm-data = <0>, <0>;
376 qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
377 qcom,msm-auxpcm-interface = "primary";
378 compatible = "qcom,msm-auxpcm-dev";
379 };
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700380
381 qcom,msm-pcm-hostless {
382 compatible = "qcom,msm-pcm-hostless";
383 };
384
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700385 qcom,msm-ocmem-audio {
386 compatible = "qcom,msm-ocmem-audio";
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700387 qcom,msm_bus,name = "audio-ocmem";
388 qcom,msm_bus,num_cases = <2>;
389 qcom,msm_bus,active_only = <0>;
390 qcom,msm_bus,num_paths = <1>;
391 qcom,msm_bus,vectors =
392 <11 604 0 0>,
393 <11 604 32505856 325058560>;
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700394 };
395
Joonwoo Parkf6574c72012-10-10 17:29:57 -0700396 wcd9xxx_intc: wcd9xxx-irq {
397 compatible = "qcom,wcd9xxx-irq";
398 interrupt-controller;
399 #interrupt-cells = <1>;
400 interrupt-parent = <&msmgpio>;
401 interrupts = <72 0>;
402 interrupt-names = "cdc-int";
403 };
404
Kiran Kandi9ee87e42012-08-20 13:05:40 -0700405* MSM8974 ASoC Machine driver
406
407Required properties:
408- compatible : "qcom,msm8974-audio-taiko"
409- qcom,model : The user-visible name of this sound card.
Banajit Goswamib1b62b52013-10-31 18:25:15 -0700410- reg : Offset and length of the register region(s) for MI2S/PCM MUX
411- reg-names : Register region name(s) referenced in reg above
412 Required register resource entries are:
413 "lpaif_pri_mode_muxsel": Physical address of MUX to select between
414 Primary PCM and Primary MI2S
415 "lpaif_sec_mode_muxsel": Physical address of MUX to select between
416 Secondary PCM and Secondary MI2S
417 "lpaif_tert_mode_muxsel": Physical address of MUX to select between
418 Primary PCM and Tertiary MI2S
419 "lpaif_quat_mode_muxsel": Physical address of MUX to select between
420 Secondary PCM and Quarternary MI2S
Kiran Kandi9ee87e42012-08-20 13:05:40 -0700421- qcom,audio-routing : A list of the connections between audio components.
422 Each entry is a pair of strings, the first being the connection's sink,
423 the second being the connection's source.
Kiran Kandi79db1b02012-08-21 13:48:19 -0700424- qcom,cdc-mclk-gpios : GPIO on which mclk signal is comming.
Kiran Kandi79db1b02012-08-21 13:48:19 -0700425- qcom,taiko-mclk-clk-freq : Taiko mclk Freq in Hz. currently only 9600000Hz
426 is supported.
Banajit Goswami57b47c42013-04-04 19:13:22 -0700427- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
428- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
429- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
430- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
Banajit Goswamif8ce89a2013-04-09 18:02:15 -0700431- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
432 Possible Values:
433 prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S
434 prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S
Banajit Goswamidd3d8da2013-04-03 11:17:08 -0700435- qcom,sec-auxpcm-gpio-clk : GPIO on which Secondary AUXPCM clk signal is coming.
436- qcom,sec-auxpcm-gpio-sync : GPIO on which Secondary AUXPCM SYNC signal is coming.
437- qcom,sec-auxpcm-gpio-din : GPIO on which Secondary AUXPCM DIN signal is coming.
438- qcom,sec-auxpcm-gpio-dout : GPIO on which Secondary AUXPCM DOUT signal is coming.
Fred Ohfcc8e932013-03-06 20:47:39 -0800439- qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
Kiran Kandi52650322012-12-11 15:49:39 -0800440Optional properties:
441- qcom,hdmi-audio-rx: specifies if HDMI audio support is enabled or not.
Baruch Eruchimovitchdc814672013-03-10 21:46:14 +0200442- qcom,ext-ult-spk-amp-gpio : GPIO for enabling of speaker path amplifier.
Kiran Kandi52650322012-12-11 15:49:39 -0800443
Joonwoo Park4099b7a2013-03-11 20:47:59 -0700444- qcom,ext-ult-lo-amp-gpio: GPIO to enable external ultrasound lineout
445 amplifier.
446
Phani Kumar Uppalapatief087572013-05-03 11:19:33 -0700447- qcom,headset-jack-type-NO: Adjust GPIO level based on the headset jack type.
Phani Kumar Uppalapati93c74602013-05-09 19:08:16 -0700448- qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio
449 codec.
Bhalchandra Gajared01701b2013-09-19 13:19:08 -0700450- qcom,mbhc-bias-internal: Flag to indicate if internal micbias should be used
451 for headset detection.
Tanya Finkel6c69f0b2013-05-28 22:53:29 +0300452
453* APQ8074 ASoC Machine driver
454
455Required properties:
456- compatible : "qcom,apq8074-audio-taiko"
457
Kiran Kandi9ee87e42012-08-20 13:05:40 -0700458Example:
459
460sound {
461 compatible = "qcom,msm8974-audio-taiko";
462 qcom,model = "msm8974-taiko-snd-card";
463
464 qcom,audio-routing =
465 "RX_BIAS", "MCLK",
466 "LDO_H", "MCLK",
467 "HEADPHONE", "LDO_H",
468 "Ext Spk Bottom Pos", "LINEOUT1",
469 "Ext Spk Bottom Neg", "LINEOUT3",
470 "Ext Spk Top Pos", "LINEOUT2",
471 "Ext Spk Top Neg", "LINEOUT4",
472 "AMIC1", "MIC BIAS1 Internal1",
473 "MIC BIAS1 Internal1", "Handset Mic",
474 "AMIC2", "MIC BIAS2 External",
475 "MIC BIAS2 External", "Headset Mic",
476 "AMIC3", "MIC BIAS3 Internal1",
477 "MIC BIAS3 Internal1", "ANCRight Headset Mic",
478 "AMIC4", "MIC BIAS1 Internal2",
479 "MIC BIAS1 Internal2", "ANCLeft Headset Mic",
480 "DMIC1", "MIC BIAS1 External",
481 "MIC BIAS1 External", "Digital Mic1",
482 "DMIC2", "MIC BIAS1 External",
483 "MIC BIAS1 External", "Digital Mic2",
484 "DMIC3", "MIC BIAS3 External",
485 "MIC BIAS3 External", "Digital Mic3",
486 "DMIC4", "MIC BIAS3 External",
487 "MIC BIAS3 External", "Digital Mic4",
488 "DMIC5", "MIC BIAS4 External",
489 "MIC BIAS4 External", "Digital Mic5",
490 "DMIC6", "MIC BIAS4 External",
491 "MIC BIAS4 External", "Digital Mic6";
Kiran Kandi79db1b02012-08-21 13:48:19 -0700492
493 qcom,cdc-mclk-gpios = <&pm8941_gpios 15 0>;
Kiran Kandi79db1b02012-08-21 13:48:19 -0700494 qcom,taiko-mclk-clk-freq = <9600000>;
Fred Ohfcc8e932013-03-06 20:47:39 -0800495 qcom,us-euro-gpios = <&pm8941_gpios 20 0>;
Kiran Kandi52650322012-12-11 15:49:39 -0800496
497 qcom,hdmi-audio-rx;
Joonwoo Park4099b7a2013-03-11 20:47:59 -0700498 qcom,ext-ult-lo-amp-gpio = <&pm8941_gpios 6 0>;
Damir Didjusto04d3c362013-01-07 14:30:53 -0800499
Banajit Goswami57b47c42013-04-04 19:13:22 -0700500 qcom,prim-auxpcm-gpio-clk = <&msmgpio 65 0>;
501 qcom,prim-auxpcm-gpio-sync = <&msmgpio 66 0>;
502 qcom,prim-auxpcm-gpio-din = <&msmgpio 67 0>;
503 qcom,prim-auxpcm-gpio-dout = <&msmgpio 68 0>;
Banajit Goswamif8ce89a2013-04-09 18:02:15 -0700504 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
Banajit Goswamidd3d8da2013-04-03 11:17:08 -0700505 qcom,sec-auxpcm-gpio-clk = <&msmgpio 79 0>;
506 qcom,sec-auxpcm-gpio-sync = <&msmgpio 80 0>;
507 qcom,sec-auxpcm-gpio-din = <&msmgpio 81 0>;
508 qcom,sec-auxpcm-gpio-dout = <&msmgpio 82 0>;
Kiran Kandi9ee87e42012-08-20 13:05:40 -0700509};
Venkat Sudhir4bd983e2012-10-27 02:59:54 -0700510
511* msm-dai-mi2s
512
513[First Level Nodes]
514
515Required properties:
516
517 - compatible : "msm-dai-mi2s"
518
519 [Second Level Nodes]
520
521Required properties:
522
523 - compatible : "qcom,msm-dai-q6-mi2s"
Joonwoo Park44945812013-01-14 17:24:45 -0800524 - qcom,msm-dai-q6-mi2s-dev-id: MSM or MDM can use Slimbus or I2S interface to
525 transfer data to (WCD9XXX) codec.
526 If slimbus interface is used then "msm-dai-q6"
527 needs to be filled with correct data for
528 slimbus interface.
529 The sections "msm-dai-mi2s" is used by MDM or
530 MSM to use I2S interface with codec.
531 This section is used by CPU driver in ASOC MSM
532 to configure MI2S interface. MSM internally
533 has multiple MI2S namely Primary, Secondary,
534 Tertiary and Quaternary MI2S.
535 They are represented with id 0, 1, 2, 3
536 respectively.
537 The field "qcom,msm-dai-q6-mi2s-dev-id"
538 represents which of the MI2S block is used.
539 These MI2S are connected to I2S interface.
Venkat Sudhir4bd983e2012-10-27 02:59:54 -0700540
Joonwoo Park44945812013-01-14 17:24:45 -0800541 - qcom,msm-mi2s-rx-lines: Each MI2S interface in MSM has one or more SD
542 lines. These lines are used for data transfer
543 between codec and MSM.
544 This element in indicates which output RX lines
545 are used in the MI2S interface.
Venkat Sudhir4bd983e2012-10-27 02:59:54 -0700546
Joonwoo Park44945812013-01-14 17:24:45 -0800547 - qcom,msm-mi2s-tx-lines: Each MI2S interface in MSM has one or more SD
548 lines. These lines are used for data transfer
549 between codec and MSM.
550 This element in indicates which input TX lines
551 are used in the MI2S interface.
Venkat Sudhir4bd983e2012-10-27 02:59:54 -0700552
553Example:
554
555qcom,msm-dai-mi2s {
556 compatible = "qcom,msm-dai-mi2s";
557 qcom,msm-dai-q6-mi2s-prim {
558 compatible = "qcom,msm-dai-q6-mi2s";
559 qcom,msm-dai-q6-mi2s-dev-id = <0>;
560 qcom,msm-mi2s-rx-lines = <2>;
561 qcom,msm-mi2s-tx-lines = <1>;
562 };
Venkat Sudhir64f66302012-10-30 09:30:16 -0700563};
564
565* MSM9625 ASoC Machine driver
566
567Required properties:
568- compatible : "qcom,mdm9625-audio-taiko"
569- qcom,model : The user-visible name of this sound card.
570- qcom,audio-routing : A list of the connections between audio components.
571 Each entry is a pair of strings, the first being the connection's sink,
572 the second being the connection's source.
573- qcom,taiko-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX
574 codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz.
575 This element represents the value for MCLK provided to codec.
Venkat Sudhir459d6f52012-12-04 12:00:13 -0800576- prim-i2s-gpio-ws : Specifies gpio assigned for primary WS I2S pin.
577- prim-i2s-gpio-din : Specifies gpio assigned for primary DIN I2S pin.
578- prim-i2s-gpio-dout : Specifies gpio assigned for primary DOUT I2S pin.
579- prim-i2s-gpio-sclk : Specifies gpio assigned for primary SCLK I2S pin.
580- prim-i2s-gpio-mclk : Specifies gpio assigned for MCLK I2S pin.
Venkat Sudhir64f66302012-10-30 09:30:16 -0700581
582Example:
583
584sound {
585 compatible = "qcom,mdm9625-audio-taiko";
586 qcom,model = "mdm9625-taiko-i2s-snd-card";
587
588 qcom,audio-routing =
589 "RX_BIAS", "MCLK",
590 "LDO_H", "MCLK",
591 "Ext Spk Bottom Pos", "LINEOUT1",
592 "Ext Spk Bottom Neg", "LINEOUT3",
593 "Ext Spk Top Pos", "LINEOUT2",
594 "Ext Spk Top Neg", "LINEOUT4",
595 "AMIC1", "MIC BIAS1 External",
596 "MIC BIAS1 External", "Handset Mic",
597 "AMIC2", "MIC BIAS2 External",
598 "MIC BIAS2 External", "Headset Mic",
599 "AMIC3", "MIC BIAS3 Internal1",
600 "MIC BIAS3 Internal1", "ANCRight Headset Mic",
601 "AMIC4", "MIC BIAS1 Internal2",
602 "MIC BIAS1 Internal2", "ANCLeft Headset Mic",
603 "DMIC1", "MIC BIAS1 External",
604 "MIC BIAS1 External", "Digital Mic1",
605 "DMIC2", "MIC BIAS1 External",
606 "MIC BIAS1 External", "Digital Mic2",
607 "DMIC3", "MIC BIAS3 External",
608 "MIC BIAS3 External", "Digital Mic3",
609 "DMIC4", "MIC BIAS3 External",
610 "MIC BIAS3 External", "Digital Mic4",
611 "DMIC5", "MIC BIAS4 External",
612 "MIC BIAS4 External", "Digital Mic5",
613 "DMIC6", "MIC BIAS4 External",
614 "MIC BIAS4 External", "Digital Mic6";
615 qcom,taiko-mclk-clk-freq = <12288000>;
Venkat Sudhir459d6f52012-12-04 12:00:13 -0800616 prim-i2s-gpio-ws = <&msmgpio 12 0>;
617 prim-i2s-gpio-din = <&msmgpio 13 0>;
618 prim-i2s-gpio-dout = <&msmgpio 14 0>;
619 prim-i2s-gpio-sclk = <&msmgpio 15 0>;
620 prim-i2s-gpio-mclk = <&msmgpio 71 0>;
Venkat Sudhir64f66302012-10-30 09:30:16 -0700621};
Venkat Sudhir480db8a2012-11-09 15:31:50 -0800622
623* msm-adsp-loader
624
625Required properties:
Fred Ohde9438a2013-04-04 11:29:12 -0700626 - compatible : "qcom,adsp-loader"
Venkat Sudhir480db8a2012-11-09 15:31:50 -0800627 - qcom,adsp-state:
628 It is possible that some MSM use PIL to load the ADSP image. While
629 other MSM may use SBL to load the ADSP image at boot. Audio APR needs
630 state of ADSP to register and enable APR to be used for sending commands
Joonwoo Park44945812013-01-14 17:24:45 -0800631 to ADSP. so adsp-state represents the state of ADSP to ADSP loader.
632 Value of 0 indicates ADSP loader needs to use PIL and value of 2 means
633 ADSP image is already loaded by SBL.
Venkat Sudhir480db8a2012-11-09 15:31:50 -0800634
635Example:
636
637qcom,msm-adsp-loader {
638 compatible = "qcom,adsp-loader";
639 qcom,adsp-state = <2>;
640};
Fred Ohde9438a2013-04-04 11:29:12 -0700641
642* msm-audio-ion
643
644Required properties:
645 - compatible : "qcom,msm-audio-ion"
646
647Optional properties:
648 - qcom,smmu-enabled:
649 It is possible that some MSM have SMMU in ADSP. While other MSM use
650 no SMMU. Audio lib introduce wrapper for ION APIs. The wrapper needs
651 presence of SMMU in ADSP to handle ION APIs differently.
652 Presence of this property means ADSP has SMMU in it.
653
654Example:
655
656qcom,msm-audio-ion {
657 compatible = "qcom,msm-audio-ion;
658 qcom,smmu-enabled;
659};
Banajit Goswami25715c52013-05-10 11:45:47 -0700660
661* MSM8226 ASoC Machine driver
662
663Required properties:
664- compatible : "qcom,msm8226-audio-tapan"
665- qcom,model : The user-visible name of this sound card.
666- qcom,tapan-mclk-clk-freq : Tapan mclk Freq in Hz. currently only 9600000Hz
667 is supported.
668- qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
669- qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
670- qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
671- qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
672- qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
673 Possible Values:
674 prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S
675 prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S
676
Bhalchandra Gajare6ce3b712013-04-23 17:30:40 -0700677Optional Properties:
mengw3d535dd2013-06-13 13:43:45 +0800678- qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
679- qcom,cdc-lineout-spkr-gpios : GPIO which controls external PAs to enable Lineout1/2 speaker
680- qcom,cdc-vdd-spkr-gpios : GPIO which controls PA for VDD speaker
Bhalchandra Gajare7faec652013-07-18 20:59:30 -0700681- qcom,headset-jack-type-NC: Set if the headset jack type is NC (Normally Closed)
Bhalchandra Gajare6ce3b712013-04-23 17:30:40 -0700682
Banajit Goswami25715c52013-05-10 11:45:47 -0700683Example:
684
685sound {
686 compatible = "qcom,msm8226-audio-tapan";
687 qcom,model = "msm8226-tapan-snd-card";
688 qcom,tapan-mclk-clk-freq = <9600000>;
689 qcom,prim-auxpcm-gpio-clk = <&msmgpio 63 0>;
690 qcom,prim-auxpcm-gpio-sync = <&msmgpio 64 0>;
691 qcom,prim-auxpcm-gpio-din = <&msmgpio 65 0>;
692 qcom,prim-auxpcm-gpio-dout = <&msmgpio 66 0>;
693 qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
Bhalchandra Gajare6ce3b712013-04-23 17:30:40 -0700694 qcom,cdc-us-euro-gpios = <&msmgpio 69 0>;
mengw3d535dd2013-06-13 13:43:45 +0800695 qcom,cdc-lineout-spkr-gpios = <&pm8226_gpios 2 0>;
696 qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 3 0>;
Banajit Goswami25715c52013-05-10 11:45:47 -0700697};