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