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