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