3957c124d0357fabe4838951e1634d35668e9d8d
[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/surround40.conf>
75 <confdir:pcm/surround41.conf>
76 <confdir:pcm/surround50.conf>
77 <confdir:pcm/surround51.conf>
78 <confdir:pcm/surround71.conf>
79
80 HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
81 HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
82 HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0
83
84 <confdir:pcm/iec958.conf>
85
86 HDA-Intel.pcm.iec958.0 {
87         @args [ CARD AES0 AES1 AES2 AES3 ]
88         @args.CARD {
89                 type string
90         }
91         @args.AES0 {
92                 type integer
93         }
94         @args.AES1 {
95                 type integer
96         }
97         @args.AES2 {
98                 type integer
99         }
100         @args.AES3 {
101                 type integer
102         }
103         type asym
104         playback.pcm {
105                 type hooks
106                 slave.pcm {
107                         type hw
108                         card $CARD
109                         device 1
110                 }
111                 hooks.0 {
112                         type ctl_elems
113                         hook_args [
114                         {
115                                 name "IEC958 Playback Default"
116                                 index 16
117                                 optional true
118                                 lock true
119                                 preserve true
120                                 value [ $AES0 $AES1 $AES2 $AES3 ]
121                         }
122                         {
123                                 name "IEC958 Playback Switch"
124                                 index 16
125                                 optional true
126                                 value true
127                                 # if this element is present, skip the rest
128                                 skip_rest true
129                         }
130                         {
131                                 name "IEC958 Playback Default"
132                                 lock true
133                                 preserve true
134                                 value [ $AES0 $AES1 $AES2 $AES3 ]
135                         }
136                         {
137                                 name "IEC958 Playback Switch"
138                                 value true
139                         }
140                         ]
141                 }
142         }
143         capture.pcm {
144                 type hooks
145                 slave.pcm {
146                         type hw
147                         card $CARD
148                         device 1
149                 }
150                 hooks.0 {
151                         type ctl_elems
152                         hook_args [
153                         {
154                                 name "IEC958 Capture Switch"
155                                 lock true
156                                 preserve true
157                                 value true
158                         }
159                         ]
160                 }
161         }
162         hint.device 1
163 }
164
165 <confdir:pcm/hdmi.conf>
166
167 HDA-Intel.pcm.hdmi.common {
168         @args [ CARD DEVICE CTLINDEX AES0 AES1 AES2 AES3 ]
169         @args.CARD {
170                 type string
171         }
172         @args.DEVICE {
173                 type integer
174         }
175         @args.CTLINDEX {
176                 type integer
177         }
178         @args.AES0 {
179                 type integer
180         }
181         @args.AES1 {
182                 type integer
183         }
184         @args.AES2 {
185                 type integer
186         }
187         @args.AES3 {
188                 type integer
189         }
190         type hooks
191         slave.pcm {
192                 type hw
193                 card $CARD
194                 device $DEVICE
195         }
196         hooks.0 {
197                 type ctl_elems
198                 hook_args [
199                 {
200                         name "IEC958 Playback Default"
201                         index $CTLINDEX
202                         lock true
203                         preserve true
204                         value [ $AES0 $AES1 $AES2 $AES3 ]
205                 }
206                 {
207                         name "IEC958 Playback Switch"
208                         index $CTLINDEX
209                         value true
210                 }
211                 ]
212         }
213         hint.device $DEVICE
214 }
215
216 HDA-Intel.pcm.hdmi.0 {
217         @args [ CARD AES0 AES1 AES2 AES3 ]
218         @args.CARD { type string }
219         @args.AES0 { type integer }
220         @args.AES1 { type integer }
221         @args.AES2 { type integer }
222         @args.AES3 { type integer }
223         @func refer
224         name {
225                 @func concat
226                 strings [
227                         "cards.HDA-Intel.pcm.hdmi.common:"
228                         "CARD=" $CARD ","
229                         "DEVICE=3,"
230                         "CTLINDEX=0,"
231                         "AES0=" $AES0 ","
232                         "AES1=" $AES1 ","
233                         "AES2=" $AES2 ","
234                         "AES3=" $AES3
235                 ]
236         }
237 }
238
239 HDA-Intel.pcm.hdmi.1 {
240         @args [ CARD AES0 AES1 AES2 AES3 ]
241         @args.CARD { type string }
242         @args.AES0 { type integer }
243         @args.AES1 { type integer }
244         @args.AES2 { type integer }
245         @args.AES3 { type integer }
246         @func refer
247         name {
248                 @func concat
249                 strings [
250                         "cards.HDA-Intel.pcm.hdmi.common:"
251                         "CARD=" $CARD ","
252                         "DEVICE=7,"
253                         "CTLINDEX=1,"
254                         "AES0=" $AES0 ","
255                         "AES1=" $AES1 ","
256                         "AES2=" $AES2 ","
257                         "AES3=" $AES3
258                 ]
259         }
260 }
261
262 HDA-Intel.pcm.hdmi.2 {
263         @args [ CARD AES0 AES1 AES2 AES3 ]
264         @args.CARD { type string }
265         @args.AES0 { type integer }
266         @args.AES1 { type integer }
267         @args.AES2 { type integer }
268         @args.AES3 { type integer }
269         @func refer
270         name {
271                 @func concat
272                 strings [
273                         "cards.HDA-Intel.pcm.hdmi.common:"
274                         "CARD=" $CARD ","
275                         "DEVICE=8,"
276                         "CTLINDEX=2,"
277                         "AES0=" $AES0 ","
278                         "AES1=" $AES1 ","
279                         "AES2=" $AES2 ","
280                         "AES3=" $AES3
281                 ]
282         }
283 }
284
285 HDA-Intel.pcm.hdmi.3 {
286         @args [ CARD AES0 AES1 AES2 AES3 ]
287         @args.CARD { type string }
288         @args.AES0 { type integer }
289         @args.AES1 { type integer }
290         @args.AES2 { type integer }
291         @args.AES3 { type integer }
292         @func refer
293         name {
294                 @func concat
295                 strings [
296                         "cards.HDA-Intel.pcm.hdmi.common:"
297                         "CARD=" $CARD ","
298                         "DEVICE=9,"
299                         "CTLINDEX=3,"
300                         "AES0=" $AES0 ","
301                         "AES1=" $AES1 ","
302                         "AES2=" $AES2 ","
303                         "AES3=" $AES3
304                 ]
305         }
306 }
307
308 <confdir:pcm/modem.conf>
309
310 HDA-Intel.pcm.modem.0 {
311         @args [ CARD ]
312         @args.CARD {
313                 type string
314         }
315         type hw
316         card $CARD
317         device 6
318         hint.show off
319 }