blob: 213da90e072c2a29a5a41436814a376f1e511d76 [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
9* msm-pcm-routing
10
11Required properties:
12
13 - compatible : "qcom,msm-pcm-routing"
14
15* msm-pcm-lpa
16
17Required properties:
18
19 - compatible : "qcom,msm-pcm-lpa"
20
Harmandeep Singha3453a72012-07-03 12:31:09 -070021* msm-compr-dsp
22
23Required properties:
24
25 - compatible : "qcom,msm-compr-dsp"
26
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -070027* msm-voip-dsp
28
29Required properties:
30
31 - compatible : "qcom,msm-voip-dsp"
32
Phani Kumar Uppalapati0878e9d2012-08-24 14:52:00 -070033* msm-pcm-voice
34
35Required properties:
36
37 - compatible : "qcom,msm-pcm-voice"
38
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -070039* msm-stub-codec
40
41Required properties:
42
43 - compatible : "qcom,msm-stub-codec"
44
45* msm-dai-fe
46
47Required properties:
48
49 - compatible : "qcom,msm-dai-fe"
50
Phani Kumar Uppalapati580884a2012-09-24 19:40:27 -070051* msm-pcm-afe
52
53Required properties:
54
55 - compatible : "qcom,msm-pcm-afe"
56
Harmandeep Singh169f1d42012-10-01 19:19:38 -070057* msm-dai-q6-hdmi
58
59Required properties:
60 - compatible : "msm-dai-q6-hdmi"
61 - qcom,msm-dai-q6-dev-id : The hdmi multi channel port ID.
62 It is passed onto the dsp from the apps to form an audio
63 path to the HDMI device. Currently the only supported value
64 is 8, which indicates the rx path used for audio playback
65 on HDMI device.
66
Joonwoo Park6572ac52012-07-10 17:17:00 -070067* msm-dai-q6
68
69[First Level Nodes]
70
71Required properties:
72
73 - compatible : "msm-dai-q6"
74
75[Second Level Nodes]
76
77Required properties:
78
79 - compatible : "qcom,msm-dai-q6-dev"
80 - qcom,msm-dai-q6-dev-id : The slimbus multi channel port ID
81 Value is from 16384 to 16393
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -070082 BT SCO port ID value from 12288 to 12289
83 RT Proxy port ID values from 224 to 225 and 240 to 241
Phani Kumar Uppalapatibebe7382012-10-08 19:19:01 -070084 FM Rx and TX port ID values from 12292 to 12293
Joonwoo Park6572ac52012-07-10 17:17:00 -070085
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -070086* msm-auxpcm
87
88[First Level Nodes]
89
90Required properties:
91
92 - compatible : "qcom,msm-auxpcm-resource"
93
94 - qcom,msm-cpudai-auxpcm-clk: clock for auxpcm
95
96 - qcom,msm-cpudai-auxpcm-mode: mode information
97 0 - for PCM
98
99 - qcom,msm-cpudai-auxpcm-sync: sync information
100
101 - qcom,msm-cpudai-auxpcm-frame: No.of bytes per frame
102 5 - 256BPF
103
104 - qcom,msm-cpudai-auxpcm-quant: Type of quantization
105 2 - Linear quantization
106
107 - qcom,msm-cpudai-auxpcm-slot: Slot number for multichannel scenario
108 Value is 1
109
110 - qcom,msm-cpudai-auxpcm-data: Data field - 0
111
112 - qcom,msm-cpudai-auxpcm-pcm-clk-rate: Clock rate for pcm - 2048000
113
114[Second Level Nodes]
115
116Required Properties:
117
118 - qcom,msm-auxpcm-dev-id: This property specifies the device
119 port id.
120 For Rx device, the port id is 4106
121 and for Tx device, the port id is 4107
122
123 - compatible: "qcom,msm-auxpcm-dev"
124
125* msm-pcm-hostless
126
127Required properties:
128
129 - compatible : "qcom,msm-pcm-hostless"
130
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700131* msm-ocmem-audio
132
133Required properties:
134
135 - compatible : "qcom,msm-ocmem-audio"
136
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700137 - qcom,msm_bus,name: Client name
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700138
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700139 - qcom,msm_bus,num_cases: Total number of use cases
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700140
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700141 - qcom,msm_bus,active_only: Context flag for requests in active or
142 dual (active & sleep) contex
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700143
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700144 - qcom,msm_bus,num_paths: Total number of master-slave pairs
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700145
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700146 - qcom,msm_bus,vectors: Arrays of unsigned integers representing:
147 master-id, slave-id, arbitrated bandwidth,
148 instantaneous bandwidth
Joonwoo Parkf6574c72012-10-10 17:29:57 -0700149* wcd9xxx_intc
150
151Required properties:
152
153 - compatible : "qcom,wcd9xxx-irq"
154
155 - interrupt-controller : Mark this device node as an interrupt
156 controller
157
158 - #interrupt-cells : Should be 1
159
160 - interrupt-parent : Parent interrupt controller
161
162 - interrupts : Interrupt number on the parent
163 interrupt controller
164
165 - interrupt-names : Name of interrupt on the parent
166 interrupt controller
167
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700168Example:
169
170 qcom,msm-pcm {
171 compatible = "qcom,msm-pcm-dsp";
172 };
173
174 qcom,msm-pcm-routing {
175 compatible = "qcom,msm-pcm-routing";
176 };
177
178 qcom,msm-pcm-lpa {
179 compatible = "qcom,msm-pcm-lpa";
180 };
181
Harmandeep Singha3453a72012-07-03 12:31:09 -0700182 qcom,msm-compr-dsp {
183 compatible = "qcom,msm-compr-dsp";
184 };
185
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700186 qcom,msm-voip-dsp {
187 compatible = "qcom,msm-voip-dsp";
188 };
189
190 qcom,msm-stub-codec {
191 compatible = "qcom,msm-stub-codec";
192 };
193
194 qcom,msm-dai-fe {
195 compatible = "qcom,msm-dai-fe";
196 };
197
Harmandeep Singh169f1d42012-10-01 19:19:38 -0700198 qcom,msm-dai-q6-hdmi {
199 compatible = "qcom,msm-dai-q6-hdmi";
200 qcom,msm-dai-q6-dev-id = <8>;
201 };
202
Joonwoo Park6572ac52012-07-10 17:17:00 -0700203 qcom,msm-dai-q6 {
204 compatible = "qcom,msm-dai-q6";
205 qcom,msm-dai-q6-sb-0-rx {
206 compatible = "qcom,msm-dai-q6-dev";
207 qcom,msm-dai-q6-dev-id = <16384>;
208 };
209
210 qcom,msm-dai-q6-sb-0-tx {
211 compatible = "qcom,msm-dai-q6-dev";
212 qcom,msm-dai-q6-dev-id = <16385>;
213 };
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -0700214
Phani Kumar Uppalapatiefad7312012-10-09 18:43:36 -0700215 qcom,msm-dai-q6-sb-1-rx {
216 compatible = "qcom,msm-dai-q6-dev";
217 qcom,msm-dai-q6-dev-id = <16386>;
218 };
219
220 qcom,msm-dai-q6-sb-1-tx {
221 compatible = "qcom,msm-dai-q6-dev";
222 qcom,msm-dai-q6-dev-id = <16387>;
223 };
224
225 qcom,msm-dai-q6-sb-3-rx {
226 compatible = "qcom,msm-dai-q6-dev";
227 qcom,msm-dai-q6-dev-id = <16390>;
228 };
229
230 qcom,msm-dai-q6-sb-3-tx {
231 compatible = "qcom,msm-dai-q6-dev";
232 qcom,msm-dai-q6-dev-id = <16391>;
233 };
234
235 qcom,msm-dai-q6-sb-4-rx {
236 compatible = "qcom,msm-dai-q6-dev";
237 qcom,msm-dai-q6-dev-id = <16392>;
238 };
239
240 qcom,msm-dai-q6-sb-4-tx {
241 compatible = "qcom,msm-dai-q6-dev";
242 qcom,msm-dai-q6-dev-id = <16393>;
243 };
244
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -0700245 qcom,msm-dai-q6-bt-sco-rx {
246 compatible = "qcom,msm-dai-q6-dev";
247 qcom,msm-dai-q6-dev-id = <12288>;
248 };
249
250 qcom,msm-dai-q6-bt-sco-tx {
251 compatible = "qcom,msm-dai-q6-dev";
252 qcom,msm-dai-q6-dev-id = <12289>;
253 };
254
Phani Kumar Uppalapatibebe7382012-10-08 19:19:01 -0700255 qcom,msm-dai-q6-int-fm-rx {
256 compatible = "qcom,msm-dai-q6-dev";
257 qcom,msm-dai-q6-dev-id = <12292>;
258 };
259
260 qcom,msm-dai-q6-int-fm-tx {
261 compatible = "qcom,msm-dai-q6-dev";
262 qcom,msm-dai-q6-dev-id = <12293>;
263 };
264
Phani Kumar Uppalapati1d303092012-09-24 19:55:56 -0700265 qcom,msm-dai-q6-be-afe-pcm-rx {
266 compatible = "qcom,msm-dai-q6-dev";
267 qcom,msm-dai-q6-dev-id = <224>;
268 };
269
270 qcom,msm-dai-q6-be-afe-pcm-tx {
271 compatible = "qcom,msm-dai-q6-dev";
272 qcom,msm-dai-q6-dev-id = <225>;
273 };
274
275 qcom,msm-dai-q6-afe-proxy-rx {
276 compatible = "qcom,msm-dai-q6-dev";
277 qcom,msm-dai-q6-dev-id = <241>;
278 };
279
280 qcom,msm-dai-q6-afe-proxy-tx {
281 compatible = "qcom,msm-dai-q6-dev";
282 qcom,msm-dai-q6-dev-id = <240>;
283 };
Joonwoo Park6572ac52012-07-10 17:17:00 -0700284 };
285
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700286 qcom,msm-auxpcm {
287 compatible = "qcom,msm-auxpcm-resource";
288 qcom,msm-cpudai-auxpcm-clk = "pcm_clk";
289 qcom,msm-cpudai-auxpcm-mode = <0>;
290 qcom,msm-cpudai-auxpcm-sync = <1>;
291 qcom,msm-cpudai-auxpcm-frame = <5>;
292 qcom,msm-cpudai-auxpcm-quant = <2>;
293 qcom,msm-cpudai-auxpcm-slot = <1>;
294 qcom,msm-cpudai-auxpcm-data = <0>;
295 qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>;
296
297 qcom,msm-auxpcm-rx {
Harmandeep Singha3453a72012-07-03 12:31:09 -0700298 qcom,msm-auxpcm-dev-id = <4106>;
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700299 compatible = "qcom,msm-auxpcm-dev";
300 };
301
302 qcom,msm-auxpcm-tx {
Harmandeep Singha3453a72012-07-03 12:31:09 -0700303 qcom,msm-auxpcm-dev-id = <4107>;
Phani Kumar Uppalapati87841c82012-06-14 21:28:43 -0700304 compatible = "qcom,msm-auxpcm-dev";
305 };
306 };
307
308 qcom,msm-pcm-hostless {
309 compatible = "qcom,msm-pcm-hostless";
310 };
311
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700312 qcom,msm-ocmem-audio {
313 compatible = "qcom,msm-ocmem-audio";
Phani Kumar Uppalapati31492952012-09-25 20:25:53 -0700314 qcom,msm_bus,name = "audio-ocmem";
315 qcom,msm_bus,num_cases = <2>;
316 qcom,msm_bus,active_only = <0>;
317 qcom,msm_bus,num_paths = <1>;
318 qcom,msm_bus,vectors =
319 <11 604 0 0>,
320 <11 604 32505856 325058560>;
Phani Kumar Uppalapati8b3a1bb2012-06-26 19:56:58 -0700321 };
322
Joonwoo Parkf6574c72012-10-10 17:29:57 -0700323 wcd9xxx_intc: wcd9xxx-irq {
324 compatible = "qcom,wcd9xxx-irq";
325 interrupt-controller;
326 #interrupt-cells = <1>;
327 interrupt-parent = <&msmgpio>;
328 interrupts = <72 0>;
329 interrupt-names = "cdc-int";
330 };
331
Kiran Kandi9ee87e42012-08-20 13:05:40 -0700332* MSM8974 ASoC Machine driver
333
334Required properties:
335- compatible : "qcom,msm8974-audio-taiko"
336- qcom,model : The user-visible name of this sound card.
337- qcom,audio-routing : A list of the connections between audio components.
338 Each entry is a pair of strings, the first being the connection's sink,
339 the second being the connection's source.
Kiran Kandi79db1b02012-08-21 13:48:19 -0700340- qcom,cdc-mclk-gpios : GPIO on which mclk signal is comming.
341- taiko-mclk-clk : phandle to PMIC8941 clkdiv1 node.
342- qcom,taiko-mclk-clk-freq : Taiko mclk Freq in Hz. currently only 9600000Hz
343 is supported.
Kiran Kandi9ee87e42012-08-20 13:05:40 -0700344
345Example:
346
347sound {
348 compatible = "qcom,msm8974-audio-taiko";
349 qcom,model = "msm8974-taiko-snd-card";
350
351 qcom,audio-routing =
352 "RX_BIAS", "MCLK",
353 "LDO_H", "MCLK",
354 "HEADPHONE", "LDO_H",
355 "Ext Spk Bottom Pos", "LINEOUT1",
356 "Ext Spk Bottom Neg", "LINEOUT3",
357 "Ext Spk Top Pos", "LINEOUT2",
358 "Ext Spk Top Neg", "LINEOUT4",
359 "AMIC1", "MIC BIAS1 Internal1",
360 "MIC BIAS1 Internal1", "Handset Mic",
361 "AMIC2", "MIC BIAS2 External",
362 "MIC BIAS2 External", "Headset Mic",
363 "AMIC3", "MIC BIAS3 Internal1",
364 "MIC BIAS3 Internal1", "ANCRight Headset Mic",
365 "AMIC4", "MIC BIAS1 Internal2",
366 "MIC BIAS1 Internal2", "ANCLeft Headset Mic",
367 "DMIC1", "MIC BIAS1 External",
368 "MIC BIAS1 External", "Digital Mic1",
369 "DMIC2", "MIC BIAS1 External",
370 "MIC BIAS1 External", "Digital Mic2",
371 "DMIC3", "MIC BIAS3 External",
372 "MIC BIAS3 External", "Digital Mic3",
373 "DMIC4", "MIC BIAS3 External",
374 "MIC BIAS3 External", "Digital Mic4",
375 "DMIC5", "MIC BIAS4 External",
376 "MIC BIAS4 External", "Digital Mic5",
377 "DMIC6", "MIC BIAS4 External",
378 "MIC BIAS4 External", "Digital Mic6";
Kiran Kandi79db1b02012-08-21 13:48:19 -0700379
380 qcom,cdc-mclk-gpios = <&pm8941_gpios 15 0>;
381 taiko-mclk-clk = <&pm8941_clkdiv1>;
382 qcom,taiko-mclk-clk-freq = <9600000>;
Kiran Kandi9ee87e42012-08-20 13:05:40 -0700383};
Venkat Sudhir4bd983e2012-10-27 02:59:54 -0700384
385* msm-dai-mi2s
386
387[First Level Nodes]
388
389Required properties:
390
391 - compatible : "msm-dai-mi2s"
392
393 [Second Level Nodes]
394
395Required properties:
396
397 - compatible : "qcom,msm-dai-q6-mi2s"
398 - qcom,msm-dai-q6-mi2s-dev-id: MSM or MDM can use Slimbus or I2S interface to transfer data
399 to (WCD9XXX) codec. If slimbus interface is used then
400 "msm-dai-q6" needs to be filled with correct data for slimbus
401 interface. The sections "msm-dai-mi2s" is used by MDM or MSM
402 to use I2S interface with codec. This section is used by CPU
403 driver in ASOC MSM to configure MI2S interface. MSM internally
404 has multiple MI2S namely Primary, Secondary, Tertiary and
405 Quaternary MI2S. They are represented with id 0, 1, 2, 3
406 respectively. The field "qcom,msm-dai-q6-mi2s-dev-id" represents
407 which of the MI2S block is used. These MI2S are connected to I2S
408 interface.
409
410 - qcom,msm-mi2s-rx-lines: Each MI2S interface in MSM has one or more SD lines. These lines
411 are used for data transfer between codec and MSM. This element in
412 indicates which output RX lines are used in the MI2S interface.
413
414 - qcom,msm-mi2s-tx-lines: Each MI2S interface in MSM has one or more SD lines. These lines
415 are used for data transfer between codec and MSM. This element in
416 indicates which input TX lines are used in the MI2S interface.
417
418Example:
419
420qcom,msm-dai-mi2s {
421 compatible = "qcom,msm-dai-mi2s";
422 qcom,msm-dai-q6-mi2s-prim {
423 compatible = "qcom,msm-dai-q6-mi2s";
424 qcom,msm-dai-q6-mi2s-dev-id = <0>;
425 qcom,msm-mi2s-rx-lines = <2>;
426 qcom,msm-mi2s-tx-lines = <1>;
427 };
Venkat Sudhir64f66302012-10-30 09:30:16 -0700428};
429
430* MSM9625 ASoC Machine driver
431
432Required properties:
433- compatible : "qcom,mdm9625-audio-taiko"
434- qcom,model : The user-visible name of this sound card.
435- qcom,audio-routing : A list of the connections between audio components.
436 Each entry is a pair of strings, the first being the connection's sink,
437 the second being the connection's source.
438- qcom,taiko-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX
439 codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz.
440 This element represents the value for MCLK provided to codec.
441
442Example:
443
444sound {
445 compatible = "qcom,mdm9625-audio-taiko";
446 qcom,model = "mdm9625-taiko-i2s-snd-card";
447
448 qcom,audio-routing =
449 "RX_BIAS", "MCLK",
450 "LDO_H", "MCLK",
451 "Ext Spk Bottom Pos", "LINEOUT1",
452 "Ext Spk Bottom Neg", "LINEOUT3",
453 "Ext Spk Top Pos", "LINEOUT2",
454 "Ext Spk Top Neg", "LINEOUT4",
455 "AMIC1", "MIC BIAS1 External",
456 "MIC BIAS1 External", "Handset Mic",
457 "AMIC2", "MIC BIAS2 External",
458 "MIC BIAS2 External", "Headset Mic",
459 "AMIC3", "MIC BIAS3 Internal1",
460 "MIC BIAS3 Internal1", "ANCRight Headset Mic",
461 "AMIC4", "MIC BIAS1 Internal2",
462 "MIC BIAS1 Internal2", "ANCLeft Headset Mic",
463 "DMIC1", "MIC BIAS1 External",
464 "MIC BIAS1 External", "Digital Mic1",
465 "DMIC2", "MIC BIAS1 External",
466 "MIC BIAS1 External", "Digital Mic2",
467 "DMIC3", "MIC BIAS3 External",
468 "MIC BIAS3 External", "Digital Mic3",
469 "DMIC4", "MIC BIAS3 External",
470 "MIC BIAS3 External", "Digital Mic4",
471 "DMIC5", "MIC BIAS4 External",
472 "MIC BIAS4 External", "Digital Mic5",
473 "DMIC6", "MIC BIAS4 External",
474 "MIC BIAS4 External", "Digital Mic6";
475 qcom,taiko-mclk-clk-freq = <12288000>;
476};
Venkat Sudhir480db8a2012-11-09 15:31:50 -0800477
478* msm-adsp-loader
479
480Required properties:
481 - compatible : "msm-adsp-loader"
482 - qcom,adsp-state:
483 It is possible that some MSM use PIL to load the ADSP image. While
484 other MSM may use SBL to load the ADSP image at boot. Audio APR needs
485 state of ADSP to register and enable APR to be used for sending commands
486 to ADSP. so adsp-state represents the state of ADSP to ADSP loader. Value
487 of 0 indicates ADSP loader needs to use PIL and value of 2 means ADSP
488 image is already loaded by SBL.
489
490Example:
491
492qcom,msm-adsp-loader {
493 compatible = "qcom,adsp-loader";
494 qcom,adsp-state = <2>;
495};