fa9f6946376f91b1f9006f8ff947e69c2ddb12a8
[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 <confdir:pcm/hdmi.conf>
167
168 HDA-Intel.pcm.hdmi.common {
169         @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
170         @args.CARD {
171                 type string
172         }
173         @args.DEVICE {
174                 type integer
175         }
176         @args.CTLINDEX {
177                 type integer
178         }
179         @args.AES0 {
180                 type integer
181         }
182         @args.AES1 {
183                 type integer
184         }
185         @args.AES2 {
186                 type integer
187         }
188         @args.AES3 {
189                 type integer
190         }
191         type hooks
192         slave.pcm {
193                 type hw
194                 card $CARD
195                 device $DEVICE
196         }
197         hooks.0 {
198                 type ctl_elems
199                 hook_args [
200                 {
201                         name "IEC958 Playback Default"
202                         index $CTLINDEX
203                         lock true
204                         preserve true
205                         value [ $AES0 $AES1 $AES2 $AES3 ]
206                 }
207                 {
208                         name "IEC958 Playback Switch"
209                         index $CTLINDEX
210                         value true
211                 }
212                 ]
213         }
214         hint.device $DEVICE
215 }
216
217 HDA-Intel.pcm.hdmi.0 {
218         @args [ CARD AES0 AES1 AES2 AES3 ]
219         @args.CARD { type string }
220         @args.AES0 { type integer }
221         @args.AES1 { type integer }
222         @args.AES2 { type integer }
223         @args.AES3 { type integer }
224         @func refer
225         name {
226                 @func concat
227                 strings [
228                         "cards.HDA-Intel.pcm.hdmi.common:"
229                         "CARD=" $CARD ","
230                         "DEVICE=3,"
231                         "CTLINDEX=0,"
232                         "AES0=" $AES0 ","
233                         "AES1=" $AES1 ","
234                         "AES2=" $AES2 ","
235                         "AES3=" $AES3
236                 ]
237         }
238 }
239
240 HDA-Intel.pcm.hdmi.1 {
241         @args [ CARD AES0 AES1 AES2 AES3 ]
242         @args.CARD { type string }
243         @args.AES0 { type integer }
244         @args.AES1 { type integer }
245         @args.AES2 { type integer }
246         @args.AES3 { type integer }
247         @func refer
248         name {
249                 @func concat
250                 strings [
251                         "cards.HDA-Intel.pcm.hdmi.common:"
252                         "CARD=" $CARD ","
253                         "DEVICE=7,"
254                         "CTLINDEX=1,"
255                         "AES0=" $AES0 ","
256                         "AES1=" $AES1 ","
257                         "AES2=" $AES2 ","
258                         "AES3=" $AES3
259                 ]
260         }
261 }
262
263 HDA-Intel.pcm.hdmi.2 {
264         @args [ CARD AES0 AES1 AES2 AES3 ]
265         @args.CARD { type string }
266         @args.AES0 { type integer }
267         @args.AES1 { type integer }
268         @args.AES2 { type integer }
269         @args.AES3 { type integer }
270         @func refer
271         name {
272                 @func concat
273                 strings [
274                         "cards.HDA-Intel.pcm.hdmi.common:"
275                         "CARD=" $CARD ","
276                         "DEVICE=8,"
277                         "CTLINDEX=2,"
278                         "AES0=" $AES0 ","
279                         "AES1=" $AES1 ","
280                         "AES2=" $AES2 ","
281                         "AES3=" $AES3
282                 ]
283         }
284 }
285
286 HDA-Intel.pcm.hdmi.3 {
287         @args [ CARD AES0 AES1 AES2 AES3 ]
288         @args.CARD { type string }
289         @args.AES0 { type integer }
290         @args.AES1 { type integer }
291         @args.AES2 { type integer }
292         @args.AES3 { type integer }
293         @func refer
294         name {
295                 @func concat
296                 strings [
297                         "cards.HDA-Intel.pcm.hdmi.common:"
298                         "CARD=" $CARD ","
299                         "DEVICE=9,"
300                         "CTLINDEX=3,"
301                         "AES0=" $AES0 ","
302                         "AES1=" $AES1 ","
303                         "AES2=" $AES2 ","
304                         "AES3=" $AES3
305                 ]
306         }
307 }
308
309 HDA-Intel.pcm.hdmi.4 {
310         @args [ CARD AES0 AES1 AES2 AES3 ]
311         @args.CARD { type string }
312         @args.AES0 { type integer }
313         @args.AES1 { type integer }
314         @args.AES2 { type integer }
315         @args.AES3 { type integer }
316         @func refer
317         name {
318                 @func concat
319                 strings [
320                         "cards.HDA-Intel.pcm.hdmi.common:"
321                         "CARD=" $CARD ","
322                         "DEVICE=10,"
323                         "CTLINDEX=4,"
324                         "AES0=" $AES0 ","
325                         "AES1=" $AES1 ","
326                         "AES2=" $AES2 ","
327                         "AES3=" $AES3
328                 ]
329         }
330 }
331
332 HDA-Intel.pcm.hdmi.5 {
333         @args [ CARD AES0 AES1 AES2 AES3 ]
334         @args.CARD { type string }
335         @args.AES0 { type integer }
336         @args.AES1 { type integer }
337         @args.AES2 { type integer }
338         @args.AES3 { type integer }
339         @func refer
340         name {
341                 @func concat
342                 strings [
343                         "cards.HDA-Intel.pcm.hdmi.common:"
344                         "CARD=" $CARD ","
345                         "DEVICE=11,"
346                         "CTLINDEX=5,"
347                         "AES0=" $AES0 ","
348                         "AES1=" $AES1 ","
349                         "AES2=" $AES2 ","
350                         "AES3=" $AES3
351                 ]
352         }
353 }
354
355 HDA-Intel.pcm.hdmi.6 {
356         @args [ CARD AES0 AES1 AES2 AES3 ]
357         @args.CARD { type string }
358         @args.AES0 { type integer }
359         @args.AES1 { type integer }
360         @args.AES2 { type integer }
361         @args.AES3 { type integer }
362         @func refer
363         name {
364                 @func concat
365                 strings [
366                         "cards.HDA-Intel.pcm.hdmi.common:"
367                         "CARD=" $CARD ","
368                         "DEVICE=12,"
369                         "CTLINDEX=6,"
370                         "AES0=" $AES0 ","
371                         "AES1=" $AES1 ","
372                         "AES2=" $AES2 ","
373                         "AES3=" $AES3
374                 ]
375         }
376 }
377
378 HDA-Intel.pcm.hdmi.7 {
379         @args [ CARD AES0 AES1 AES2 AES3 ]
380         @args.CARD { type string }
381         @args.AES0 { type integer }
382         @args.AES1 { type integer }
383         @args.AES2 { type integer }
384         @args.AES3 { type integer }
385         @func refer
386         name {
387                 @func concat
388                 strings [
389                         "cards.HDA-Intel.pcm.hdmi.common:"
390                         "CARD=" $CARD ","
391                         "DEVICE=13,"
392                         "CTLINDEX=7,"
393                         "AES0=" $AES0 ","
394                         "AES1=" $AES1 ","
395                         "AES2=" $AES2 ","
396                         "AES3=" $AES3
397                 ]
398         }
399 }
400
401 <confdir:pcm/modem.conf>
402
403 HDA-Intel.pcm.modem.0 {
404         @args [ CARD ]
405         @args.CARD {
406                 type string
407         }
408         type hw
409         card $CARD
410         device 6
411         hint.show off
412 }