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