From c0d12c7434d11f786fee25ddba268d369326ef3c Mon Sep 17 00:00:00 2001 From: Srinivas Kandagatla Date: Fri, 22 Apr 2016 19:11:20 +0200 Subject: [PATCH] ucm: Add ucm files for DB410c board. DB410c board has support for both Digital and Analog audio. Digital audio is over HDMI and analog is over codec chip integrated inside the APQ8016 SOC. It can support: - 3 Microphones: Primary Mic(Handset mic), Headset Mic and Secondary - 2 Digital Microphones. - Earpiece. - Headset. - Loud Speaker. - HDMI. Signed-off-by: Srinivas Kandagatla Signed-off-by: Nicolas Dechesne --- configure.ac | 1 + src/conf/ucm/DB410c/DB410c.conf | 8 +++ src/conf/ucm/DB410c/HDMI | 31 +++++++++ src/conf/ucm/DB410c/HiFi | 150 ++++++++++++++++++++++++++++++++++++++++ src/conf/ucm/DB410c/Makefile.am | 4 ++ src/conf/ucm/Makefile.am | 2 +- 6 files changed, 195 insertions(+), 1 deletion(-) create mode 100644 src/conf/ucm/DB410c/DB410c.conf create mode 100644 src/conf/ucm/DB410c/HDMI create mode 100644 src/conf/ucm/DB410c/HiFi create mode 100644 src/conf/ucm/DB410c/Makefile.am Index: alsa-lib-1.1.2/src/conf/ucm/DB410c/DB410c.conf =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ alsa-lib-1.1.2/src/conf/ucm/DB410c/DB410c.conf 2016-08-24 16:10:19.002086888 +0100 @@ -0,0 +1,8 @@ +SectionUseCase."HiFi" { + File "HiFi" + Comment "Play HiFi quality Music." +} +SectionUseCase."HDMI" { + File "HDMI" + Comment "HDMI output." +} Index: alsa-lib-1.1.2/src/conf/ucm/DB410c/HDMI =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ alsa-lib-1.1.2/src/conf/ucm/DB410c/HDMI 2016-08-24 16:10:19.002086888 +0100 @@ -0,0 +1,31 @@ +# Use case configuration for DB410c board. +# Author: Srinivas Kandagatla + +SectionVerb { + EnableSequence [ + ] + + DisableSequence [ + ] + Value { + TQ "HiFi" + PlaybackPCM "plughw:0,0" + } +} + +SectionDevice."HDMI-stereo" { + #Name "HDMI-stereo" + Comment "HDMI Digital Stereo Output" + + EnableSequence [ + cdev "hw:0" + ] + + DisableSequence [ + cdev "hw:0" + ] + + Value { + PlaybackChannels "2" + } +} Index: alsa-lib-1.1.2/src/conf/ucm/DB410c/HiFi =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ alsa-lib-1.1.2/src/conf/ucm/DB410c/HiFi 2016-08-24 16:10:19.002086888 +0100 @@ -0,0 +1,150 @@ +# Use case configuration for DB410c board. +# Author: Srinivas Kandagatla + +SectionVerb { + + EnableSequence [ + ] + + DisableSequence [ + ] + + # ALSA PCM + Value { + # ALSA PCM device for HiFi + PlaybackPCM "plughw:0,1" + CapturePCM "plughw:0,2" + } +} + + +SectionDevice."Speaker" { + Comment "Speaker playback" + + ConflictingDevice [ + "Headphones" + "Earpiece" + ] + + EnableSequence [ + cdev "hw:0" + cset "name='SPK DAC Switch' 1" + cset "name='RX3 MIX1 INP1' RX1" + ] + + DisableSequence [ + cdev "hw:0" + cset "name='SPK DAC Switch' 0" + ##HACK for now + cset "name='RX3 MIX1 INP1' 5" + ] + + Value { + PlaybackChannels "2" + } +} + + +SectionDevice."Headphones" { + Comment "Headphones playback" + + ConflictingDevice [ + "Speaker" + "Earpiece" + ] + EnableSequence [ + cdev "hw:0" + cset "name='RX1 MIX1 INP1' RX1" + cset "name='RX2 MIX1 INP1' RX2" + cset "name='RX1 Digital Volume' 60" + cset "name='RX2 Digital Volume' 60" + cset "name='RDAC2 MUX' RX2" + cset "name='SPK DAC Switch' 1" + ] + + DisableSequence [ + cdev "hw:0" + cset "name='RX1 Digital Volume' 0" + cset "name='RX2 Digital Volume' 0" + ] + + Value { + PlaybackChannels "2" + } +} + +SectionDevice."Earpiece" { + Comment "Earpiece playback" + + ConflictingDevice [ + "Speaker" + "Headphones" + ] + EnableSequence [ + cdev "hw:0" + ] + + DisableSequence [ + cdev "hw:0" + ] + + Value { + PlaybackChannels "2" + } +} + +SectionDevice."Handset" { + Comment "Headset Microphone" + + EnableSequence [ + cdev "hw:0" + cset "name='DEC1 MUX' ADC2" + cset "name='ADC2 Volume' 70" + cset "name='ADC2 MUX' INP2" + ] + + DisableSequence [ + cdev "hw:0" + ] + + Value { + CaptureChannels "2" + } +} + +SectionDevice."Secondarymic" { + Comment "Secondary Microphone" + + EnableSequence [ + cdev "hw:0" + cset "name='DEC1 MUX' ADC2" + cset "name='ADC2 Volume' 80" + cset "name='ADC2 MUX' INP3" + ] + + DisableSequence [ + cdev "hw:0" + ] + + Value { + CaptureChannels "2" + } +} +SectionDevice."DMIC" { + Comment "Digital Microphone" + + EnableSequence [ + cdev "hw:0" + cset "name='DEC1 MUX' DMIC1" + ] + + DisableSequence [ + cdev "hw:0" + ] + + Value { + CaptureChannels "2" + } +} + + Index: alsa-lib-1.1.2/src/conf/ucm/DB410c/Makefile.am =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ alsa-lib-1.1.2/src/conf/ucm/DB410c/Makefile.am 2016-08-24 16:10:19.002086888 +0100 @@ -0,0 +1,4 @@ +alsaconfigdir = @ALSA_CONFIG_DIR@ +ucmdir = $(alsaconfigdir)/ucm/DB410c +ucm_DATA = DB410c.conf HDMI HiFi +EXTRA_DIST = $(ucm_DATA) Index: alsa-lib-1.1.2/src/conf/ucm/Makefile.am =================================================================== --- alsa-lib-1.1.2.orig/src/conf/ucm/Makefile.am 2016-08-24 16:10:19.002086888 +0100 +++ alsa-lib-1.1.2/src/conf/ucm/Makefile.am 2016-08-24 16:12:02.004690639 +0100 @@ -1 +1 @@ -SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 VEYRON-I2S chtrt5645 +SUBDIRS=DAISY-I2S PandaBoard PandaBoardES SDP4430 tegraalc5632 PAZ00 GoogleNyan broadwell-rt286 VEYRON-I2S chtrt5645 DB410c Index: alsa-lib-1.1.2/configure.ac =================================================================== --- alsa-lib-1.1.2.orig/configure.ac 2016-08-24 16:10:19.002086888 +0100 +++ alsa-lib-1.1.2/configure.ac 2016-08-24 16:13:12.698478003 +0100 @@ -678,6 +678,7 @@ src/conf/ucm/broadwell-rt286/Makefile \ src/conf/ucm/VEYRON-I2S/Makefile \ src/conf/ucm/chtrt5645/Makefile \ + src/conf/ucm/DB410c/Makefile \ src/conf/topology/Makefile \ src/conf/topology/broadwell/Makefile \ modules/Makefile modules/mixer/Makefile modules/mixer/simple/Makefile \