1d5ac70f0Sopenharmony_ci#
2d5ac70f0Sopenharmony_ci#  USB-Audio.conf - configuration for USB Audio devices
3d5ac70f0Sopenharmony_ci#
4d5ac70f0Sopenharmony_ci#
5d5ac70f0Sopenharmony_ci#  DO NO EDIT; this is an internal ALSA file.
6d5ac70f0Sopenharmony_ci#  If you want to add your own definitions, put them into /etc/asound.conf or
7d5ac70f0Sopenharmony_ci#  ~/.asoundrc, with "cards." before the "USB-Audio", e.g.:
8d5ac70f0Sopenharmony_ci#
9d5ac70f0Sopenharmony_ci#  cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no
10d5ac70f0Sopenharmony_ci#
11d5ac70f0Sopenharmony_ci#  If your device requires such a definition to work correctly, please report it
12d5ac70f0Sopenharmony_ci#  to <alsa-devel@alsa-project.org>.
13d5ac70f0Sopenharmony_ci
14d5ac70f0Sopenharmony_ci
15d5ac70f0Sopenharmony_ci# If a device has sample formats not supported by dmix, dmix can be disabled
16d5ac70f0Sopenharmony_ci# here.
17d5ac70f0Sopenharmony_ciUSB-Audio.pcm.use_dmix {
18d5ac70f0Sopenharmony_ci	"AudioPhile" no    # uses big-endian 24-bit samples
19d5ac70f0Sopenharmony_ci	"Audiophile USB (tm)" no
20d5ac70f0Sopenharmony_ci}
21d5ac70f0Sopenharmony_ci
22d5ac70f0Sopenharmony_ci# If a device does not have a four-channel mode for the front/rear outputs,
23d5ac70f0Sopenharmony_ci# other modes can be selected here.
24d5ac70f0Sopenharmony_ci# six_channels       - for devices that route the last two of the four channels
25d5ac70f0Sopenharmony_ci#                      to the center/LFE outputs
26d5ac70f0Sopenharmony_ci# two_stereo_devices - for devices that have two stereo audio interfaces
27d5ac70f0Sopenharmony_ciUSB-Audio.pcm.surround40_type {
28d5ac70f0Sopenharmony_ci	"AudioPhile" two_stereo_devices
29d5ac70f0Sopenharmony_ci	"Audiophile USB (tm)" two_stereo_devices
30d5ac70f0Sopenharmony_ci	"ICUSBAUDIO7D" six_channels
31d5ac70f0Sopenharmony_ci	"OmniStudio" two_stereo_devices
32d5ac70f0Sopenharmony_ci	"Quattro" two_stereo_devices
33d5ac70f0Sopenharmony_ci	"SB Audigy 2 NX" six_channels
34d5ac70f0Sopenharmony_ci	"USB AudioSport Quattro (tm)" two_stereo_devices
35d5ac70f0Sopenharmony_ci}
36d5ac70f0Sopenharmony_ci
37d5ac70f0Sopenharmony_ci# If a device does not use the first PCM device for digital data, the device
38d5ac70f0Sopenharmony_ci# number for the iec958 device can be changed here.
39d5ac70f0Sopenharmony_ciUSB-Audio.pcm.iec958_device {
40d5ac70f0Sopenharmony_ci	# "NoiseBlaster 3000" 42
41d5ac70f0Sopenharmony_ci	"USB Sound Blaster HD" 1
42d5ac70f0Sopenharmony_ci	"SB Omni Surround 5.1" 1
43d5ac70f0Sopenharmony_ci
44d5ac70f0Sopenharmony_ci	"Xonar U7" 1
45d5ac70f0Sopenharmony_ci	"Xonar U7 MKII" 1
46d5ac70f0Sopenharmony_ci	"ASUS XONAR U5" 1
47d5ac70f0Sopenharmony_ci	"XONAR U5" 1
48d5ac70f0Sopenharmony_ci	"XONAR SOUND CARD" 1
49d5ac70f0Sopenharmony_ci	"Xonar SoundCard" 2
50d5ac70f0Sopenharmony_ci	
51d5ac70f0Sopenharmony_ci	# The below don't have digital in/out, so prevent them from being opened.
52d5ac70f0Sopenharmony_ci	"Andrea PureAudio USB-SA Headset" 999
53d5ac70f0Sopenharmony_ci	"Blue Snowball" 999
54d5ac70f0Sopenharmony_ci	"C-Media USB Headphone Set" 999
55d5ac70f0Sopenharmony_ci	"Cmedia Audio" 999
56d5ac70f0Sopenharmony_ci	"Corsair HS60 PRO Surround USB S" 999
57d5ac70f0Sopenharmony_ci	"DELL PROFESSIONAL SOUND BAR AE5" 999
58d5ac70f0Sopenharmony_ci	"HP Digital Stereo Headset" 999
59d5ac70f0Sopenharmony_ci	"GN 9330" 999
60d5ac70f0Sopenharmony_ci	"Logitech Speaker Lapdesk N700" 999
61d5ac70f0Sopenharmony_ci	"Logitech G35 Headset" 999
62d5ac70f0Sopenharmony_ci	"Logitech USB Headset" 999
63d5ac70f0Sopenharmony_ci	"Logitech USB Headset H540" 999
64d5ac70f0Sopenharmony_ci	"Logitech Wireless Headset" 999
65d5ac70f0Sopenharmony_ci	"Plantronics Blackwire 3220 Seri" 999
66d5ac70f0Sopenharmony_ci	"Plantronics GameCom 780" 999
67d5ac70f0Sopenharmony_ci	"Plantronics USB Headset" 999
68d5ac70f0Sopenharmony_ci	"Plantronics Wireless Audio" 999
69d5ac70f0Sopenharmony_ci	"SB WoW Headset" 999
70d5ac70f0Sopenharmony_ci	"Scarlett 2i2 4th Gen" 999
71d5ac70f0Sopenharmony_ci	"Scarlett 2i2 USB" 999
72d5ac70f0Sopenharmony_ci	"Scarlett 2i4 USB" 999
73d5ac70f0Sopenharmony_ci	"Scarlett Solo 4th Gen" 999
74d5ac70f0Sopenharmony_ci	"Scarlett Solo USB" 999
75d5ac70f0Sopenharmony_ci	"Sennheiser USB headset" 999
76d5ac70f0Sopenharmony_ci	"SWTOR Gaming Headset by Razer" 999
77d5ac70f0Sopenharmony_ci	"ThinkStation P620 Main" 999
78d5ac70f0Sopenharmony_ci	"ThinkStation P620 Rear" 999
79d5ac70f0Sopenharmony_ci	"Thunderbolt Dock Audio Headset" 999
80d5ac70f0Sopenharmony_ci	"Thunderbolt Dock Audio Module" 999
81d5ac70f0Sopenharmony_ci	"USB Device 0x46d_0x821" 999
82d5ac70f0Sopenharmony_ci	"USB Device 0x46d_0x992" 999
83d5ac70f0Sopenharmony_ci	"WD15 Dock" 999
84d5ac70f0Sopenharmony_ci	"WD19 Dock" 999
85d5ac70f0Sopenharmony_ci	"ThinkPad USB-C Dock Gen2 USB Au" 999
86d5ac70f0Sopenharmony_ci}
87d5ac70f0Sopenharmony_ci
88d5ac70f0Sopenharmony_ci# Second iec958 device number, if any.
89d5ac70f0Sopenharmony_ciUSB-Audio.pcm.iec958_2_device {
90d5ac70f0Sopenharmony_ci	"PHIREE U2" 1  # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF
91d5ac70f0Sopenharmony_ci	"PHIREE U2SX" 1  # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF
92d5ac70f0Sopenharmony_ci}
93d5ac70f0Sopenharmony_ci
94d5ac70f0Sopenharmony_ci
95d5ac70f0Sopenharmony_ci# If a device requires non-standard definitions for front, default, surround40,
96d5ac70f0Sopenharmony_ci# surround51, surround71 or iec958, they can be defined here.
97d5ac70f0Sopenharmony_ci
98d5ac70f0Sopenharmony_ci# M-Audio AudioPhile USB:
99d5ac70f0Sopenharmony_ci# device 0: analog output, digital input
100d5ac70f0Sopenharmony_ci# device 1: digital output, analog input
101d5ac70f0Sopenharmony_ciUSB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default"
102d5ac70f0Sopenharmony_ciUSB-Audio."Audiophile USB (tm)".pcm.default {
103d5ac70f0Sopenharmony_ci	@args [ CARD ]
104d5ac70f0Sopenharmony_ci	@args.CARD { type string }
105d5ac70f0Sopenharmony_ci	type asym
106d5ac70f0Sopenharmony_ci	playback.pcm {
107d5ac70f0Sopenharmony_ci		type plug
108d5ac70f0Sopenharmony_ci		slave.pcm {
109d5ac70f0Sopenharmony_ci			type hw
110d5ac70f0Sopenharmony_ci			card $CARD
111d5ac70f0Sopenharmony_ci			device 0
112d5ac70f0Sopenharmony_ci		}
113d5ac70f0Sopenharmony_ci	}
114d5ac70f0Sopenharmony_ci	capture.pcm {
115d5ac70f0Sopenharmony_ci		type plug
116d5ac70f0Sopenharmony_ci		slave.pcm {
117d5ac70f0Sopenharmony_ci			@func concat
118d5ac70f0Sopenharmony_ci			strings [ "dsnoop:DEV=1,CARD=" $CARD ]
119d5ac70f0Sopenharmony_ci		}
120d5ac70f0Sopenharmony_ci	}
121d5ac70f0Sopenharmony_ci}
122d5ac70f0Sopenharmony_ciUSB-Audio."AudioPhile".pcm.iec958 "cards.USB-Audio.Audiophile USB (tm).pcm.iec958"
123d5ac70f0Sopenharmony_ciUSB-Audio."Audiophile USB (tm)".pcm.iec958 {
124d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
125d5ac70f0Sopenharmony_ci	@args.CARD { type string }
126d5ac70f0Sopenharmony_ci	@args.AES0 { type integer }
127d5ac70f0Sopenharmony_ci	@args.AES1 { type integer }
128d5ac70f0Sopenharmony_ci	@args.AES2 { type integer }
129d5ac70f0Sopenharmony_ci	@args.AES3 { type integer }
130d5ac70f0Sopenharmony_ci	type asym
131d5ac70f0Sopenharmony_ci	playback.pcm {
132d5ac70f0Sopenharmony_ci		type hw
133d5ac70f0Sopenharmony_ci		card $CARD
134d5ac70f0Sopenharmony_ci		device 1
135d5ac70f0Sopenharmony_ci	}
136d5ac70f0Sopenharmony_ci	capture.pcm {
137d5ac70f0Sopenharmony_ci		type hw
138d5ac70f0Sopenharmony_ci		card $CARD
139d5ac70f0Sopenharmony_ci		device 0
140d5ac70f0Sopenharmony_ci	}
141d5ac70f0Sopenharmony_ci}
142d5ac70f0Sopenharmony_ci
143d5ac70f0Sopenharmony_ci# For this card we can (and must to get IEC61937) set AES bits
144d5ac70f0Sopenharmony_ciUSB-Audio."MicroII".pcm.iec958 "cards.USB-Audio.Audio Advantage MicroII.pcm.iec958"
145d5ac70f0Sopenharmony_ciUSB-Audio."Audio Advantage MicroII".pcm.iec958 {
146d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
147d5ac70f0Sopenharmony_ci	@args.CARD { type string }
148d5ac70f0Sopenharmony_ci	@args.AES0 { type integer }
149d5ac70f0Sopenharmony_ci	@args.AES1 { type integer }
150d5ac70f0Sopenharmony_ci	@args.AES2 { type integer }
151d5ac70f0Sopenharmony_ci	@args.AES3 { type integer }
152d5ac70f0Sopenharmony_ci
153d5ac70f0Sopenharmony_ci	type hooks
154d5ac70f0Sopenharmony_ci	slave.pcm {
155d5ac70f0Sopenharmony_ci		type hw
156d5ac70f0Sopenharmony_ci		card $CARD
157d5ac70f0Sopenharmony_ci	}
158d5ac70f0Sopenharmony_ci
159d5ac70f0Sopenharmony_ci	hooks.0 {
160d5ac70f0Sopenharmony_ci		type ctl_elems
161d5ac70f0Sopenharmony_ci		hook_args [
162d5ac70f0Sopenharmony_ci			{
163d5ac70f0Sopenharmony_ci				interface PCM
164d5ac70f0Sopenharmony_ci				name "IEC958 Playback Default"
165d5ac70f0Sopenharmony_ci				preserve true
166d5ac70f0Sopenharmony_ci				optional true
167d5ac70f0Sopenharmony_ci				value [ $AES0 $AES1 $AES2 $AES3 ]
168d5ac70f0Sopenharmony_ci			}
169d5ac70f0Sopenharmony_ci			{
170d5ac70f0Sopenharmony_ci				name "IEC958 Playback Switch"
171d5ac70f0Sopenharmony_ci				lock true
172d5ac70f0Sopenharmony_ci				preserve true
173d5ac70f0Sopenharmony_ci				value 1
174d5ac70f0Sopenharmony_ci			}
175d5ac70f0Sopenharmony_ci		]
176d5ac70f0Sopenharmony_ci	}
177d5ac70f0Sopenharmony_ci}
178d5ac70f0Sopenharmony_ci
179d5ac70f0Sopenharmony_ci################################################################################
180d5ac70f0Sopenharmony_ci
181d5ac70f0Sopenharmony_ci<confdir:pcm/front.conf>
182d5ac70f0Sopenharmony_ci
183d5ac70f0Sopenharmony_ciUSB-Audio.pcm.front.0 {
184d5ac70f0Sopenharmony_ci	@args [ CARD ]
185d5ac70f0Sopenharmony_ci	@args.CARD { type string }
186d5ac70f0Sopenharmony_ci	@func refer
187d5ac70f0Sopenharmony_ci	name {
188d5ac70f0Sopenharmony_ci		@func concat
189d5ac70f0Sopenharmony_ci		strings [
190d5ac70f0Sopenharmony_ci			"cards.USB-Audio."
191d5ac70f0Sopenharmony_ci			{ @func card_name card $CARD }
192d5ac70f0Sopenharmony_ci			".pcm.front:CARD=" $CARD
193d5ac70f0Sopenharmony_ci		]
194d5ac70f0Sopenharmony_ci	}
195d5ac70f0Sopenharmony_ci	default {
196d5ac70f0Sopenharmony_ci		# We could use softvol, but the driver might have guessed a
197d5ac70f0Sopenharmony_ci		# wrong name for the real volume control.
198d5ac70f0Sopenharmony_ci		type hw
199d5ac70f0Sopenharmony_ci		card $CARD
200d5ac70f0Sopenharmony_ci		device 0
201d5ac70f0Sopenharmony_ci	}
202d5ac70f0Sopenharmony_ci}
203d5ac70f0Sopenharmony_ci
204d5ac70f0Sopenharmony_ciUSB-Audio.pcm.default {
205d5ac70f0Sopenharmony_ci	@args [ CARD ]
206d5ac70f0Sopenharmony_ci	@args.CARD { type string }
207d5ac70f0Sopenharmony_ci	@func refer
208d5ac70f0Sopenharmony_ci	name {
209d5ac70f0Sopenharmony_ci		@func concat
210d5ac70f0Sopenharmony_ci		strings [
211d5ac70f0Sopenharmony_ci			"cards.USB-Audio."
212d5ac70f0Sopenharmony_ci			{ @func card_name card $CARD }
213d5ac70f0Sopenharmony_ci			".pcm.default:CARD=" $CARD
214d5ac70f0Sopenharmony_ci		]
215d5ac70f0Sopenharmony_ci	}
216d5ac70f0Sopenharmony_ci	default {
217d5ac70f0Sopenharmony_ci		type asym
218d5ac70f0Sopenharmony_ci		playback.pcm {
219d5ac70f0Sopenharmony_ci			type plug
220d5ac70f0Sopenharmony_ci			slave.pcm {
221d5ac70f0Sopenharmony_ci				@func refer
222d5ac70f0Sopenharmony_ci				name {
223d5ac70f0Sopenharmony_ci					@func concat
224d5ac70f0Sopenharmony_ci					strings [
225d5ac70f0Sopenharmony_ci						"cards.USB-Audio.pcm.default_playback_dmix_"
226d5ac70f0Sopenharmony_ci						{
227d5ac70f0Sopenharmony_ci							@func refer
228d5ac70f0Sopenharmony_ci							name {
229d5ac70f0Sopenharmony_ci								@func concat
230d5ac70f0Sopenharmony_ci								strings [
231d5ac70f0Sopenharmony_ci									"cards.USB-Audio.pcm.use_dmix."
232d5ac70f0Sopenharmony_ci									{ @func card_name card $CARD }
233d5ac70f0Sopenharmony_ci								]
234d5ac70f0Sopenharmony_ci							}
235d5ac70f0Sopenharmony_ci							default yes
236d5ac70f0Sopenharmony_ci						}
237d5ac70f0Sopenharmony_ci						":CARD=" $CARD
238d5ac70f0Sopenharmony_ci					]
239d5ac70f0Sopenharmony_ci				}
240d5ac70f0Sopenharmony_ci			}
241d5ac70f0Sopenharmony_ci		}
242d5ac70f0Sopenharmony_ci		capture.pcm {
243d5ac70f0Sopenharmony_ci			type plug
244d5ac70f0Sopenharmony_ci			slave.pcm {
245d5ac70f0Sopenharmony_ci				@func concat
246d5ac70f0Sopenharmony_ci				strings [ "dsnoop:" $CARD ]
247d5ac70f0Sopenharmony_ci			}
248d5ac70f0Sopenharmony_ci		}
249d5ac70f0Sopenharmony_ci	}
250d5ac70f0Sopenharmony_ci}
251d5ac70f0Sopenharmony_ci
252d5ac70f0Sopenharmony_ciUSB-Audio.pcm.default_playback_dmix_yes {
253d5ac70f0Sopenharmony_ci	@args [ CARD ]
254d5ac70f0Sopenharmony_ci	@args.CARD { type string }
255d5ac70f0Sopenharmony_ci	@func concat
256d5ac70f0Sopenharmony_ci	strings [ "dmix:" $CARD ]
257d5ac70f0Sopenharmony_ci}
258d5ac70f0Sopenharmony_ci
259d5ac70f0Sopenharmony_ciUSB-Audio.pcm.default_playback_dmix_no {
260d5ac70f0Sopenharmony_ci	@args [ CARD ]
261d5ac70f0Sopenharmony_ci	@args.CARD { type string }
262d5ac70f0Sopenharmony_ci	type hw
263d5ac70f0Sopenharmony_ci	card $CARD
264d5ac70f0Sopenharmony_ci	device 0
265d5ac70f0Sopenharmony_ci}
266d5ac70f0Sopenharmony_ci
267d5ac70f0Sopenharmony_ci<confdir:pcm/surround40.conf>
268d5ac70f0Sopenharmony_ci
269d5ac70f0Sopenharmony_ciUSB-Audio.pcm.surround40.0 {
270d5ac70f0Sopenharmony_ci	@args [ CARD ]
271d5ac70f0Sopenharmony_ci	@args.CARD { type string }
272d5ac70f0Sopenharmony_ci	@func refer
273d5ac70f0Sopenharmony_ci	name {
274d5ac70f0Sopenharmony_ci		@func concat
275d5ac70f0Sopenharmony_ci		strings [
276d5ac70f0Sopenharmony_ci			"cards.USB-Audio."
277d5ac70f0Sopenharmony_ci			{ @func card_name card $CARD }
278d5ac70f0Sopenharmony_ci			".pcm.surround40:CARD=" $CARD
279d5ac70f0Sopenharmony_ci		]
280d5ac70f0Sopenharmony_ci	}
281d5ac70f0Sopenharmony_ci	default {
282d5ac70f0Sopenharmony_ci		@func refer
283d5ac70f0Sopenharmony_ci		name {
284d5ac70f0Sopenharmony_ci			@func concat
285d5ac70f0Sopenharmony_ci			strings [
286d5ac70f0Sopenharmony_ci				"cards.USB-Audio.pcm.surround40_"
287d5ac70f0Sopenharmony_ci				{
288d5ac70f0Sopenharmony_ci					@func refer
289d5ac70f0Sopenharmony_ci					name {
290d5ac70f0Sopenharmony_ci						@func concat
291d5ac70f0Sopenharmony_ci						strings [
292d5ac70f0Sopenharmony_ci							"cards.USB-Audio.pcm.surround40_type."
293d5ac70f0Sopenharmony_ci							{ @func card_name card $CARD }
294d5ac70f0Sopenharmony_ci						]
295d5ac70f0Sopenharmony_ci					}
296d5ac70f0Sopenharmony_ci					default default
297d5ac70f0Sopenharmony_ci				}
298d5ac70f0Sopenharmony_ci				":CARD=" $CARD
299d5ac70f0Sopenharmony_ci			]
300d5ac70f0Sopenharmony_ci		}
301d5ac70f0Sopenharmony_ci	}
302d5ac70f0Sopenharmony_ci}
303d5ac70f0Sopenharmony_ci
304d5ac70f0Sopenharmony_ciUSB-Audio.pcm.surround40_default {
305d5ac70f0Sopenharmony_ci	@args [ CARD ]
306d5ac70f0Sopenharmony_ci	@args.CARD { type string }
307d5ac70f0Sopenharmony_ci	type hw
308d5ac70f0Sopenharmony_ci	card $CARD
309d5ac70f0Sopenharmony_ci	device 0
310d5ac70f0Sopenharmony_ci}
311d5ac70f0Sopenharmony_ci
312d5ac70f0Sopenharmony_ciUSB-Audio.pcm.surround40_six_channels {
313d5ac70f0Sopenharmony_ci	@args [ CARD ]
314d5ac70f0Sopenharmony_ci	@args.CARD { type string }
315d5ac70f0Sopenharmony_ci	type route
316d5ac70f0Sopenharmony_ci	ttable.0.0 1
317d5ac70f0Sopenharmony_ci	ttable.1.1 1
318d5ac70f0Sopenharmony_ci	ttable.2.4 1
319d5ac70f0Sopenharmony_ci	ttable.3.5 1
320d5ac70f0Sopenharmony_ci	slave {
321d5ac70f0Sopenharmony_ci		pcm {
322d5ac70f0Sopenharmony_ci			type hw
323d5ac70f0Sopenharmony_ci			card $CARD
324d5ac70f0Sopenharmony_ci			device 0
325d5ac70f0Sopenharmony_ci		}
326d5ac70f0Sopenharmony_ci		channels 6
327d5ac70f0Sopenharmony_ci	}
328d5ac70f0Sopenharmony_ci}
329d5ac70f0Sopenharmony_ci
330d5ac70f0Sopenharmony_ciUSB-Audio.pcm.surround40_two_stereo_devices {
331d5ac70f0Sopenharmony_ci	@args [ CARD ]
332d5ac70f0Sopenharmony_ci	@args.CARD { type string }
333d5ac70f0Sopenharmony_ci	type route
334d5ac70f0Sopenharmony_ci	ttable.0.0 1
335d5ac70f0Sopenharmony_ci	ttable.1.1 1
336d5ac70f0Sopenharmony_ci	ttable.2.2 1
337d5ac70f0Sopenharmony_ci	ttable.3.3 1
338d5ac70f0Sopenharmony_ci	slave.pcm {
339d5ac70f0Sopenharmony_ci		type multi
340d5ac70f0Sopenharmony_ci		slaves {
341d5ac70f0Sopenharmony_ci			a {
342d5ac70f0Sopenharmony_ci				pcm {
343d5ac70f0Sopenharmony_ci					type hw
344d5ac70f0Sopenharmony_ci					card $CARD
345d5ac70f0Sopenharmony_ci					device 0
346d5ac70f0Sopenharmony_ci				}
347d5ac70f0Sopenharmony_ci				channels 2
348d5ac70f0Sopenharmony_ci			}
349d5ac70f0Sopenharmony_ci			b {
350d5ac70f0Sopenharmony_ci				pcm {
351d5ac70f0Sopenharmony_ci					type hw
352d5ac70f0Sopenharmony_ci					card $CARD
353d5ac70f0Sopenharmony_ci					device 1
354d5ac70f0Sopenharmony_ci				}
355d5ac70f0Sopenharmony_ci				channels 2
356d5ac70f0Sopenharmony_ci			}
357d5ac70f0Sopenharmony_ci		}
358d5ac70f0Sopenharmony_ci		bindings [
359d5ac70f0Sopenharmony_ci			{ slave a channel 0 }
360d5ac70f0Sopenharmony_ci			{ slave a channel 1 }
361d5ac70f0Sopenharmony_ci			{ slave b channel 0 }
362d5ac70f0Sopenharmony_ci			{ slave b channel 1 }
363d5ac70f0Sopenharmony_ci		]
364d5ac70f0Sopenharmony_ci	}
365d5ac70f0Sopenharmony_ci}
366d5ac70f0Sopenharmony_ci
367d5ac70f0Sopenharmony_ci<confdir:pcm/surround21.conf>
368d5ac70f0Sopenharmony_ci<confdir:pcm/surround41.conf>
369d5ac70f0Sopenharmony_ci<confdir:pcm/surround50.conf>
370d5ac70f0Sopenharmony_ci<confdir:pcm/surround51.conf>
371d5ac70f0Sopenharmony_ci
372d5ac70f0Sopenharmony_ciUSB-Audio.pcm.surround51.0 {
373d5ac70f0Sopenharmony_ci	@args [ CARD ]
374d5ac70f0Sopenharmony_ci	@args.CARD { type string }
375d5ac70f0Sopenharmony_ci	@func refer
376d5ac70f0Sopenharmony_ci	name {
377d5ac70f0Sopenharmony_ci		@func concat
378d5ac70f0Sopenharmony_ci		strings [
379d5ac70f0Sopenharmony_ci			"cards.USB-Audio."
380d5ac70f0Sopenharmony_ci			{ @func card_name card $CARD }
381d5ac70f0Sopenharmony_ci			".pcm.surround51:CARD=" $CARD
382d5ac70f0Sopenharmony_ci		]
383d5ac70f0Sopenharmony_ci	}
384d5ac70f0Sopenharmony_ci	default {
385d5ac70f0Sopenharmony_ci		type route
386d5ac70f0Sopenharmony_ci		ttable.0.0 1
387d5ac70f0Sopenharmony_ci		ttable.1.1 1
388d5ac70f0Sopenharmony_ci		ttable.2.4 1
389d5ac70f0Sopenharmony_ci		ttable.3.5 1
390d5ac70f0Sopenharmony_ci		ttable.4.2 1
391d5ac70f0Sopenharmony_ci		ttable.5.3 1
392d5ac70f0Sopenharmony_ci		slave {
393d5ac70f0Sopenharmony_ci			pcm {
394d5ac70f0Sopenharmony_ci				type hw
395d5ac70f0Sopenharmony_ci				card $CARD
396d5ac70f0Sopenharmony_ci				device 0
397d5ac70f0Sopenharmony_ci			}
398d5ac70f0Sopenharmony_ci			channels 6
399d5ac70f0Sopenharmony_ci		}
400d5ac70f0Sopenharmony_ci	}
401d5ac70f0Sopenharmony_ci}
402d5ac70f0Sopenharmony_ci
403d5ac70f0Sopenharmony_ci<confdir:pcm/surround71.conf>
404d5ac70f0Sopenharmony_ci
405d5ac70f0Sopenharmony_ciUSB-Audio.pcm.surround71.0 {
406d5ac70f0Sopenharmony_ci	@args [ CARD ]
407d5ac70f0Sopenharmony_ci	@args.CARD { type string }
408d5ac70f0Sopenharmony_ci	@func refer
409d5ac70f0Sopenharmony_ci	name {
410d5ac70f0Sopenharmony_ci		@func concat
411d5ac70f0Sopenharmony_ci		strings [
412d5ac70f0Sopenharmony_ci			"cards.USB-Audio."
413d5ac70f0Sopenharmony_ci			{ @func card_name card $CARD }
414d5ac70f0Sopenharmony_ci			".pcm.surround71:CARD=" $CARD
415d5ac70f0Sopenharmony_ci		]
416d5ac70f0Sopenharmony_ci	}
417d5ac70f0Sopenharmony_ci	default {
418d5ac70f0Sopenharmony_ci		type route
419d5ac70f0Sopenharmony_ci		ttable.0.0 1
420d5ac70f0Sopenharmony_ci		ttable.1.1 1
421d5ac70f0Sopenharmony_ci		ttable.2.4 1
422d5ac70f0Sopenharmony_ci		ttable.3.5 1
423d5ac70f0Sopenharmony_ci		ttable.4.2 1
424d5ac70f0Sopenharmony_ci		ttable.5.3 1
425d5ac70f0Sopenharmony_ci		ttable.6.6 1
426d5ac70f0Sopenharmony_ci		ttable.7.7 1
427d5ac70f0Sopenharmony_ci		slave {
428d5ac70f0Sopenharmony_ci			pcm {
429d5ac70f0Sopenharmony_ci				type hw
430d5ac70f0Sopenharmony_ci				card $CARD
431d5ac70f0Sopenharmony_ci				device 0
432d5ac70f0Sopenharmony_ci			}
433d5ac70f0Sopenharmony_ci			channels 8
434d5ac70f0Sopenharmony_ci		}
435d5ac70f0Sopenharmony_ci	}
436d5ac70f0Sopenharmony_ci}
437d5ac70f0Sopenharmony_ci
438d5ac70f0Sopenharmony_ci<confdir:pcm/iec958.conf>
439d5ac70f0Sopenharmony_ci
440d5ac70f0Sopenharmony_ciUSB-Audio.pcm.iec958.0 {
441d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
442d5ac70f0Sopenharmony_ci	@args.CARD { type string }
443d5ac70f0Sopenharmony_ci	@args.AES0 { type integer }
444d5ac70f0Sopenharmony_ci	@args.AES1 { type integer }
445d5ac70f0Sopenharmony_ci	@args.AES2 { type integer }
446d5ac70f0Sopenharmony_ci	@args.AES3 { type integer }
447d5ac70f0Sopenharmony_ci	@func refer
448d5ac70f0Sopenharmony_ci	name {
449d5ac70f0Sopenharmony_ci		@func concat
450d5ac70f0Sopenharmony_ci		strings [
451d5ac70f0Sopenharmony_ci			"cards.USB-Audio."
452d5ac70f0Sopenharmony_ci			{ @func card_name card $CARD }
453d5ac70f0Sopenharmony_ci			".pcm.iec958:CARD=" $CARD
454d5ac70f0Sopenharmony_ci			",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
455d5ac70f0Sopenharmony_ci		]
456d5ac70f0Sopenharmony_ci	}
457d5ac70f0Sopenharmony_ci	default {
458d5ac70f0Sopenharmony_ci		# FIXME: we cannot set the AES parameters
459d5ac70f0Sopenharmony_ci		type hw
460d5ac70f0Sopenharmony_ci		card $CARD
461d5ac70f0Sopenharmony_ci		device {
462d5ac70f0Sopenharmony_ci			@func refer
463d5ac70f0Sopenharmony_ci			name {
464d5ac70f0Sopenharmony_ci				@func concat
465d5ac70f0Sopenharmony_ci				strings [
466d5ac70f0Sopenharmony_ci					"cards.USB-Audio.pcm.iec958_device."
467d5ac70f0Sopenharmony_ci					{ @func card_name card $CARD }
468d5ac70f0Sopenharmony_ci				]
469d5ac70f0Sopenharmony_ci			}
470d5ac70f0Sopenharmony_ci			default 0
471d5ac70f0Sopenharmony_ci		}
472d5ac70f0Sopenharmony_ci	}
473d5ac70f0Sopenharmony_ci}
474d5ac70f0Sopenharmony_ci
475d5ac70f0Sopenharmony_ciUSB-Audio.pcm.iec958.1 {
476d5ac70f0Sopenharmony_ci	@args [ CARD AES0 AES1 AES2 AES3 ]
477d5ac70f0Sopenharmony_ci	@args.CARD { type string }
478d5ac70f0Sopenharmony_ci	@args.AES0 { type integer }
479d5ac70f0Sopenharmony_ci	@args.AES1 { type integer }
480d5ac70f0Sopenharmony_ci	@args.AES2 { type integer }
481d5ac70f0Sopenharmony_ci	@args.AES3 { type integer }
482d5ac70f0Sopenharmony_ci	@func refer
483d5ac70f0Sopenharmony_ci	name {
484d5ac70f0Sopenharmony_ci		@func concat
485d5ac70f0Sopenharmony_ci		strings [
486d5ac70f0Sopenharmony_ci			"cards.USB-Audio."
487d5ac70f0Sopenharmony_ci			{ @func card_name card $CARD }
488d5ac70f0Sopenharmony_ci			".pcm.iec958_2:CARD=" $CARD
489d5ac70f0Sopenharmony_ci			",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
490d5ac70f0Sopenharmony_ci		]
491d5ac70f0Sopenharmony_ci	}
492d5ac70f0Sopenharmony_ci	default {
493d5ac70f0Sopenharmony_ci		# FIXME: we cannot set the AES parameters
494d5ac70f0Sopenharmony_ci		type hw
495d5ac70f0Sopenharmony_ci		card $CARD
496d5ac70f0Sopenharmony_ci		device {
497d5ac70f0Sopenharmony_ci			@func refer
498d5ac70f0Sopenharmony_ci			name {
499d5ac70f0Sopenharmony_ci				@func concat
500d5ac70f0Sopenharmony_ci				strings [
501d5ac70f0Sopenharmony_ci					"cards.USB-Audio.pcm.iec958_2_device."
502d5ac70f0Sopenharmony_ci					{ @func card_name card $CARD }
503d5ac70f0Sopenharmony_ci				]
504d5ac70f0Sopenharmony_ci			}
505d5ac70f0Sopenharmony_ci			default 999
506d5ac70f0Sopenharmony_ci		}
507d5ac70f0Sopenharmony_ci	}
508d5ac70f0Sopenharmony_ci}
509d5ac70f0Sopenharmony_ci
510d5ac70f0Sopenharmony_ci# vim: ft=alsaconf
511