OSDN Git Service

conf/ucm: chtrt5645: Microphone recording fixes
[android-x86/external-alsa-lib.git] / src / conf / ucm / chtrt5645 / HiFi.conf
1 SectionVerb {
2         # ALSA PCM
3         Value {
4                 TQ "HiFi"
5
6                 # ALSA PCM device for HiFi
7                 PlaybackPCM "hw:chtrt5645"
8                 CapturePCM "hw:chtrt5645"
9         }
10
11         EnableSequence [
12                 cdev "hw:chtrt5645"
13
14                 # media mixer settings
15                 #   compress
16                 cset "name='media0_in Gain 0 Switch' on"
17                 cset "name='media0_in Gain 0 Volume' 0"
18
19                 #   normal
20                 cset "name='media1_in Gain 0 Switch' on"
21                 cset "name='media1_in Gain 0 Volume' 0"
22                 #   swm loopback
23                 cset "name='media2_in Gain 0 Switch' off"
24                 cset "name='media2_in Gain 0 Volume' 0%"
25                 #   deep buffer
26                 cset "name='media3_in Gain 0 Switch' on"
27                 cset "name='media3_in Gain 0 Volume' 0"
28
29                 cset "name='media0_out mix 0 media0_in Switch' on"
30                 cset "name='media0_out mix 0 media1_in Switch' on"
31                 cset "name='media0_out mix 0 media2_in Switch' off"
32                 cset "name='media0_out mix 0 media3_in Switch' on"
33
34                 cset "name='media1_out mix 0 media0_in Switch' off"
35                 cset "name='media1_out mix 0 media1_in Switch' off"
36                 cset "name='media1_out mix 0 media2_in Switch' off"
37                 cset "name='media1_out mix 0 media3_in Switch' off"
38
39                 cset "name='pcm0_in Gain 0 Switch' on"
40                 cset "name='pcm0_in Gain 0 Volume' 0"
41
42                 cset "name='pcm1_in Gain 0 Switch' off"
43                 cset "name='pcm1_in Gain 0 Volume' 0%"
44
45                 # codec0_out settings (used if ssp2 is connected to aif1)
46                 cset "name='codec_out0 mix 0 codec_in0 Switch' off"
47                 cset "name='codec_out0 mix 0 codec_in1 Switch' off"
48                 cset "name='codec_out0 mix 0 media_loop1_in Switch' off"
49                 cset "name='codec_out0 mix 0 media_loop2_in Switch' off"
50                 cset "name='codec_out0 mix 0 pcm0_in Switch' on"
51                 cset "name='codec_out0 mix 0 pcm1_in Switch' off"
52                 cset "name='codec_out0 mix 0 sprot_loop_in Switch' off"
53                 cset "name='codec_out0 Gain 0 Switch' on"
54                 cset "name='codec_out0 Gain 0 Volume' 0"
55
56                 # modem_out settings (used if ssp0 is connected to aif2)
57                 cset "name='modem_out mix 0 codec_in0 Switch' off"
58                 cset "name='modem_out mix 0 codec_in1 Switch' off"
59                 cset "name='modem_out mix 0 media_loop1_in Switch' off"
60                 cset "name='modem_out mix 0 media_loop2_in Switch' off"
61                 cset "name='modem_out mix 0 pcm0_in Switch' on"
62                 cset "name='modem_out mix 0 pcm1_in Switch' off"
63                 cset "name='modem_out mix 0 sprot_loop_in Switch' off"
64                 cset "name='modem_out Gain 0 Switch' on"
65                 cset "name='modem_out Gain 0 Volume' 0"
66
67                 # input settings
68                 # pcm1_out settings
69
70                 # input used when SSP2 is connected
71                 cset "name='codec_in0 Gain 0 Switch' on"
72                 cset "name='codec_in0 Gain 0 Volume' 0"
73
74                 # input used when SSP0 is connected
75                 cset "name='modem_in Gain 0 Switch' on"
76                 cset "name='modem_in Gain 0 Volume' 0"
77
78                 cset "name='pcm1_out mix 0 codec_in0 Switch' on"
79                 cset "name='pcm1_out mix 0 modem_in Switch' on"
80                 cset "name='pcm1_out mix 0 codec_in1 Switch' off"
81                 cset "name='pcm1_out mix 0 media_loop1_in Switch' off"
82                 cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
83                 cset "name='pcm1_out mix 0 pcm0_in Switch' off"
84                 cset "name='pcm1_out mix 0 pcm1_in Switch' off"
85                 cset "name='pcm1_out mix 0 sprot_loop_in Switch' off"
86
87                 cset "name='pcm1_out Gain 0 Switch' on"
88                 cset "name='pcm1_out Gain 0 Volume' 0"
89
90                 # disable codec_out1
91                 cset "name='codec_out1 mix 0 codec_in0 Switch' off"
92                 cset "name='codec_out1 mix 0 codec_in1 Switch' off"
93                 cset "name='codec_out1 mix 0 media_loop1_in Switch' off"
94                 cset "name='codec_out1 mix 0 media_loop2_in Switch' off"
95                 cset "name='codec_out1 mix 0 pcm0_in Switch' off"
96                 cset "name='codec_out1 mix 0 pcm1_in Switch' off"
97                 cset "name='codec_out1 mix 0 sprot_loop_in Switch' off"
98                 cset "name='codec_out1 Gain 0 Switch' off"
99                 cset "name='codec_out1 Gain 0 Volume' 0%"
100
101                 # disable codec_in1
102                 cset "name='codec_in1 Gain 0 Switch' off"
103                 cset "name='codec_in1 Gain 0 Volume' 0%"
104
105                 # disable all loops
106                 cset "name='media_loop1_out mix 0 codec_in0 Switch' off"
107                 cset "name='media_loop1_out mix 0 codec_in1 Switch' off"
108                 cset "name='media_loop1_out mix 0 media_loop1_in Switch' off"
109                 cset "name='media_loop1_out mix 0 media_loop2_in Switch' off"
110                 cset "name='media_loop1_out mix 0 pcm0_in Switch' off"
111                 cset "name='media_loop1_out mix 0 pcm1_in Switch' off"
112                 cset "name='media_loop1_out mix 0 sprot_loop_in Switch' off"
113
114                 cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
115                 cset "name='media_loop2_out mix 0 codec_in1 Switch' off"
116                 cset "name='media_loop2_out mix 0 media_loop1_in Switch' off"
117                 cset "name='media_loop2_out mix 0 media_loop2_in Switch' off"
118                 cset "name='media_loop2_out mix 0 pcm0_in Switch' off"
119                 cset "name='media_loop2_out mix 0 pcm1_in Switch' off"
120                 cset "name='media_loop2_out mix 0 sprot_loop_in Switch' off"
121
122                 cset "name='sprot_loop_out mix 0 codec_in0 Switch' off"
123                 cset "name='sprot_loop_out mix 0 codec_in1 Switch' off"
124                 cset "name='sprot_loop_out mix 0 media_loop1_in Switch' off"
125                 cset "name='sprot_loop_out mix 0 media_loop2_in Switch' off"
126                 cset "name='sprot_loop_out mix 0 pcm0_in Switch' off"
127                 cset "name='sprot_loop_out mix 0 pcm1_in Switch' off"
128                 cset "name='sprot_loop_out mix 0 sprot_loop_in Switch' off"
129
130                 # Output Configuration
131                 cset "name='DAC1 L Mux' IF1 DAC"
132                 cset "name='DAC1 R Mux' IF1 DAC"
133                 cset "name='DAC1 MIXL DAC1 Switch' 1"
134                 cset "name='DAC1 MIXR DAC1 Switch' 1"
135                 cset "name='Stereo DAC MIXL DAC L1 Switch' 1"
136                 cset "name='Stereo DAC MIXR DAC R1 Switch' 1"
137
138                 cset "name='DAC L2 Mux' IF2 DAC"
139                 cset "name='DAC R2 Mux' IF2 DAC"
140                 cset "name='Mono DAC MIXL DAC L2 Switch' on"
141                 cset "name='Mono DAC MIXR DAC R2 Switch' on"
142                 cset "name='DAC2 Playback Switch' on"
143
144                 cset "name='HPOVOL MIXL DAC1 Switch' on"
145                 cset "name='HPOVOL MIXR DAC1 Switch' on"
146                 cset "name='HPOVOL MIXL DAC2 Switch' on"
147                 cset "name='HPOVOL MIXR DAC2 Switch' on"
148                 cset "name='HPO MIX HPVOL Switch' on"
149                 cset "name='HPOVOL L Switch' on"
150                 cset "name='HPOVOL R Switch' on"
151
152                 cset "name='SPK MIXL DAC L1 Switch' on"
153                 cset "name='SPK MIXR DAC R1 Switch' on"
154                 cset "name='SPK MIXL DAC L2 Switch' on"
155                 cset "name='SPK MIXR DAC R2 Switch' on"
156                 cset "name='SPOL MIX SPKVOL L Switch' on"
157                 cset "name='SPOR MIX SPKVOL R Switch' on"
158                 cset "name='SPKVOL L Switch' on"
159                 cset "name='SPKVOL R Switch' on"
160
161                 # Input Configuration
162                 cset "name='Stereo1 DMIC Mux' 0"
163                 cset "name='Stereo1 ADC2 Mux' 1"
164                 cset "name='ADC Capture Switch' on"
165                 cset "name='ADC Capture Volume' 31"
166                 cset "name='ADC Boost Capture Volume' 3"
167                 cset "name='Mono ADC Capture Volume' 63"
168                 cset "name='Mono ADC Boost Capture Volume' 2"
169                 cset "name='IN Capture Volume' 63"
170                 cset "name='I2S2 Func Switch' on"
171
172         ]
173
174         DisableSequence [
175                 cdev "hw:chtrt5645"
176
177                 # Disable audio output path
178                 cset "name='codec_out1 mix 0 pcm0_in Switch' off"
179                 cset "name='media0_out mix 0 media1_in Switch' off"
180
181                 cset "name='media1_in Gain 0 Switch' off"
182                 cset "name='pcm0_in Gain 0 Switch' off"
183                 cset "name='codec_out1 Gain 0 Switch' off"
184
185                 # Disable audio input path
186                 cset "name='pcm1_out mix 0 media_loop2_in Switch' off"
187                 cset "name='media_loop2_out mix 0 codec_in0 Switch' off"
188
189                 cset "name='media_loop2_out Gain 0 Switch' off"
190                 cset "name='pcm1_out Gain 0 Switch' off"
191                 cset "name='codec_in0 Gain 0 Switch' off"
192         ]
193 }
194
195 SectionDevice."Speaker" {
196         Comment "Speaker"
197
198         Value {
199                 PlaybackChannels "2"
200         }
201
202         ConflictingDevice [
203                 "Headphones"
204         ]
205
206         EnableSequence [
207                 cdev "hw:chtrt5645"
208
209                 cset "name='Headphone Switch' off"
210                 cset "name='Headphone Channel Switch' off"
211
212                 cset "name='Ext Spk Switch' on"
213                 cset "name='Speaker Channel Switch' on"
214                 cset "name='Speaker Playback Volume' 31"
215         ]
216
217         DisableSequence [
218                 cdev "hw:chtrt5645"
219
220                 cset "name='Ext Spk Switch' off"
221                 cset "name='Speaker Channel Switch' off"
222         ]
223 }
224
225 SectionDevice."Headphones" {
226         Comment "Headphones"
227
228         Value {
229                 PlaybackChannels "2"
230                 JackControl "Headphone Jack"
231                 JackHWMute "Speaker"
232         }
233
234         ConflictingDevice [
235                 "Speaker"
236         ]
237
238         EnableSequence [
239                 cdev "hw:chtrt5645"
240
241                 cset "name='Ext Spk Switch' off"
242                 cset "name='Speaker Channel Switch' off"
243
244                 cset "name='Headphone Switch' on"
245                 cset "name='Headphone Channel Switch' on"
246                 cset "name='Headphone Playback Volume' 31"
247         ]
248
249         DisableSequence [
250                 cdev "hw:chtrt5645"
251
252                 cset "name='Headphone Switch' off"
253                 cset "name='Headphone Channel Switch' off"
254         ]
255 }
256
257 SectionDevice."Mic".0 {
258         Comment "Internal Analog Microphones"
259
260         Value {
261                 CaptureChannels "2"
262                 CapturePriority "150"
263         }
264
265         EnableSequence [
266                 cdev "hw:chtrt5645"
267
268                 cset "name='Int Mic Switch' on"
269
270                 cset "name='Sto1 ADC MIXL ADC1 Switch' on"
271                 cset "name='Sto1 ADC MIXR ADC1 Switch' on"
272                 cset "name='Sto1 ADC MIXL ADC2 Switch' off"
273                 cset "name='Sto1 ADC MIXR ADC2 Switch' off"
274
275                 cset "name='Mono ADC MIXL ADC1 Switch' on"
276                 cset "name='Mono ADC MIXR ADC1 Switch' on"
277                 cset "name='Mono ADC MIXL ADC2 Switch' off"
278                 cset "name='Mono ADC MIXR ADC2 Switch' off"
279
280                 cset "name='RECMIXL BST1 Switch' on"
281                 cset "name='RECMIXR BST1 Switch' on"
282
283         ]
284
285         DisableSequence [
286                 cdev "hw:chtrt5645"
287
288                 cset "name='Sto1 ADC MIXL ADC1 Switch' off"
289                 cset "name='Sto1 ADC MIXR ADC1 Switch' off"
290                 cset "name='Mono ADC MIXL ADC1 Switch' off"
291                 cset "name='Mono ADC MIXR ADC1 Switch' off"
292
293                 cset "name='RECMIXL BST1 Switch' off"
294                 cset "name='RECMIXR BST1 Switch' off"
295
296                 cset "name='Int Mic Switch' off"
297         ]
298 }
299
300 SectionDevice."HSMic".0 {
301         Comment "Headset Microphone"
302
303         Value {
304                 CaptureChannels "2"
305                 JackControl "Headset Mic Jack"
306                 JackHWMute "Mic"
307         }
308
309         EnableSequence [
310                 cdev "hw:chtrt5645"
311
312                 cset "name='Headset Mic Switch' on"
313
314                 cset "name='Sto1 ADC MIXL ADC1 Switch' on"
315                 cset "name='Sto1 ADC MIXR ADC1 Switch' on"
316                 cset "name='Sto1 ADC MIXL ADC2 Switch' off"
317                 cset "name='Sto1 ADC MIXR ADC2 Switch' off"
318
319                 cset "name='Mono ADC MIXL ADC1 Switch' on"
320                 cset "name='Mono ADC MIXR ADC1 Switch' on"
321                 cset "name='Mono ADC MIXL ADC2 Switch' off"
322                 cset "name='Mono ADC MIXR ADC2 Switch' off"
323
324                 cset "name='RECMIXL BST1 Switch' on"
325                 cset "name='RECMIXR BST1 Switch' on"
326
327         ]
328
329         DisableSequence [
330                 cdev "hw:chtrt5645"
331
332                 cset "name='Headset Mic Switch' off"
333
334                 cset "name='RECMIXL BST1 Switch' off"
335                 cset "name='RECMIXR BST1 Switch' off"
336                 cset "name='Sto1 ADC MIXL ADC1 Switch' off"
337                 cset "name='Sto1 ADC MIXR ADC1 Switch' off"
338                 cset "name='Mono ADC MIXL ADC1 Switch' on"
339                 cset "name='Mono ADC MIXR ADC1 Switch' on"
340
341         ]
342 }