]> git.alsa-project.org Git - alsa-lib.git/blob - src/conf/cards/HDA-Intel.conf
5451606f4d31b4c75ecc63ff08624d3336ad4a56
[alsa-lib.git] / src / conf / cards / HDA-Intel.conf
1 #
2 # Configuration for the Intel HD audio (ICH6/ICH7)
3 #
4
5 <confdir:pcm/front.conf>
6
7 HDA-Intel.pcm.front.0 {
8         @args [ CARD ]
9         @args.CARD {
10                 type string
11         }
12         type asym
13         playback.pcm {
14                 type softvol
15                 slave.pcm {
16                         type hw
17                         card $CARD
18                         subdevice 0
19                 }
20                 control {
21                         name "PCM Playback Volume"
22                         card $CARD
23                 }
24         }
25         capture.pcm {
26                 type hw
27                 card $CARD
28         }
29 }       
30
31 # default with dmix+softvol & dsnoop
32 HDA-Intel.pcm.default {
33         @args [ CARD ]
34         @args.CARD {
35                 type string
36         }
37         type asym
38         playback.pcm {
39                 type plug
40                 slave.pcm {
41                         type softvol
42                         slave.pcm {
43                                 @func concat
44                                 strings [ "dmix:" $CARD ]
45                         }
46                         control {
47                                 name "PCM Playback Volume"
48                                 card $CARD
49                         }
50                 }
51         }
52         capture.pcm {
53                 type plug
54                 slave.pcm {
55                         type softvol
56                         slave.pcm {
57                                 @func concat
58                                 strings [ "dsnoop:" $CARD ]
59                         }
60                         control {
61                                 name "Digital Capture Volume"
62                                 card $CARD
63                         }
64                         min_dB -30.0
65                         max_dB 30.0
66                         resolution 121
67                 }
68                 # to avoid possible phase inversions with digital mics
69                 route_policy copy
70         }
71         hint.device 0
72 }
73
74 <confdir:pcm/surround21.conf>
75 <confdir:pcm/surround40.conf>
76 <confdir:pcm/surround41.conf>
77 <confdir:pcm/surround50.conf>
78 <confdir:pcm/surround51.conf>
79 <confdir:pcm/surround71.conf>
80
81 HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
82 HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
83 HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0
84
85 <confdir:pcm/iec958.conf>
86
87 HDA-Intel.pcm.iec958.0 {
88         @args [ CARD AES0 AES1 AES2 AES3 ]
89         @args.CARD {
90                 type string
91         }
92         @args.AES0 {
93                 type integer
94         }
95         @args.AES1 {
96                 type integer
97         }
98         @args.AES2 {
99                 type integer
100         }
101         @args.AES3 {
102                 type integer
103         }
104         type asym
105         playback.pcm {
106                 type hooks
107                 slave.pcm {
108                         type hw
109                         card $CARD
110                         device 1
111                 }
112                 hooks.0 {
113                         type ctl_elems
114                         hook_args [
115                         {
116                                 name "IEC958 Playback Default"
117                                 index 16
118                                 optional true
119                                 lock true
120                                 preserve true
121                                 value [ $AES0 $AES1 $AES2 $AES3 ]
122                         }
123                         {
124                                 name "IEC958 Playback Switch"
125                                 index 16
126                                 optional true
127                                 value true
128                                 # if this element is present, skip the rest
129                                 skip_rest true
130                         }
131                         {
132                                 name "IEC958 Playback Default"
133                                 lock true
134                                 preserve true
135                                 value [ $AES0 $AES1 $AES2 $AES3 ]
136                         }
137                         {
138                                 name "IEC958 Playback Switch"
139                                 value true
140                         }
141                         ]
142                 }
143         }
144         capture.pcm {
145                 type hooks
146                 slave.pcm {
147                         type hw
148                         card $CARD
149                         device 1
150                 }
151                 hooks.0 {
152                         type ctl_elems
153                         hook_args [
154                         {
155                                 name "IEC958 Capture Switch"
156                                 lock true
157                                 preserve true
158                                 value true
159                         }
160                         ]
161                 }
162         }
163         hint.device 1
164 }
165
166 HDA-Intel.pcm.hdmi.common {
167         @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
168         @args.CARD {
169                 type string
170         }
171         @args.DEVICE {
172                 type integer
173         }
174         @args.CTLINDEX {
175                 type integer
176         }
177         @args.AES0 {
178                 type integer
179         }
180         @args.AES1 {
181                 type integer
182         }
183         @args.AES2 {
184                 type integer
185         }
186         @args.AES3 {
187                 type integer
188         }
189         type hooks
190         slave.pcm {
191                 type hw
192                 card $CARD
193                 device $DEVICE
194         }
195         hooks.0 {
196                 type ctl_elems
197                 hook_args [
198                 {
199                         name "IEC958 Playback Default"
200                         index $CTLINDEX
201                         lock true
202                         preserve true
203                         value [ $AES0 $AES1 $AES2 $AES3 ]
204                 }
205                 {
206                         name "IEC958 Playback Switch"
207                         index $CTLINDEX
208                         value true
209                 }
210                 ]
211         }
212         hint.device $DEVICE
213 }
214
215 HDA-Intel.pcm.hdmi.0 {
216         @args [ CARD AES0 AES1 AES2 AES3 ]
217         @args.CARD { type string }
218         @args.AES0 { type integer }
219         @args.AES1 { type integer }
220         @args.AES2 { type integer }
221         @args.AES3 { type integer }
222         @func refer
223         name {
224                 @func concat
225                 strings [
226                         "cards.HDA-Intel.pcm.hdmi.common:"
227                         "CARD=" $CARD ","
228                         "DEVICE=3,"
229                         "CTLINDEX=0,"
230                         "AES0=" $AES0 ","
231                         "AES1=" $AES1 ","
232                         "AES2=" $AES2 ","
233                         "AES3=" $AES3
234                 ]
235         }
236 }
237
238 HDA-Intel.pcm.hdmi.1 {
239         @args [ CARD AES0 AES1 AES2 AES3 ]
240         @args.CARD { type string }
241         @args.AES0 { type integer }
242         @args.AES1 { type integer }
243         @args.AES2 { type integer }
244         @args.AES3 { type integer }
245         @func refer
246         name {
247                 @func concat
248                 strings [
249                         "cards.HDA-Intel.pcm.hdmi.common:"
250                         "CARD=" $CARD ","
251                         "DEVICE=7,"
252                         "CTLINDEX=1,"
253                         "AES0=" $AES0 ","
254                         "AES1=" $AES1 ","
255                         "AES2=" $AES2 ","
256                         "AES3=" $AES3
257                 ]
258         }
259 }
260
261 HDA-Intel.pcm.hdmi.2 {
262         @args [ CARD AES0 AES1 AES2 AES3 ]
263         @args.CARD { type string }
264         @args.AES0 { type integer }
265         @args.AES1 { type integer }
266         @args.AES2 { type integer }
267         @args.AES3 { type integer }
268         @func refer
269         name {
270                 @func concat
271                 strings [
272                         "cards.HDA-Intel.pcm.hdmi.common:"
273                         "CARD=" $CARD ","
274                         "DEVICE=8,"
275                         "CTLINDEX=2,"
276                         "AES0=" $AES0 ","
277                         "AES1=" $AES1 ","
278                         "AES2=" $AES2 ","
279                         "AES3=" $AES3
280                 ]
281         }
282 }
283
284 HDA-Intel.pcm.hdmi.3 {
285         @args [ CARD AES0 AES1 AES2 AES3 ]
286         @args.CARD { type string }
287         @args.AES0 { type integer }
288         @args.AES1 { type integer }
289         @args.AES2 { type integer }
290         @args.AES3 { type integer }
291         @func refer
292         name {
293                 @func concat
294                 strings [
295                         "cards.HDA-Intel.pcm.hdmi.common:"
296                         "CARD=" $CARD ","
297                         "DEVICE=9,"
298                         "CTLINDEX=3,"
299                         "AES0=" $AES0 ","
300                         "AES1=" $AES1 ","
301                         "AES2=" $AES2 ","
302                         "AES3=" $AES3
303                 ]
304         }
305 }
306
307 HDA-Intel.pcm.hdmi.4 {
308         @args [ CARD AES0 AES1 AES2 AES3 ]
309         @args.CARD { type string }
310         @args.AES0 { type integer }
311         @args.AES1 { type integer }
312         @args.AES2 { type integer }
313         @args.AES3 { type integer }
314         @func refer
315         name {
316                 @func concat
317                 strings [
318                         "cards.HDA-Intel.pcm.hdmi.common:"
319                         "CARD=" $CARD ","
320                         "DEVICE=10,"
321                         "CTLINDEX=4,"
322                         "AES0=" $AES0 ","
323                         "AES1=" $AES1 ","
324                         "AES2=" $AES2 ","
325                         "AES3=" $AES3
326                 ]
327         }
328 }
329
330 HDA-Intel.pcm.hdmi.5 {
331         @args [ CARD AES0 AES1 AES2 AES3 ]
332         @args.CARD { type string }
333         @args.AES0 { type integer }
334         @args.AES1 { type integer }
335         @args.AES2 { type integer }
336         @args.AES3 { type integer }
337         @func refer
338         name {
339                 @func concat
340                 strings [
341                         "cards.HDA-Intel.pcm.hdmi.common:"
342                         "CARD=" $CARD ","
343                         "DEVICE=11,"
344                         "CTLINDEX=5,"
345                         "AES0=" $AES0 ","
346                         "AES1=" $AES1 ","
347                         "AES2=" $AES2 ","
348                         "AES3=" $AES3
349                 ]
350         }
351 }
352
353 HDA-Intel.pcm.hdmi.6 {
354         @args [ CARD AES0 AES1 AES2 AES3 ]
355         @args.CARD { type string }
356         @args.AES0 { type integer }
357         @args.AES1 { type integer }
358         @args.AES2 { type integer }
359         @args.AES3 { type integer }
360         @func refer
361         name {
362                 @func concat
363                 strings [
364                         "cards.HDA-Intel.pcm.hdmi.common:"
365                         "CARD=" $CARD ","
366                         "DEVICE=12,"
367                         "CTLINDEX=6,"
368                         "AES0=" $AES0 ","
369                         "AES1=" $AES1 ","
370                         "AES2=" $AES2 ","
371                         "AES3=" $AES3
372                 ]
373         }
374 }
375
376 HDA-Intel.pcm.hdmi.7 {
377         @args [ CARD AES0 AES1 AES2 AES3 ]
378         @args.CARD { type string }
379         @args.AES0 { type integer }
380         @args.AES1 { type integer }
381         @args.AES2 { type integer }
382         @args.AES3 { type integer }
383         @func refer
384         name {
385                 @func concat
386                 strings [
387                         "cards.HDA-Intel.pcm.hdmi.common:"
388                         "CARD=" $CARD ","
389                         "DEVICE=13,"
390                         "CTLINDEX=7,"
391                         "AES0=" $AES0 ","
392                         "AES1=" $AES1 ","
393                         "AES2=" $AES2 ","
394                         "AES3=" $AES3
395                 ]
396         }
397 }
398
399 HDA-Intel.pcm.hdmi.8 {
400         @args [ CARD AES0 AES1 AES2 AES3 ]
401         @args.CARD { type string }
402         @args.AES0 { type integer }
403         @args.AES1 { type integer }
404         @args.AES2 { type integer }
405         @args.AES3 { type integer }
406         @func refer
407         name {
408                 @func concat
409                 strings [
410                         "cards.HDA-Intel.pcm.hdmi.common:"
411                         "CARD=" $CARD ","
412                         "DEVICE=14,"
413                         "CTLINDEX=8,"
414                         "AES0=" $AES0 ","
415                         "AES1=" $AES1 ","
416                         "AES2=" $AES2 ","
417                         "AES3=" $AES3
418                 ]
419         }
420 }
421
422 HDA-Intel.pcm.hdmi.9 {
423         @args [ CARD AES0 AES1 AES2 AES3 ]
424         @args.CARD { type string }
425         @args.AES0 { type integer }
426         @args.AES1 { type integer }
427         @args.AES2 { type integer }
428         @args.AES3 { type integer }
429         @func refer
430         name {
431                 @func concat
432                 strings [
433                         "cards.HDA-Intel.pcm.hdmi.common:"
434                         "CARD=" $CARD ","
435                         "DEVICE=15,"
436                         "CTLINDEX=9,"
437                         "AES0=" $AES0 ","
438                         "AES1=" $AES1 ","
439                         "AES2=" $AES2 ","
440                         "AES3=" $AES3
441                 ]
442         }
443 }
444
445 HDA-Intel.pcm.hdmi.10 {
446         @args [ CARD AES0 AES1 AES2 AES3 ]
447         @args.CARD { type string }
448         @args.AES0 { type integer }
449         @args.AES1 { type integer }
450         @args.AES2 { type integer }
451         @args.AES3 { type integer }
452         @func refer
453         name {
454                 @func concat
455                 strings [
456                         "cards.HDA-Intel.pcm.hdmi.common:"
457                         "CARD=" $CARD ","
458                         "DEVICE=16,"
459                         "CTLINDEX=10,"
460                         "AES0=" $AES0 ","
461                         "AES1=" $AES1 ","
462                         "AES2=" $AES2 ","
463                         "AES3=" $AES3
464                 ]
465         }
466 }
467
468 <confdir:pcm/modem.conf>
469
470 HDA-Intel.pcm.modem.0 {
471         @args [ CARD ]
472         @args.CARD {
473                 type string
474         }
475         type hw
476         card $CARD
477         device 6
478         hint.show off
479 }