1#
2# Configuration for the Intel ICH/ICH2/ICH3 chips
3#
4
5<confdir:pcm/front.conf>
6
7ICH.pcm.front.0 {
8	@args [ CARD ]
9	@args.CARD {
10		type string
11	}
12	type softvol
13	slave.pcm {
14		type hw
15		card $CARD
16	}
17	control {
18		name "PCM Playback Volume"
19		card $CARD
20	}
21}	
22
23# default with dmix+softvol & dsnoop
24ICH.pcm.default {
25	@args [ CARD ]
26	@args.CARD {
27		type string
28	}
29	type asym
30	playback.pcm {
31		type plug
32		slave.pcm {
33			type softvol
34			slave.pcm {
35				@func concat
36				strings [ "dmix:" $CARD ]
37			}
38			control {
39				name "PCM Playback Volume"
40				card $CARD
41			}
42		}
43	}
44	capture.pcm {
45		type plug
46		slave.pcm {
47			@func concat
48			strings [ "dsnoop:" $CARD ]
49		}
50	}
51}
52
53<confdir:pcm/surround40.conf>
54
55ICH.pcm.surround40.0 {
56	@args [ CARD ]
57	@args.CARD {
58		type string
59	}
60	type softvol
61	slave.pcm {
62		type hooks
63		slave.pcm {
64			type hw
65			card $CARD
66			channels 4
67		}
68		hooks.0 {
69			type ctl_elems
70			hook_args [
71			{
72				name "Channel Mode"
73				preserve true
74				value "4ch"
75				lock true
76				optional true
77			}
78			# for old drivers
79			{
80				name "Line-In As Surround"
81				preserve true
82				value true
83				optional true
84			}
85			{
86				name "Surround Down Mix"
87				preserve true
88				value off
89				lock true
90				optional true
91			}
92			]
93		}
94	}
95	control {
96		name "PCM Playback Volume"
97		card $CARD
98	}
99}
100
101<confdir:pcm/surround41.conf>
102<confdir:pcm/surround50.conf>
103<confdir:pcm/surround51.conf>
104
105ICH.pcm.surround51.0 {
106	@args [ CARD ]
107	@args.CARD {
108		type string
109	}
110	type softvol
111	slave.pcm {
112		type route
113		ttable.0.0 1
114		ttable.1.1 1
115		ttable.2.4 1
116		ttable.3.5 1
117		ttable.4.2 1
118		ttable.5.3 1
119		slave.pcm {
120			type hooks
121			slave.pcm {
122				type hw
123				card $CARD
124				channels 6
125			}
126			hooks.0 {
127				type ctl_elems
128				hook_args [
129				{
130					name "Channel Mode"
131					preserve true
132					value "6ch"
133					lock true
134					optional true
135				}
136				# for old drivers
137				{
138					name "Line-In As Surround"
139					preserve true
140					value true
141					optional true
142				}
143				{
144					name "Mic As Center/LFE"
145					preserve true
146					value true
147					optional true
148				}
149				{
150					name "Surround Down Mix"
151					preserve true
152					value off
153					lock true
154					optional true
155				}
156				{
157					name "Center/LFE Down Mix"
158					preserve true
159					value off
160					lock true
161					optional true
162				}
163				]
164			}
165		}
166		slave.channels 6
167	}
168	control {
169		name "PCM Playback Volume"
170		card $CARD
171	}
172}
173
174<confdir:pcm/iec958.conf>
175
176ICH.pcm.iec958.0 {
177	@args [ CARD AES0 AES1 AES2 AES3 ]
178	@args.CARD {
179		type string
180	}
181	@args.AES0 {
182		type integer
183	}
184	@args.AES1 {
185		type integer
186	}
187	@args.AES2 {
188		type integer
189	}
190	@args.AES3 {
191		type integer
192	}
193	type hooks
194	slave.pcm {
195		type hw
196		card $CARD
197	}
198	hooks.0 {
199		type ctl_elems
200		hook_args [
201			{
202				name "IEC958 Playback AC97-SPSA"
203				lock true
204				preserve true
205				value 0
206				optional true
207			}
208			{
209				name "IEC958 Playback Default"
210				lock true
211				preserve true
212				value [ $AES0 $AES1 $AES2 $AES3 ]
213			}
214			{
215				name "IEC958 Playback Switch"
216				lock true
217				preserve true
218				value true
219			}
220		]
221	}
222}
223