new file mode 100644
@@ -0,0 +1,14 @@
+# cs42l43 specific control settings
+
+LibraryConfig.remap.Config {
+ ctl.default.map {
+ "name='cs42l43 PDM2 Switch'" {
+ "name='cs42l43 Decimator 3 Switch'".vindex.0 0
+ "name='cs42l43 Decimator 4 Switch'".vindex.1 0
+ }
+ "name='cs42l43 PDM2 Volume'" {
+ "name='cs42l43 Decimator 3 Volume'".vindex.0 0
+ "name='cs42l43 Decimator 4 Volume'".vindex.1 0
+ }
+ }
+}
new file mode 100644
@@ -0,0 +1,26 @@
+# Use case Configuration for sof-soundwire card
+
+SectionDevice."Mic" {
+ Comment "Microphones"
+
+ ConflictingDevice [
+ "Headset"
+ ]
+
+ EnableSequence [
+ cset "name='cs42l43 DP1TX1 Input' 'Decimator 3'"
+ cset "name='cs42l43 DP1TX2 Input' 'Decimator 4'"
+ ]
+
+ DisableSequence [
+ cset "name='cs42l43 DP1TX1 Input' 'None'"
+ cset "name='cs42l43 DP1TX2 Input' 'None'"
+ ]
+
+ Value {
+ CapturePriority 100
+ CapturePCM "hw:${CardId},4"
+ CaptureMixer "default:${CardId}"
+ CaptureMixerElem "cs42l43 PDM2"
+ }
+}
new file mode 100644
@@ -0,0 +1,46 @@
+# Use case Configuration for sof-soundwire card
+
+SectionDevice."Headphones" {
+ Comment "Headphones"
+
+ EnableSequence [
+ cset "name='cs42l43 Headphone L Input 1' 'DP5RX1'"
+ cset "name='cs42l43 Headphone R Input 1' 'DP5RX2'"
+ ]
+
+ DisableSequence [
+ cset "name='cs42l43 Headphone L Input 1' 'None'"
+ cset "name='cs42l43 Headphone R Input 1' 'None'"
+ ]
+
+ Value {
+ PlaybackPriority 200
+ PlaybackPCM "hw:${CardId},0"
+ PlaybackVolume "cs42l43 Headphone Digital Volume"
+ JackControl "Headphone Jack"
+ }
+}
+
+SectionDevice."Headset" {
+ Comment "Headset Microphone"
+
+ EnableSequence [
+ cset "name='cs42l43 ADC1 Input' 'IN1'"
+ cset "name='cs42l43 Decimator 1 Mode' 'ADC'"
+
+ cset "name='cs42l43 DP1TX1 Input' 'Decimator 1'"
+ cset "name='cs42l43 DP1TX2 Input' 'Decimator 1'"
+ ]
+
+ DisableSequence [
+ cset "name='cs42l43 DP1TX1 Input' 'None'"
+ cset "name='cs42l43 DP1TX2 Input' 'None'"
+ ]
+
+ Value {
+ CapturePriority 200
+ CapturePCM "hw:${CardId},4"
+ CaptureMixerElem "cs42l43 Decimator 1"
+ JackControl "Headset Mic Jack"
+ }
+}
@@ -47,7 +47,7 @@ DefineRegex {
If.hs_init {
Condition {
Type RegexMatch
- Regex "(rt5682|rt700|rt711|rt713(-sdca)?)"
+ Regex "(cs42l43|rt5682|rt700|rt711|rt713(-sdca)?)"
String "${var:HeadsetCodec1}"
}
True.Include.hs_init.File "/codecs/${var:HeadsetCodec1}/init.conf"
cs42l43 is a codec device, add basic support for it. Including a dual channel DMIC input, stereo headphones, and a mono headset microphone. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> --- No changes just a resend of v4. Thanks, Charles ucm2/codecs/cs42l43/init.conf | 14 ++++++++ ucm2/sof-soundwire/cs42l43-dmic.conf | 26 +++++++++++++++ ucm2/sof-soundwire/cs42l43.conf | 46 +++++++++++++++++++++++++++ ucm2/sof-soundwire/sof-soundwire.conf | 2 +- 4 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 ucm2/codecs/cs42l43/init.conf create mode 100644 ucm2/sof-soundwire/cs42l43-dmic.conf create mode 100644 ucm2/sof-soundwire/cs42l43.conf