Skip to content

Commit

Permalink
Merge pull request #258 from lumag/rb5-alsa-ucm-dunfell
Browse files Browse the repository at this point in the history
Update alsa ucm scripts for dunfell
  • Loading branch information
ndechesne authored Feb 17, 2021
2 parents 1764190 + 1041808 commit c3401f3
Show file tree
Hide file tree
Showing 6 changed files with 343 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
From 4cfceb1e257a91cf5c1d29f28d1305607bbf58eb Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <[email protected]>
Date: Wed, 3 Feb 2021 17:13:01 +0100
Subject: [PATCH] ucm2: Separate the configuration lookups (hw based) from the
configuration tree

Introduce ucm2/conf.d/ tree with symlinks to the real hardware configurations.
In this way, we do not rely to create the configuration paths based on
simple driver / device identification, but we can store the configurations
more logically to make the maintenance (code reuse, multiple changes)
more easy.

This commit keeps the older lookup paths active, but they will be
turned off in the next release.

BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/70
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/76
BugLink: https://github.com/alsa-project/alsa-ucm-conf/pull/78
Signed-off-by: Jaroslav Kysela <[email protected]>
---
ucm2/ucm.conf | 40 +++++++++++++++++++++++++++++++++++-----
1 file changed, 35 insertions(+), 5 deletions(-)

diff --git a/ucm2/ucm.conf b/ucm2/ucm.conf
index 9e78df118f83..8577c300e46b 100644
--- a/ucm2/ucm.conf
+++ b/ucm2/ucm.conf
@@ -14,8 +14,9 @@
Syntax 3

Define.V1 "" # non-empty string to enable ucm v1 paths
-Define.V2Module yes # empty string to disable
-Define.V2Name yes # empty string to disable
+Define.V2ConfD yes # empty string to disable
+Define.V2Module yes # non-empty string to enable module name lookups (obsolete)
+Define.V2Name yes # non-empty string to enable driver & card name lookups (obsolete)

If.driver {
Condition {
@@ -40,11 +41,40 @@ If.driver {
#
# The probed path when hw-card is found:
#
- # ucm2/${KernelModule}/${KernelModule}.conf
- # ucm2/${CardDriver}/${CardLongName}.conf
- # ucm2/${CardDriver}/${CardDriver}.conf
+ # ucm2/conf.d/[${CardDriver}|${KernelDriver}]/${CardLongName}.conf
+ # ucm2/conf.d/[${CardDriver}|${KernelDriver}]/[${CardDriver}|${KernelDriver}].conf
+ # ucm2/${KernelModule}/${KernelModule}.conf (obsolete)
+ # ucm2/${CardDriver}/${CardLongName}.conf (obsolete)
+ # ucm2/${CardDriver}/${CardDriver}.conf (obsolete)
#

+ If.V2ConfD {
+ Condition {
+ Type String
+ Empty "${var:V2ConfD}"
+ }
+ False {
+ Define.Driver "${CardDriver}"
+ If.nodrv {
+ Condition {
+ Type String
+ Empty "${var:Driver}"
+ }
+ True.Define {
+ KernelDriverPath "class/sound/card${CardNumber}/device/driver"
+ Driver "${sys:$KernelDriverPath}"
+ }
+ }
+ UseCasePath.confd1 {
+ Directory "conf.d/${var:Driver}"
+ File "${CardLongName}.conf"
+ }
+ UseCasePath.confd2 {
+ Directory "conf.d/${var:Driver}"
+ File "${var:Driver}.conf"
+ }
+ }
+ }
If.V2Module {
Condition {
Type String
--
2.30.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
From 5384a0ec52d2d8fd0bbcdab222b47d0887a058e4 Mon Sep 17 00:00:00 2001
From: Srinivas Kandagatla <[email protected]>
Date: Fri, 20 Nov 2020 12:12:48 +0000
Subject: [PATCH 1/2] ucm2: codecs: lpass: add codec sequences for wsa and va
macro

Add enable/disable codec sequence for Qualcomm Low Power Audio
Subsystem (LPASS) Codec WSA and VA Macros.

Signed-off-by: Srinivas Kandagatla <[email protected]>
---
ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf | 3 +++
ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf | 3 +++
ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf | 8 ++++++++
ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf | 8 ++++++++
4 files changed, 22 insertions(+)
create mode 100644 ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf
create mode 100644 ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf
create mode 100644 ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf
create mode 100644 ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf

diff --git a/ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf b/ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf
new file mode 100644
index 0000000..ec3f45a
--- /dev/null
+++ b/ucm2/codecs/lpass/va-macro/DMIC0DisableSeq.conf
@@ -0,0 +1,5 @@
+DisableSequence [
+ cset "name='VA DMIC MUX0' ZERO"
+ cset "name='VA_DEC0 Volume' 0"
+ cset "name='VA_AIF1_CAP Mixer DEC0' 0"
+]
diff --git a/ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf b/ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf
new file mode 100644
index 0000000..bd6e8f5
--- /dev/null
+++ b/ucm2/codecs/lpass/va-macro/DMIC0EnableSeq.conf
@@ -0,0 +1,5 @@
+EnableSequence [
+ cset "name='VA DMIC MUX0' DMIC0"
+ cset "name='VA_AIF1_CAP Mixer DEC0' 1"
+ cset "name='VA_DEC0 Volume' 100"
+]
diff --git a/ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf b/ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf
new file mode 100644
index 0000000..1f27d4c
--- /dev/null
+++ b/ucm2/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf
@@ -0,0 +1,10 @@
+DisableSequence [
+ cset "name='WSA_RX0 Digital Volume' 0"
+ cset "name='WSA_RX1 Digital Volume' 0"
+ cset "name='WSA_COMP1 Switch' 0"
+ cset "name='WSA_COMP2 Switch' 0"
+ cset "name='WSA_RX0 INP0' ZERO"
+ cset "name='WSA_RX1 INP0' ZERO"
+ cset "name='WSA RX0 MUX' ZERO"
+ cset "name='WSA RX1 MUX' ZERO"
+]
diff --git a/ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf b/ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf
new file mode 100644
index 0000000..618bab4
--- /dev/null
+++ b/ucm2/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf
@@ -0,0 +1,10 @@
+EnableSequence [
+ cset "name='WSA RX0 MUX' AIF1_PB"
+ cset "name='WSA RX1 MUX' AIF1_PB"
+ cset "name='WSA_RX0 INP0' RX0"
+ cset "name='WSA_RX1 INP0' RX1"
+ cset "name='WSA_COMP1 Switch' 1"
+ cset "name='WSA_COMP2 Switch' 1"
+ cset "name='WSA_RX0 Digital Volume' 68"
+ cset "name='WSA_RX1 Digital Volume' 68"
+]
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
From 2957017f9ca01b0e1e127c04ba47e0147bff7e47 Mon Sep 17 00:00:00 2001
From: Dmitry Baryshkov <[email protected]>
Date: Fri, 5 Feb 2021 20:45:40 +0300
Subject: [PATCH] ucm2/conf.d: add symlinks for Qualcomm cards

Add ucm2/conf.d symlinks for all defined Qualcomm sound cards.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
ucm2/conf.d/DB820c/DB820c.conf | 1 +
ucm2/conf.d/DB410c/DB410c.conf | 1 +
ucm2/conf.d/sdm845/DB845c.conf | 1 +
3 files changed, 3 insertions(+)
create mode 120000 ucm2/conf.d/DB820c/DB820c.conf
create mode 120000 ucm2/conf.d/DB410c/DB410c.conf
create mode 120000 ucm2/conf.d/sdm845/DB845c.conf

diff --git a/ucm2/conf.d/DB820c/DB820c.conf b/ucm2/conf.d/DB820c/DB820c.conf
new file mode 120000
index 000000000000..b8ceeabaa70d
--- /dev/null
+++ b/ucm2/conf.d/DB820c/DB820c.conf
@@ -0,0 +1 @@
+../../Qualcomm/apq8096/apq8096.conf
\ No newline at end of file
diff --git a/ucm2/conf.d/DB410c/DB410c.conf b/ucm2/conf.d/DB410c/DB410c.conf
new file mode 120000
index 000000000000..551122e14c16
--- /dev/null
+++ b/ucm2/conf.d/DB410c/DB410c.conf
@@ -0,0 +1 @@
+../../Qualcomm/apq8016-sbc/apq8016-sbc.conf
\ No newline at end of file
diff --git a/ucm2/conf.d/sdm845/DB845c.conf b/ucm2/conf.d/sdm845/DB845c.conf
new file mode 120000
index 000000000000..fad79da8dd8e
--- /dev/null
+++ b/ucm2/conf.d/sdm845/DB845c.conf
@@ -0,0 +1 @@
+../../Qualcomm/sdm845/sdm845.conf
\ No newline at end of file
--
2.30.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
From 382366c1f615613e088982a6c30fc90b3226ae8b Mon Sep 17 00:00:00 2001
From: Srinivas Kandagatla <[email protected]>
Date: Fri, 20 Nov 2020 12:14:31 +0000
Subject: [PATCH 2/2] ucm2: add support to for Qualcomm RB5 Platform

The Qualcomm RB5 Robotics Platform contains HDMI,
2x WSA Smart-Speakers audio outputs along with One
Onboard DMIC audio input.

Signed-off-by: Srinivas Kandagatla <[email protected]>
---
ucm2/Qualcomm/sm8250/HDMI.conf | 26 ++++++++++++
ucm2/Qualcomm/sm8250/HiFi.conf | 46 ++++++++++++++++++++++
.../Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf | 11 ++++++
ucm2/conf.d/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf | 1 +
4 files changed, 84 insertions(+)
create mode 100644 ucm2/Qualcomm/sm8250/HDMI.conf
create mode 100644 ucm2/Qualcomm/sm8250/HiFi.conf
create mode 100644 ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
create mode 120000 ucm2/conf.d/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf

diff --git a/ucm2/Qualcomm/sm8250/HDMI.conf b/ucm2/Qualcomm/sm8250/HDMI.conf
new file mode 100644
index 0000000..a9594fd
--- /dev/null
+++ b/ucm2/Qualcomm/sm8250/HDMI.conf
@@ -0,0 +1,26 @@
+# Use case configuration for RB5 board.
+# Author: Srinivas Kandagatla <[email protected]>
+
+SectionVerb {
+ EnableSequence [
+ cset "name='TERT_MI2S_RX Audio Mixer MultiMedia1' 1"
+ ]
+
+ DisableSequence [
+ cset "name='TERT_MI2S_RX Audio Mixer MultiMedia1' 0"
+ ]
+
+ Value {
+ TQ "HiFi"
+ }
+}
+
+SectionDevice."HDMI" {
+ #Name "HDMI"
+ Comment "HDMI Digital Stereo Output"
+
+ Value {
+ PlaybackPCM "hw:${CardId}"
+ PlaybackPriority 200
+ }
+}
diff --git a/ucm2/Qualcomm/sm8250/HiFi.conf b/ucm2/Qualcomm/sm8250/HiFi.conf
new file mode 100644
index 0000000..a310402
--- /dev/null
+++ b/ucm2/Qualcomm/sm8250/HiFi.conf
@@ -0,0 +1,46 @@
+# Use case configuration for Qualcomm RB5.
+# Author: Srinivas Kandagatla <[email protected]>
+
+SectionVerb {
+
+ EnableSequence [
+ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 1"
+ cset "name='MultiMedia3 Mixer VA_CODEC_DMA_TX_0' 1"
+ ]
+
+ Include.wsae.File "/codecs/wsa881x/DefaultEnableSeq.conf"
+
+ DisableSequence [
+ cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 0"
+ cset "name='MultiMedia3 Mixer VA_CODEC_DMA_TX_0' 0"
+ ]
+
+ Value {
+ TQ "HiFi"
+ }
+}
+
+SectionDevice."Speaker" {
+ Comment "Speaker playback"
+
+ Include.lpasswsae.File "/codecs/lpass/wsa-macro/SpeakerEnableSeq.conf"
+ Include.wsae.File "/codecs/wsa881x/SpeakerEnableSeq.conf"
+ Include.wsad.File "/codecs/wsa881x/SpeakerDisableSeq.conf"
+ Include.lpasswsad.File "/codecs/lpass/wsa-macro/SpeakerDisableSeq.conf"
+
+ Value {
+ PlaybackPriority 100
+ PlaybackPCM "hw:${CardId},1"
+ }
+}
+
+SectionDevice."Mic" {
+ Comment "Mic"
+ Include.lpassvad.File "/codecs/lpass/va-macro/DMIC0EnableSeq.conf"
+ Include.lpassvad.File "/codecs/lpass/va-macro/DMIC0DisableSeq.conf"
+
+ Value {
+ CapturePriority 100
+ CapturePCM "hw:${CardId},2"
+ }
+}
diff --git a/ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf b/ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
new file mode 100644
index 0000000..2fbca31
--- /dev/null
+++ b/ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
@@ -0,0 +1,11 @@
+Syntax 3
+
+SectionUseCase."HiFi" {
+ File "/Qualcomm/sm8250/HiFi.conf"
+ Comment "HiFi quality Music."
+}
+
+SectionUseCase."HDMI" {
+ File "/Qualcomm/sm8250/HDMI.conf"
+ Comment "HDMI output."
+}
diff --git a/ucm2/conf.d/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf b/ucm2/conf.d/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
new file mode 120000
index 000000000000..9f551b74ebf2
--- /dev/null
+++ b/ucm2/conf.d/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
@@ -0,0 +1 @@
+../../Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf
\ No newline at end of file
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"

SRC_URI_append_qcom = "\
file://0001-ucm2-Separate-the-configuration-lookups-hw-based-fro.patch \
file://0001-ucm2-conf.d-add-symlinks-for-Qualcomm-cards.patch \
file://0001-ucm2-codecs-lpass-add-codec-sequences-for-wsa-and-va.patch \
file://0002-ucm2-add-support-to-for-Qualcomm-RB5-Platform.patch \
"

0 comments on commit c3401f3

Please sign in to comment.