From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: <perex@perex.cz>
Cc: <pierre-louis.bossart@linux.intel.com>, <bard.liao@intel.com>,
<patches@opensource.cirrus.com>, <alsa-devel@alsa-project.org>
Subject: [PATCH 2/2] sof-soundwire: Add support for cs42l43/cs35l56 bridge configuration
Date: Mon, 10 Jun 2024 16:31:24 +0100 [thread overview]
Message-ID: <20240610153124.1329052-2-ckeepax@opensource.cirrus.com> (raw)
In-Reply-To: <20240610153124.1329052-1-ckeepax@opensource.cirrus.com>
The cs42l43 has both a SPI master and an I2S interface, in some
configurations 2 cs35l56 amplifiers are connected to these to provide
bass speakers whilst the cs42l43's internal speaker drivers are used for
the tweeters. Add UCM configuration for this type of system.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
---
ucm2/sof-soundwire/cs35l56-bridge.conf | 61 ++++++++++++++++++++++++++
ucm2/sof-soundwire/sof-soundwire.conf | 2 +-
2 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 ucm2/sof-soundwire/cs35l56-bridge.conf
diff --git a/ucm2/sof-soundwire/cs35l56-bridge.conf b/ucm2/sof-soundwire/cs35l56-bridge.conf
new file mode 100644
index 0000000..6fafc80
--- /dev/null
+++ b/ucm2/sof-soundwire/cs35l56-bridge.conf
@@ -0,0 +1,61 @@
+# Use case Configuration for sof-soundwire card
+
+LibraryConfig.remap.Config {
+ ctl.default.map {
+ "name='cs42l43 Bridge Switch'" {
+ "name='AMPL Speaker Switch'".vindex.0 0
+ "name='AMPR Speaker Switch'".vindex.1 0
+ }
+ "name='cs42l43 Bridge Volume'" {
+ "name='AMPL Speaker Volume'".vindex.0 0
+ "name='AMPR Speaker Volume'".vindex.1 0
+ }
+ }
+}
+
+SectionDevice."Speaker" {
+ Comment "Speaker"
+
+ ConflictingDevice [
+ "Headphones"
+ ]
+
+ EnableSequence [
+ cset "name='cs42l43 Speaker L Input 1' 'ASPRX1'"
+ cset "name='cs42l43 Speaker R Input 1' 'ASPRX2'"
+ cset "name='cs42l43 ASPTX1 Input' 'DP5RX1'"
+ cset "name='cs42l43 ASPTX2 Input' 'DP5RX2'"
+
+ cset "name='AMPL ASP1 TX1 Source' 'DSP1TX1'"
+ cset "name='AMPL ASP1 TX2 Source' 'None'"
+ cset "name='AMPL ASP1 TX3 Source' 'None'"
+ cset "name='AMPL ASP1 TX4 Source' 'None'"
+
+ cset "name='AMPR ASP1 TX1 Source' 'None'"
+ cset "name='AMPR ASP1 TX2 Source' 'DSP1TX1'"
+ cset "name='AMPR ASP1 TX3 Source' 'None'"
+ cset "name='AMPR ASP1 TX4 Source' 'None'"
+
+ cset "name='cs42l43 Speaker Digital Switch' 1"
+ cset "name='cs42l43 Speaker Digital Volume' 128"
+ ]
+
+ DisableSequence [
+ cset "name='cs42l43 Speaker Digital Switch' 0"
+
+ cset "name='AMPL ASP1 TX2 Source' 'None'"
+ cset "name='AMPR ASP1 TX1 Source' 'None'"
+
+ cset "name='cs42l43 ASPTX1 Input' 'None'"
+ cset "name='cs42l43 ASPTX2 Input' 'None'"
+ cset "name='cs42l43 Speaker L Input 1' 'None'"
+ cset "name='cs42l43 Speaker R Input 1' 'None'"
+ ]
+
+ Value {
+ PlaybackPriority 100
+ PlaybackPCM "hw:${CardId},0"
+ PlaybackMixer "default:${CardId}"
+ PlaybackMixerElem "cs42l43 Bridge"
+ }
+}
diff --git a/ucm2/sof-soundwire/sof-soundwire.conf b/ucm2/sof-soundwire/sof-soundwire.conf
index 2f61d11..2ede1cd 100644
--- a/ucm2/sof-soundwire/sof-soundwire.conf
+++ b/ucm2/sof-soundwire/sof-soundwire.conf
@@ -21,7 +21,7 @@ Define {
DefineRegex {
SpeakerCodec {
- Regex " spk:([a-z0-9]+((-sdca)|(-spk))?)"
+ Regex " spk:([a-z0-9]+((-sdca)|(-spk)|(-bridge))?)"
String "${CardComponents}"
}
SpeakerChannels {
--
2.39.2
prev parent reply other threads:[~2024-06-10 15:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-10 15:31 [PATCH 1/2] sof-soundwire: Add missing match for cs42l43 speakers Charles Keepax
2024-06-10 15:31 ` Charles Keepax [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240610153124.1329052-2-ckeepax@opensource.cirrus.com \
--to=ckeepax@opensource.cirrus.com \
--cc=alsa-devel@alsa-project.org \
--cc=bard.liao@intel.com \
--cc=patches@opensource.cirrus.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox