1d5ac70f0Sopenharmony_ci#
2d5ac70f0Sopenharmony_ci# Configuration for the VIA8237 chip with 4/6 multi-channel support
3d5ac70f0Sopenharmony_ci#
4d5ac70f0Sopenharmony_ci
5d5ac70f0Sopenharmony_ci<confdir:pcm/front.conf>
6d5ac70f0Sopenharmony_ci
7d5ac70f0Sopenharmony_ciVIA8237.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# VIA8237 supports multi-playback
18d5ac70f0Sopenharmony_ciVIA8237.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_ciVIA8237.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			{
72d5ac70f0Sopenharmony_ci				name "Surround Down Mix"
73d5ac70f0Sopenharmony_ci				preserve true
74d5ac70f0Sopenharmony_ci				value off
75d5ac70f0Sopenharmony_ci				lock true
76d5ac70f0Sopenharmony_ci				optional true
77d5ac70f0Sopenharmony_ci			}
78d5ac70f0Sopenharmony_ci		]
79d5ac70f0Sopenharmony_ci	}
80d5ac70f0Sopenharmony_ci}
81d5ac70f0Sopenharmony_ci
82d5ac70f0Sopenharmony_ci<confdir:pcm/surround21.conf>
83d5ac70f0Sopenharmony_ci<confdir:pcm/surround41.conf>
84d5ac70f0Sopenharmony_ci<confdir:pcm/surround50.conf>
85d5ac70f0Sopenharmony_ci<confdir:pcm/surround51.conf>
86d5ac70f0Sopenharmony_ci
87d5ac70f0Sopenharmony_ciVIA8237.pcm.surround51.0 {
88d5ac70f0Sopenharmony_ci	@args [ CARD ]
89d5ac70f0Sopenharmony_ci	@args.CARD {
90d5ac70f0Sopenharmony_ci		type string
91d5ac70f0Sopenharmony_ci	}
92d5ac70f0Sopenharmony_ci	type route
93d5ac70f0Sopenharmony_ci	ttable.0.0 1
94d5ac70f0Sopenharmony_ci	ttable.1.1 1
95d5ac70f0Sopenharmony_ci	ttable.2.4 1
96d5ac70f0Sopenharmony_ci	ttable.3.5 1
97d5ac70f0Sopenharmony_ci	ttable.4.2 1
98d5ac70f0Sopenharmony_ci	ttable.5.3 1
99d5ac70f0Sopenharmony_ci	slave.pcm {
100d5ac70f0Sopenharmony_ci		type hooks
101d5ac70f0Sopenharmony_ci		slave.pcm {
102d5ac70f0Sopenharmony_ci			type hw
103d5ac70f0Sopenharmony_ci			card $CARD
104d5ac70f0Sopenharmony_ci			device 1
105d5ac70f0Sopenharmony_ci			channels 6
106d5ac70f0Sopenharmony_ci		}
107d5ac70f0Sopenharmony_ci		hooks.0 {
108d5ac70f0Sopenharmony_ci			type ctl_elems
109d5ac70f0Sopenharmony_ci			hook_args [
110d5ac70f0Sopenharmony_ci				{
111d5ac70f0Sopenharmony_ci					name "Channel Mode"
112d5ac70f0Sopenharmony_ci					preserve true
113d5ac70f0Sopenharmony_ci					value "6ch"
114d5ac70f0Sopenharmony_ci					lock true
115d5ac70f0Sopenharmony_ci					optional true
116d5ac70f0Sopenharmony_ci				}
117d5ac70f0Sopenharmony_ci				{
118d5ac70f0Sopenharmony_ci					name "Surround Down Mix"
119d5ac70f0Sopenharmony_ci					preserve true
120d5ac70f0Sopenharmony_ci					value off
121d5ac70f0Sopenharmony_ci					lock true
122d5ac70f0Sopenharmony_ci					optional true
123d5ac70f0Sopenharmony_ci				}
124d5ac70f0Sopenharmony_ci				{
125d5ac70f0Sopenharmony_ci					name "Center/LFE Down Mix"
126d5ac70f0Sopenharmony_ci					preserve true
127d5ac70f0Sopenharmony_ci					value off
128d5ac70f0Sopenharmony_ci					lock true
129d5ac70f0Sopenharmony_ci					optional true
130d5ac70f0Sopenharmony_ci				}
131d5ac70f0Sopenharmony_ci			]
132d5ac70f0Sopenharmony_ci		}
133d5ac70f0Sopenharmony_ci	}
134d5ac70f0Sopenharmony_ci	slave.channels 6
135d5ac70f0Sopenharmony_ci}
136d5ac70f0Sopenharmony_ci
137d5ac70f0Sopenharmony_ci<confdir:pcm/iec958.conf>
138d5ac70f0Sopenharmony_ci
139d5ac70f0Sopenharmony_ciVIA8237.pcm.iec958.0 {
140d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
141d5ac70f0Sopenharmony_ci	@args.CARD {
142d5ac70f0Sopenharmony_ci		type string
143d5ac70f0Sopenharmony_ci	}
144d5ac70f0Sopenharmony_ci	@args.AES0 {
145d5ac70f0Sopenharmony_ci		type integer
146d5ac70f0Sopenharmony_ci	}
147d5ac70f0Sopenharmony_ci	@args.AES1 {
148d5ac70f0Sopenharmony_ci		type integer
149d5ac70f0Sopenharmony_ci	}
150d5ac70f0Sopenharmony_ci	@args.AES2 {
151d5ac70f0Sopenharmony_ci		type integer
152d5ac70f0Sopenharmony_ci	}
153d5ac70f0Sopenharmony_ci	@args.AES3 {
154d5ac70f0Sopenharmony_ci		type integer
155d5ac70f0Sopenharmony_ci	}
156d5ac70f0Sopenharmony_ci	type hooks
157d5ac70f0Sopenharmony_ci	slave.pcm {
158d5ac70f0Sopenharmony_ci		type hw
159d5ac70f0Sopenharmony_ci		card $CARD
160d5ac70f0Sopenharmony_ci		subdevice 3
161d5ac70f0Sopenharmony_ci	}
162d5ac70f0Sopenharmony_ci	hooks.0 {
163d5ac70f0Sopenharmony_ci		type ctl_elems
164d5ac70f0Sopenharmony_ci		hook_args [
165d5ac70f0Sopenharmony_ci			{
166d5ac70f0Sopenharmony_ci				name "IEC958 Playback AC97-SPSA"
167d5ac70f0Sopenharmony_ci				lock true
168d5ac70f0Sopenharmony_ci				preserve true
169d5ac70f0Sopenharmony_ci				value 3
170d5ac70f0Sopenharmony_ci			}
171d5ac70f0Sopenharmony_ci			{
172d5ac70f0Sopenharmony_ci				name "IEC958 Playback Default"
173d5ac70f0Sopenharmony_ci				lock true
174d5ac70f0Sopenharmony_ci				preserve true
175d5ac70f0Sopenharmony_ci				value [ $AES0 $AES1 $AES2 $AES3 ]
176d5ac70f0Sopenharmony_ci			}
177d5ac70f0Sopenharmony_ci			{
178d5ac70f0Sopenharmony_ci				name "IEC958 Playback Switch"
179d5ac70f0Sopenharmony_ci				lock true
180d5ac70f0Sopenharmony_ci				preserve true
181d5ac70f0Sopenharmony_ci				value true
182d5ac70f0Sopenharmony_ci			}
183d5ac70f0Sopenharmony_ci			{
184d5ac70f0Sopenharmony_ci				name "IEC958 Output Switch"
185d5ac70f0Sopenharmony_ci				lock true
186d5ac70f0Sopenharmony_ci				preserve true
187d5ac70f0Sopenharmony_ci				value true
188d5ac70f0Sopenharmony_ci			}
189d5ac70f0Sopenharmony_ci		]
190d5ac70f0Sopenharmony_ci	}
191d5ac70f0Sopenharmony_ci}
192