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