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