1
From b1d218e57b4edfed605ba9c425b0cad1a4c7c784 Mon Sep 17 00:00:00 2001
2
From: David Henningsson <david.henningsson@canonical.com>
3
Date: Tue, 27 Aug 2013 07:04:37 +0200
4
Subject: [PATCH] Add UCM configuration for Nexus 4 (Mako)
6
The VoiceCall profile is mostly empty, because in my implementation,
7
this is handled by talking to the audio HAL.
10
src/conf/ucm/Makefile.am | 2 +-
11
src/conf/ucm/apq8064-tabla-snd-card/HiFi | 273 ++++++++++++++++++++
12
src/conf/ucm/apq8064-tabla-snd-card/Makefile.am | 4 +
13
src/conf/ucm/apq8064-tabla-snd-card/VoiceCall | 137 ++++++++++
14
.../apq8064-tabla-snd-card.conf | 8 +
15
6 files changed, 424 insertions(+), 1 deletion(-)
16
create mode 100644 src/conf/ucm/apq8064-tabla-snd-card/HiFi
17
create mode 100644 src/conf/ucm/apq8064-tabla-snd-card/Makefile.am
18
create mode 100644 src/conf/ucm/apq8064-tabla-snd-card/VoiceCall
19
create mode 100644 src/conf/ucm/apq8064-tabla-snd-card/apq8064-tabla-snd-card.conf
21
diff --git a/configure.in b/configure.in
22
index 00fff2b..25fdc81 100644
25
@@ -669,6 +669,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
26
src/conf/ucm/PandaBoardES/Makefile \
27
src/conf/ucm/SDP4430/Makefile \
28
src/conf/ucm/tegraalc5632/Makefile \
29
+ src/conf/ucm/apq8064-tabla-snd-card/Makefile \
30
modules/Makefile modules/mixer/Makefile modules/mixer/simple/Makefile \
31
alsalisp/Makefile aserver/Makefile \
32
test/Makefile test/lsb/Makefile \
33
diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am
34
index e089dde..adb3c87 100644
35
--- a/src/conf/ucm/Makefile.am
36
+++ b/src/conf/ucm/Makefile.am
38
-SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632
39
+SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 apq8064-tabla-snd-card
40
diff --git a/src/conf/ucm/apq8064-tabla-snd-card/HiFi b/src/conf/ucm/apq8064-tabla-snd-card/HiFi
42
index 0000000..6c590e3
44
+++ b/src/conf/ucm/apq8064-tabla-snd-card/HiFi
48
+ cdev "hw:apq8064tablasnd"
50
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
51
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 1"
55
+ cdev "hw:apq8064tablasnd"
57
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
58
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 0"
64
+ CapturePCM "hw:apq8064tablasnd,0"
65
+ PlaybackPCM "hw:apq8064tablasnd,0"
69
+SectionDevice."Earpiece" {
71
+ Comment "Handset Rx device"
79
+ cdev "hw:apq8064tablasnd"
81
+ # We need to disable this while setting up the route, else the
82
+ # driver will hang if the stream is open.
83
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
85
+ cset "name='SLIM_0_RX Channels' One"
86
+ cset "name='RX1 MIX1 INP1' RX1"
87
+ cset "name='RX1 MIX1 INP2' RX1"
88
+ cset "name='RX1 Digital Volume' 68"
89
+ cset "name='EAR PA Gain' POS_6_DB"
90
+ cset "name='DAC1 Switch' 1"
91
+ cset "name='SLIM TX3 MUX' RMIX1"
93
+ # Route has been set up, re-enable the mixer.
94
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
98
+ cdev "hw:apq8064tablasnd"
100
+ # See comment in EnableSequence
101
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
103
+ cset "name='RX1 MIX1 INP1' ZERO"
104
+ cset "name='RX1 MIX1 INP2' ZERO"
105
+ cset "name='RX1 Digital Volume' 68"
106
+ cset "name='DAC1 Switch' 0"
107
+ cset "name='SLIM TX3 MUX' ZERO"
109
+ # See comment in EnableSequence
110
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
114
+ #EffectsMixerCTL "SRS TruMedia"
117
+ PlaybackChannels "2"
121
+SectionDevice."Speaker" {
123
+ Comment "Speaker Rx device"
126
+ ConflictingDevice [
131
+ cdev "hw:apq8064tablasnd"
133
+ # We need to disable this while setting up the route, else the
134
+ # driver will hang if the stream is open.
135
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
137
+ cset "name='SLIM_0_RX Channels' One"
138
+ cset "name='RX3 MIX1 INP1' RX1"
139
+ cset "name='RX3 MIX1 INP2' RX6"
140
+ cset "name='RX4 DSM MUX' DSM_INV"
141
+ cset "name='RX3 Digital Volume' 68"
142
+ cset "name='LINEOUT1 Volume' 100"
143
+ cset "name='LINEOUT3 Volume' 100"
144
+ cset "name='SLIM TX3 MUX' RMIX3"
146
+ # Route has been set up, re-enable the mixer.
147
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
151
+ cdev "hw:apq8064tablasnd"
153
+ # See comment in EnableSequence
154
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
156
+ cset "name='RX3 MIX1 INP1' ZERO"
157
+ cset "name='RX3 MIX1 INP2' ZERO"
158
+ cset "name='RX4 DSM MUX' CIC_OUT"
159
+ cset "name='RX3 Digital Volume' 68"
160
+ cset "name='LINEOUT1 Volume' 0"
161
+ cset "name='LINEOUT3 Volume' 0"
162
+ cset "name='SLIM TX3 MUX' ZERO"
164
+ # See comment in EnableSequence
165
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
169
+ #EffectsMixerCTL "SRS TruMedia"
172
+ PlaybackChannels "2"
176
+SectionDevice."Headphones" {
178
+ Comment "Headset Rx device"
181
+ ConflictingDevice [
186
+ cdev "hw:apq8064tablasnd"
188
+ # We need to disable this while setting up the route, else the
189
+ # driver will hang if the stream is open.
190
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
192
+ cset "name='SLIM_0_RX Channels' Two"
193
+ cset "name='RX1 MIX1 INP1' RX1"
194
+ cset "name='RX1 MIX1 INP2' RX6"
195
+ cset "name='RX2 MIX1 INP1' RX2"
196
+ cset "name='RX2 MIX1 INP2' RX7"
197
+ cset "name='HPHL DAC Switch' 1"
198
+ #FIXME ENOEXIST: cset "name='HPHR DAC Switch' 1"
199
+ cset "name='RX1 Digital Volume' 68"
200
+ cset "name='RX2 Digital Volume' 68"
201
+ cset "name='HPHL Volume' 50"
202
+ cset "name='HPHR Volume' 50"
203
+ cset "name='SLIM TX3 MUX' RMIX1"
204
+ cset "name='SLIM TX5 MUX' RMIX2"
206
+ # Route has been set up, re-enable the mixer.
207
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
211
+ cdev "hw:apq8064tablasnd"
213
+ # See comment in EnableSequence
214
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
216
+ cset "name='RX1 MIX1 INP1' ZERO"
217
+ cset "name='RX1 MIX1 INP2' ZERO"
218
+ cset "name='RX2 MIX1 INP1' ZERO"
219
+ cset "name='RX2 MIX1 INP2' ZERO"
220
+ cset "name='HPHL DAC Switch' 0"
221
+ #FIXME ENOEXIST: cset "name='HPHR DAC Switch' 0"
222
+ cset "name='RX1 Digital Volume' 68"
223
+ cset "name='RX2 Digital Volume' 68"
224
+ cset "name='HPHL Volume' 0"
225
+ cset "name='HPHR Volume' 0"
226
+ cset "name='SLIM TX3 MUX' ZERO"
227
+ cset "name='SLIM TX5 MUX' ZERO"
229
+ # See comment in EnableSequence
230
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
234
+ #EffectsMixerCTL "SRS TruMedia"
237
+ PlaybackChannels "2"
241
+SectionDevice."Headset" {
243
+ Comment "Headset Microphone"
246
+ ConflictingDevice [
251
+ cdev "hw:apq8064tablasnd"
253
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 0"
254
+ cset "name='SLIM_0_TX Channels' One"
255
+ cset "name='SLIM TX7 MUX' DEC8"
256
+ cset "name='DEC8 MUX' ADC2"
257
+ cset "name='ADC2 Volume' 3"
258
+ cset "name='DEC8 Volume' 84"
259
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 1"
263
+ cdev "hw:apq8064tablasnd"
265
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 0"
266
+ cset "name='SLIM TX7 MUX' ZERO"
267
+ cset "name='DEC8 MUX' ZERO"
268
+ cset "name='ADC2 Volume' 0"
272
+ #EffectsMixerCTL "SRS TruMedia"
275
+ CaptureChannels "1"
279
+SectionDevice."Handset" {
281
+ Comment "Handset Microphone"
284
+ ConflictingDevice [
289
+ cdev "hw:apq8064tablasnd"
291
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 0"
292
+ cset "name='SLIM_0_TX Channels' One"
293
+ cset "name='SLIM TX7 MUX' DEC7"
294
+ cset "name='DEC7 MUX' ADC1"
295
+ cset "name='DEC7 Volume' 80"
296
+ cset "name='ADC1 Volume' 100"
297
+ cset "name='MICBIAS1 CAPLESS Switch' 0"
298
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 1"
302
+ cdev "hw:apq8064tablasnd"
304
+ cset "name='MultiMedia1 Mixer SLIM_0_TX' 0"
305
+ cset "name='SLIM TX7 MUX' ZERO"
306
+ cset "name='DEC7 MUX' ZERO"
307
+ cset "name='DEC7 Volume' 0"
308
+ cset "name='ADC1 Volume' 0"
309
+ cset "name='MICBIAS1 CAPLESS Switch' 1"
313
+ #EffectsMixerCTL "SRS TruMedia"
316
+ CaptureChannels "1"
319
diff --git a/src/conf/ucm/apq8064-tabla-snd-card/Makefile.am b/src/conf/ucm/apq8064-tabla-snd-card/Makefile.am
321
index 0000000..71309db
323
+++ b/src/conf/ucm/apq8064-tabla-snd-card/Makefile.am
325
+alsaconfigdir = @ALSA_CONFIG_DIR@
326
+ucmdir = $(alsaconfigdir)/ucm/apq8064-tabla-snd-card
327
+ucm_DATA = apq8064-tabla-snd-card.conf HiFi VoiceCall
328
+EXTRA_DIST = $(ucm_DATA)
329
diff --git a/src/conf/ucm/apq8064-tabla-snd-card/VoiceCall b/src/conf/ucm/apq8064-tabla-snd-card/VoiceCall
331
index 0000000..b96e4a1
333
+++ b/src/conf/ucm/apq8064-tabla-snd-card/VoiceCall
335
+# There is no mixer setup here - it is handled by PulseAudio's audio HAL module.
339
+ cdev "hw:apq8064tablasnd"
340
+ cset "name='MultiMedia1 Mixer SLIM_4_TX' 1"
341
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
345
+ cdev "hw:apq8064tablasnd"
346
+ cset "name='MultiMedia1 Mixer SLIM_4_TX' 0"
347
+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
351
+ CapturePCM "hw:apq8064tablasnd,0"
352
+ PlaybackPCM "hw:apq8064tablasnd,0"
356
+SectionDevice."Earpiece" {
358
+ Comment "Handset Rx device"
361
+ ConflictingDevice [
373
+ #EffectsMixerCTL "SRS TruMedia"
376
+ PlaybackChannels "2"
380
+SectionDevice."Speaker" {
382
+ Comment "Speaker Rx device"
385
+ ConflictingDevice [
397
+ #EffectsMixerCTL "SRS TruMedia"
400
+ PlaybackChannels "2"
404
+SectionDevice."Headphones" {
406
+ Comment "Headset Rx device"
409
+ ConflictingDevice [
421
+ #EffectsMixerCTL "SRS TruMedia"
424
+ PlaybackChannels "2"
428
+SectionDevice."Headset" {
430
+ Comment "Headset Microphone"
433
+ ConflictingDevice [
444
+ #EffectsMixerCTL "SRS TruMedia"
447
+ CaptureChannels "1"
451
+SectionDevice."Handset" {
453
+ Comment "Handset Microphone"
455
+ ConflictingDevice [
466
+ #EffectsMixerCTL "SRS TruMedia"
469
+ CaptureChannels "1"
472
diff --git a/src/conf/ucm/apq8064-tabla-snd-card/apq8064-tabla-snd-card.conf b/src/conf/ucm/apq8064-tabla-snd-card/apq8064-tabla-snd-card.conf
474
index 0000000..a4a7c1c
476
+++ b/src/conf/ucm/apq8064-tabla-snd-card/apq8064-tabla-snd-card.conf
478
+SectionUseCase."HiFi" {
480
+ Comment "Play HiFi quality Music."
482
+SectionUseCase."Voice Call" {
484
+ Comment "Make a phone call"