1d5ac70f0Sopenharmony_ci#
2d5ac70f0Sopenharmony_ci# Configuration for the EMU10K1 chip
3d5ac70f0Sopenharmony_ci#
4d5ac70f0Sopenharmony_ci
5d5ac70f0Sopenharmony_ci<confdir:pcm/front.conf>
6d5ac70f0Sopenharmony_ci
7d5ac70f0Sopenharmony_ciEMU10K1.pcm.front.0 {
8d5ac70f0Sopenharmony_ci	@args [ CARD ]
9d5ac70f0Sopenharmony_ci	@args.CARD {
10d5ac70f0Sopenharmony_ci		type string
11d5ac70f0Sopenharmony_ci	}
12d5ac70f0Sopenharmony_ci	type asym
13d5ac70f0Sopenharmony_ci	playback.pcm {
14d5ac70f0Sopenharmony_ci		type hooks
15d5ac70f0Sopenharmony_ci		slave.pcm {
16d5ac70f0Sopenharmony_ci			type hw
17d5ac70f0Sopenharmony_ci			card $CARD
18d5ac70f0Sopenharmony_ci			chmap [ "UNKNOWN" "FL,FR" ]
19d5ac70f0Sopenharmony_ci		}
20d5ac70f0Sopenharmony_ci		hooks.0 {
21d5ac70f0Sopenharmony_ci			type ctl_elems
22d5ac70f0Sopenharmony_ci			hook_args [
23d5ac70f0Sopenharmony_ci				{
24d5ac70f0Sopenharmony_ci					interface PCM
25d5ac70f0Sopenharmony_ci					name "EMU10K1 PCM Send Volume"
26d5ac70f0Sopenharmony_ci					index { @func private_pcm_subdevice }
27d5ac70f0Sopenharmony_ci					# lock true
28d5ac70f0Sopenharmony_ci					optional true
29d5ac70f0Sopenharmony_ci					value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
30d5ac70f0Sopenharmony_ci				}
31d5ac70f0Sopenharmony_ci				{
32d5ac70f0Sopenharmony_ci					interface PCM
33d5ac70f0Sopenharmony_ci					name "EMU10K1 PCM Send Routing"
34d5ac70f0Sopenharmony_ci					index { @func private_pcm_subdevice }
35d5ac70f0Sopenharmony_ci					# lock true
36d5ac70f0Sopenharmony_ci					optional true
37d5ac70f0Sopenharmony_ci					value [ 8 9 0 0 8 9 0 0 8 9 0 0 ]
38d5ac70f0Sopenharmony_ci				}
39d5ac70f0Sopenharmony_ci			]
40d5ac70f0Sopenharmony_ci		}
41d5ac70f0Sopenharmony_ci	}
42d5ac70f0Sopenharmony_ci	capture.pcm {
43d5ac70f0Sopenharmony_ci		type hw
44d5ac70f0Sopenharmony_ci		card $CARD
45d5ac70f0Sopenharmony_ci	}
46d5ac70f0Sopenharmony_ci}	
47d5ac70f0Sopenharmony_ci
48d5ac70f0Sopenharmony_ci<confdir:pcm/rear.conf>
49d5ac70f0Sopenharmony_ci
50d5ac70f0Sopenharmony_ciEMU10K1.pcm.rear.0 {
51d5ac70f0Sopenharmony_ci	@args [ CARD ]
52d5ac70f0Sopenharmony_ci	@args.CARD {
53d5ac70f0Sopenharmony_ci		type string
54d5ac70f0Sopenharmony_ci	}
55d5ac70f0Sopenharmony_ci	type asym
56d5ac70f0Sopenharmony_ci	playback.pcm {
57d5ac70f0Sopenharmony_ci		type hooks
58d5ac70f0Sopenharmony_ci		slave.pcm {
59d5ac70f0Sopenharmony_ci			type hw
60d5ac70f0Sopenharmony_ci			card $CARD
61d5ac70f0Sopenharmony_ci			chmap [ "UNKNOWN" "RL,RR" ]
62d5ac70f0Sopenharmony_ci		}
63d5ac70f0Sopenharmony_ci		hooks.0 {
64d5ac70f0Sopenharmony_ci			type ctl_elems
65d5ac70f0Sopenharmony_ci			hook_args [
66d5ac70f0Sopenharmony_ci				{
67d5ac70f0Sopenharmony_ci					interface PCM
68d5ac70f0Sopenharmony_ci					name "EMU10K1 PCM Send Volume"
69d5ac70f0Sopenharmony_ci					index { @func private_pcm_subdevice }
70d5ac70f0Sopenharmony_ci					# lock true
71d5ac70f0Sopenharmony_ci					optional true
72d5ac70f0Sopenharmony_ci					value [ 0 0 255 255 0 0 255 0 0 0 0 255 ]
73d5ac70f0Sopenharmony_ci				}
74d5ac70f0Sopenharmony_ci			]
75d5ac70f0Sopenharmony_ci		}
76d5ac70f0Sopenharmony_ci	}
77d5ac70f0Sopenharmony_ci}	
78d5ac70f0Sopenharmony_ci
79d5ac70f0Sopenharmony_ci<confdir:pcm/center_lfe.conf>
80d5ac70f0Sopenharmony_ci
81d5ac70f0Sopenharmony_ciEMU10K1.pcm.center_lfe.0 {
82d5ac70f0Sopenharmony_ci	@args [ CARD ]
83d5ac70f0Sopenharmony_ci	@args.CARD {
84d5ac70f0Sopenharmony_ci		type string
85d5ac70f0Sopenharmony_ci	}
86d5ac70f0Sopenharmony_ci	type asym
87d5ac70f0Sopenharmony_ci	playback.pcm {
88d5ac70f0Sopenharmony_ci		type hooks
89d5ac70f0Sopenharmony_ci		slave.pcm {
90d5ac70f0Sopenharmony_ci			type hw
91d5ac70f0Sopenharmony_ci			card $CARD
92d5ac70f0Sopenharmony_ci			chmap [ "UNKNOWN" "FC,LFE" ]
93d5ac70f0Sopenharmony_ci		}
94d5ac70f0Sopenharmony_ci		hooks.0 {
95d5ac70f0Sopenharmony_ci			type ctl_elems
96d5ac70f0Sopenharmony_ci			hook_args [
97d5ac70f0Sopenharmony_ci				{
98d5ac70f0Sopenharmony_ci					name "Headphone Center Playback Switch"
99d5ac70f0Sopenharmony_ci					index 1
100d5ac70f0Sopenharmony_ci					preserve true
101d5ac70f0Sopenharmony_ci					# lock true
102d5ac70f0Sopenharmony_ci					optional true
103d5ac70f0Sopenharmony_ci					value true
104d5ac70f0Sopenharmony_ci				}
105d5ac70f0Sopenharmony_ci				{
106d5ac70f0Sopenharmony_ci					name "Headphone LFE Playback Switch"
107d5ac70f0Sopenharmony_ci					index 1
108d5ac70f0Sopenharmony_ci					preserve true
109d5ac70f0Sopenharmony_ci					# lock true
110d5ac70f0Sopenharmony_ci					optional true
111d5ac70f0Sopenharmony_ci					value true
112d5ac70f0Sopenharmony_ci				}
113d5ac70f0Sopenharmony_ci# if you have a creative's digital receiver, you can get surround/center/lfe
114d5ac70f0Sopenharmony_ci# output through the digital jack.  so, the following is commented out.
115d5ac70f0Sopenharmony_ci# pay attention in case of analog output from the shared center/digital
116d5ac70f0Sopenharmony_ci# jack!
117d5ac70f0Sopenharmony_ci#				{
118d5ac70f0Sopenharmony_ci#					name "SB Live Analog/Digital Output Jack"
119d5ac70f0Sopenharmony_ci#					preserve true
120d5ac70f0Sopenharmony_ci#					lock true
121d5ac70f0Sopenharmony_ci#					value 0
122d5ac70f0Sopenharmony_ci#				}
123d5ac70f0Sopenharmony_ci				{
124d5ac70f0Sopenharmony_ci					interface PCM
125d5ac70f0Sopenharmony_ci					name "EMU10K1 PCM Send Volume"
126d5ac70f0Sopenharmony_ci					index { @func private_pcm_subdevice }
127d5ac70f0Sopenharmony_ci					# lock true
128d5ac70f0Sopenharmony_ci					optional true
129d5ac70f0Sopenharmony_ci					value [ 255 255 0 0 255 0 0 0 0 255 0 0 ]
130d5ac70f0Sopenharmony_ci				}
131d5ac70f0Sopenharmony_ci				{
132d5ac70f0Sopenharmony_ci					interface PCM
133d5ac70f0Sopenharmony_ci					name "EMU10K1 PCM Send Routing"
134d5ac70f0Sopenharmony_ci					index { @func private_pcm_subdevice }
135d5ac70f0Sopenharmony_ci					# lock true
136d5ac70f0Sopenharmony_ci					optional true
137d5ac70f0Sopenharmony_ci					value [ 6 7 0 0 6 7 0 0 6 7 0 0 ]
138d5ac70f0Sopenharmony_ci				}
139d5ac70f0Sopenharmony_ci			]
140d5ac70f0Sopenharmony_ci		}
141d5ac70f0Sopenharmony_ci	}
142d5ac70f0Sopenharmony_ci}	
143d5ac70f0Sopenharmony_ci
144d5ac70f0Sopenharmony_ci<confdir:pcm/surround40.conf>
145d5ac70f0Sopenharmony_ci
146d5ac70f0Sopenharmony_ciEMU10K1.pcm.surround40.0 {
147d5ac70f0Sopenharmony_ci	@args [ CARD ]
148d5ac70f0Sopenharmony_ci	@args.CARD {
149d5ac70f0Sopenharmony_ci		type string
150d5ac70f0Sopenharmony_ci	}
151d5ac70f0Sopenharmony_ci	type multi
152d5ac70f0Sopenharmony_ci	slaves [
153d5ac70f0Sopenharmony_ci		{
154d5ac70f0Sopenharmony_ci			pcm {
155d5ac70f0Sopenharmony_ci				@func concat
156d5ac70f0Sopenharmony_ci				strings [
157d5ac70f0Sopenharmony_ci					"cards.EMU10K1.pcm.front.0:CARD=" $CARD
158d5ac70f0Sopenharmony_ci				]
159d5ac70f0Sopenharmony_ci			}
160d5ac70f0Sopenharmony_ci			channels 2
161d5ac70f0Sopenharmony_ci		}
162d5ac70f0Sopenharmony_ci		{
163d5ac70f0Sopenharmony_ci			pcm {
164d5ac70f0Sopenharmony_ci				@func concat
165d5ac70f0Sopenharmony_ci				strings [
166d5ac70f0Sopenharmony_ci					"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
167d5ac70f0Sopenharmony_ci				]
168d5ac70f0Sopenharmony_ci			}
169d5ac70f0Sopenharmony_ci			channels 2
170d5ac70f0Sopenharmony_ci		}
171d5ac70f0Sopenharmony_ci	]
172d5ac70f0Sopenharmony_ci	bindings [
173d5ac70f0Sopenharmony_ci		{ slave 0 channel 0 }
174d5ac70f0Sopenharmony_ci		{ slave 0 channel 1 }
175d5ac70f0Sopenharmony_ci		{ slave 1 channel 0 }
176d5ac70f0Sopenharmony_ci		{ slave 1 channel 1 }
177d5ac70f0Sopenharmony_ci	]
178d5ac70f0Sopenharmony_ci}
179d5ac70f0Sopenharmony_ci
180d5ac70f0Sopenharmony_ci<confdir:pcm/surround21.conf>
181d5ac70f0Sopenharmony_ci<confdir:pcm/surround41.conf>
182d5ac70f0Sopenharmony_ci<confdir:pcm/surround50.conf>
183d5ac70f0Sopenharmony_ci<confdir:pcm/surround51.conf>
184d5ac70f0Sopenharmony_ci
185d5ac70f0Sopenharmony_ciEMU10K1.pcm.surround51.0 {
186d5ac70f0Sopenharmony_ci	@args [ CARD ]
187d5ac70f0Sopenharmony_ci	@args.CARD {
188d5ac70f0Sopenharmony_ci		type string
189d5ac70f0Sopenharmony_ci	}
190d5ac70f0Sopenharmony_ci	type multi
191d5ac70f0Sopenharmony_ci	slaves [
192d5ac70f0Sopenharmony_ci		{
193d5ac70f0Sopenharmony_ci			pcm {
194d5ac70f0Sopenharmony_ci				@func concat
195d5ac70f0Sopenharmony_ci				strings [
196d5ac70f0Sopenharmony_ci					"cards.EMU10K1.pcm.front.0:CARD=" $CARD
197d5ac70f0Sopenharmony_ci				]
198d5ac70f0Sopenharmony_ci			}
199d5ac70f0Sopenharmony_ci			channels 2
200d5ac70f0Sopenharmony_ci		}
201d5ac70f0Sopenharmony_ci		{
202d5ac70f0Sopenharmony_ci			pcm {
203d5ac70f0Sopenharmony_ci				@func concat
204d5ac70f0Sopenharmony_ci				strings [
205d5ac70f0Sopenharmony_ci					"cards.EMU10K1.pcm.rear.0:CARD=" $CARD
206d5ac70f0Sopenharmony_ci				]
207d5ac70f0Sopenharmony_ci			}
208d5ac70f0Sopenharmony_ci			channels 2
209d5ac70f0Sopenharmony_ci		}
210d5ac70f0Sopenharmony_ci		{
211d5ac70f0Sopenharmony_ci			pcm {
212d5ac70f0Sopenharmony_ci				@func concat
213d5ac70f0Sopenharmony_ci				strings [
214d5ac70f0Sopenharmony_ci					"cards.EMU10K1.pcm.center_lfe.0:CARD=" $CARD
215d5ac70f0Sopenharmony_ci				]
216d5ac70f0Sopenharmony_ci			}
217d5ac70f0Sopenharmony_ci			channels 2
218d5ac70f0Sopenharmony_ci		}
219d5ac70f0Sopenharmony_ci	]
220d5ac70f0Sopenharmony_ci	bindings [
221d5ac70f0Sopenharmony_ci		{ slave 0 channel 0 }
222d5ac70f0Sopenharmony_ci		{ slave 0 channel 1 }
223d5ac70f0Sopenharmony_ci		{ slave 1 channel 0 }
224d5ac70f0Sopenharmony_ci		{ slave 1 channel 1 }
225d5ac70f0Sopenharmony_ci		{ slave 2 channel 0 }
226d5ac70f0Sopenharmony_ci		{ slave 2 channel 1 }
227d5ac70f0Sopenharmony_ci	]
228d5ac70f0Sopenharmony_ci}
229d5ac70f0Sopenharmony_ci
230d5ac70f0Sopenharmony_ci<confdir:pcm/iec958.conf>
231d5ac70f0Sopenharmony_ci
232d5ac70f0Sopenharmony_ciEMU10K1.pcm.iec958.0 {
233d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
234d5ac70f0Sopenharmony_ci	@args.CARD {
235d5ac70f0Sopenharmony_ci		type string
236d5ac70f0Sopenharmony_ci	}
237d5ac70f0Sopenharmony_ci	@args.AES0 {
238d5ac70f0Sopenharmony_ci		type integer
239d5ac70f0Sopenharmony_ci	}
240d5ac70f0Sopenharmony_ci	@args.AES1 {
241d5ac70f0Sopenharmony_ci		type integer
242d5ac70f0Sopenharmony_ci	}
243d5ac70f0Sopenharmony_ci	@args.AES2 {
244d5ac70f0Sopenharmony_ci		type integer
245d5ac70f0Sopenharmony_ci	}
246d5ac70f0Sopenharmony_ci	@args.AES3 {
247d5ac70f0Sopenharmony_ci		type integer
248d5ac70f0Sopenharmony_ci	}
249d5ac70f0Sopenharmony_ci	type hooks
250d5ac70f0Sopenharmony_ci	slave.pcm {
251d5ac70f0Sopenharmony_ci		type hw
252d5ac70f0Sopenharmony_ci		card $CARD
253d5ac70f0Sopenharmony_ci		device 2
254d5ac70f0Sopenharmony_ci	}
255d5ac70f0Sopenharmony_ci	hooks.0 {
256d5ac70f0Sopenharmony_ci		type ctl_elems
257d5ac70f0Sopenharmony_ci		hook_args [
258d5ac70f0Sopenharmony_ci			{
259d5ac70f0Sopenharmony_ci				interface PCM
260d5ac70f0Sopenharmony_ci				name "IEC958 Playback Default"
261d5ac70f0Sopenharmony_ci				device 2
262d5ac70f0Sopenharmony_ci				lock true
263d5ac70f0Sopenharmony_ci				preserve true
264d5ac70f0Sopenharmony_ci				optional true
265d5ac70f0Sopenharmony_ci				value [ $AES0 $AES1 $AES2 $AES3 ]
266d5ac70f0Sopenharmony_ci			}
267d5ac70f0Sopenharmony_ci			{
268d5ac70f0Sopenharmony_ci				name "IEC958 Optical Raw Playback Switch"
269d5ac70f0Sopenharmony_ci				lock true
270d5ac70f0Sopenharmony_ci				preserve true
271d5ac70f0Sopenharmony_ci				value [ 1 1 ]
272d5ac70f0Sopenharmony_ci			}
273d5ac70f0Sopenharmony_ci			{
274d5ac70f0Sopenharmony_ci				name "SB Live Analog/Digital Output Jack"
275d5ac70f0Sopenharmony_ci				lock true
276d5ac70f0Sopenharmony_ci				preserve true
277d5ac70f0Sopenharmony_ci				value 1
278d5ac70f0Sopenharmony_ci			}
279d5ac70f0Sopenharmony_ci		]
280d5ac70f0Sopenharmony_ci	}
281d5ac70f0Sopenharmony_ci}
282