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