From 7071786bbc976df7cf574e56b47f2b8c32e59124 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 6 Dec 2023 15:53:38 +0100 Subject: [PATCH] ucm2: sof-soundwire: Use one file for speaker codec initialization Use macros to minimize configuration blocks. Signed-off-by: Jaroslav Kysela --- ucm2/sof-soundwire/HiFi.conf | 2 +- ucm2/sof-soundwire/rt1308-1.conf | 22 ----------- ucm2/sof-soundwire/rt1308-2.conf | 29 --------------- ucm2/sof-soundwire/rt1308.conf | 44 ++++++++++++++++++++++ ucm2/sof-soundwire/rt1316-1.conf | 41 --------------------- ucm2/sof-soundwire/rt1316-2.conf | 51 -------------------------- ucm2/sof-soundwire/rt1316.conf | 63 ++++++++++++++++++++++++++++++++ ucm2/sof-soundwire/rt1318-1.conf | 20 ---------- ucm2/sof-soundwire/rt1318-2.conf | 25 ------------- ucm2/sof-soundwire/rt1318.conf | 42 +++++++++++++++++++++ 10 files changed, 150 insertions(+), 189 deletions(-) delete mode 100644 ucm2/sof-soundwire/rt1308-1.conf delete mode 100644 ucm2/sof-soundwire/rt1308-2.conf create mode 100644 ucm2/sof-soundwire/rt1308.conf delete mode 100644 ucm2/sof-soundwire/rt1316-1.conf delete mode 100644 ucm2/sof-soundwire/rt1316-2.conf create mode 100644 ucm2/sof-soundwire/rt1316.conf delete mode 100644 ucm2/sof-soundwire/rt1318-1.conf delete mode 100644 ucm2/sof-soundwire/rt1318-2.conf create mode 100644 ucm2/sof-soundwire/rt1318.conf diff --git a/ucm2/sof-soundwire/HiFi.conf b/ucm2/sof-soundwire/HiFi.conf index a8c1e331..ffea077c 100644 --- a/ucm2/sof-soundwire/HiFi.conf +++ b/ucm2/sof-soundwire/HiFi.conf @@ -13,7 +13,7 @@ If.spkdev { Type String Empty "${var:SpeakerCodec1}" } - False.Include.spkdev.File "/sof-soundwire/${var:SpeakerCodec1}-${var:SpeakerAmps1}.conf" + False.Include.spkdev.File "/sof-soundwire/${var:SpeakerCodec1}.conf" } If.micdev { diff --git a/ucm2/sof-soundwire/rt1308-1.conf b/ucm2/sof-soundwire/rt1308-1.conf deleted file mode 100644 index 6da5b7e3..00000000 --- a/ucm2/sof-soundwire/rt1308-1.conf +++ /dev/null @@ -1,22 +0,0 @@ -# Use case Configuration for sof-soundwire card - -SectionDevice."Speaker" { - Comment "Speaker" - - EnableSequence [ - cset "name='rt1308-1 DAC L Switch' 1" - cset "name='rt1308-1 DAC R Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1308-1 DAC L Switch' 0" - cset "name='rt1308-1 DAC R Switch' 0" - cset "name='Speaker Switch' off" - ] - - Value { - PlaybackPriority 100 - PlaybackPCM "hw:${CardId},2" - } -} diff --git a/ucm2/sof-soundwire/rt1308-2.conf b/ucm2/sof-soundwire/rt1308-2.conf deleted file mode 100644 index f88cb819..00000000 --- a/ucm2/sof-soundwire/rt1308-2.conf +++ /dev/null @@ -1,29 +0,0 @@ -# Use case Configuration for sof-soundwire card - -SectionDevice."Speaker" { - Comment "Speaker" - - EnableSequence [ - cset "name='rt1308-1 RX Channel Select' LL" - cset "name='rt1308-2 RX Channel Select' RR" - - cset "name='rt1308-1 DAC L Switch' 1" - cset "name='rt1308-1 DAC R Switch' 1" - cset "name='rt1308-2 DAC L Switch' 1" - cset "name='rt1308-2 DAC R Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1308-1 DAC L Switch' 0" - cset "name='rt1308-1 DAC R Switch' 0" - cset "name='rt1308-2 DAC L Switch' 0" - cset "name='rt1308-2 DAC R Switch' 0" - cset "name='Speaker Switch' off" - ] - - Value { - PlaybackPriority 100 - PlaybackPCM "hw:${CardId},2" - } -} diff --git a/ucm2/sof-soundwire/rt1308.conf b/ucm2/sof-soundwire/rt1308.conf new file mode 100644 index 00000000..27eecb57 --- /dev/null +++ b/ucm2/sof-soundwire/rt1308.conf @@ -0,0 +1,44 @@ +# Use case Configuration for sof-soundwire card + +# +# Arguments: +# Codec - codec number (1,2 etc.) +# Channel - channel selection (LR, LL, RL, RR) +# +DefineMacro.rt1308spk { + EnableSequence [ + cset cset "name='rt1308-${var:__Num} RX Channel Select' ${var:__Channel}" + cset "name='rt1308-${var:__Num} DAC L Switch' 1" + cset "name='rt1308-${var:__Num} DAC R Switch' 1" + ] + DisableSequence [ + cset "name='rt1308-${var:__Num} DAC L Switch' 0" + cset "name='rt1308-${var:__Num} DAC R Switch' 0" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Macro.num1.rt1308spk { Codec 1 Channel LL } + + Condition { + Type String + Haystack "${var:SpeakerAmps1}" + Needle "2" + } + True.Macro.num2.rt1308spk { Codec 2 Channel RR } + + EnableSequence [ + cset "name='Speaker Switch' on" + ] + + DisableSequence [ + cset "name='Speaker Switch' off" + ] + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},2" + } +} diff --git a/ucm2/sof-soundwire/rt1316-1.conf b/ucm2/sof-soundwire/rt1316-1.conf deleted file mode 100644 index aa277dd2..00000000 --- a/ucm2/sof-soundwire/rt1316-1.conf +++ /dev/null @@ -1,41 +0,0 @@ -# Use case Configuration for sof-soundwire card - -SectionDevice."Speaker" { - Comment "Speaker" - - If.lrswitch { - Condition { - Type ControlExists - Control "name='rt1316-1 DAC L Switch'" - } - True { - EnableSequence [ - cset "name='rt1316-1 DAC L Switch' 1" - cset "name='rt1316-1 DAC R Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1316-1 DAC L Switch' 0" - cset "name='rt1316-1 DAC R Switch' 0" - cset "name='Speaker Switch' off" - ] - } - False { - EnableSequence [ - cset "name='rt1316-1 DAC Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1316-1 DAC Switch' 0" - cset "name='Speaker Switch' off" - ] - } - } - - Value { - PlaybackPriority 100 - PlaybackPCM "hw:${CardId},2" - } -} diff --git a/ucm2/sof-soundwire/rt1316-2.conf b/ucm2/sof-soundwire/rt1316-2.conf deleted file mode 100644 index 94223e1f..00000000 --- a/ucm2/sof-soundwire/rt1316-2.conf +++ /dev/null @@ -1,51 +0,0 @@ -# Use case Configuration for sof-soundwire card - -SectionDevice."Speaker" { - Comment "Speaker" - - If.lrswitch { - Condition { - Type ControlExists - Control "name='rt1316-1 DAC L Switch'" - } - True { - EnableSequence [ - cset "name='rt1316-1 RX Channel Select' L,L" - cset "name='rt1316-2 RX Channel Select' R,R" - cset "name='rt1316-1 DAC L Switch' 1" - cset "name='rt1316-1 DAC R Switch' 1" - cset "name='rt1316-2 DAC L Switch' 1" - cset "name='rt1316-2 DAC R Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1316-1 DAC L Switch' 0" - cset "name='rt1316-1 DAC R Switch' 0" - cset "name='rt1316-2 DAC L Switch' 0" - cset "name='rt1316-2 DAC R Switch' 0" - cset "name='Speaker Switch' off" - ] - } - False { - EnableSequence [ - cset "name='rt1316-1 RX Channel Select' L,L" - cset "name='rt1316-2 RX Channel Select' R,R" - cset "name='rt1316-1 DAC Switch' 1" - cset "name='rt1316-2 DAC Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1316-1 DAC Switch' 0" - cset "name='rt1316-2 DAC Switch' 0" - cset "name='Speaker Switch' off" - ] - } - } - - Value { - PlaybackPriority 100 - PlaybackPCM "hw:${CardId},2" - } -} diff --git a/ucm2/sof-soundwire/rt1316.conf b/ucm2/sof-soundwire/rt1316.conf new file mode 100644 index 00000000..53e669fe --- /dev/null +++ b/ucm2/sof-soundwire/rt1316.conf @@ -0,0 +1,63 @@ +# Use case Configuration for sof-soundwire card + +# +# Arguments: +# Codec - codec number (1,2 etc.) +# Channel - channel selection (L,R;L,L;L,R;L,L+R;R,L;R,R;R,L+R;L+R,L;L+R,R;L+R,L+R) +) +# +DefineMacro.rt1316spk { + EnableSequence [ + cset cset "name='rt1316-${var:__Num} RX Channel Select' ${var:__Channel}" + ] + If.lrswitch { + Condition { + Type ControlExists + Control "name='rt1316-${var:__Num} DAC L Switch'" + } + True { + EnableSequence [ + cset "name='rt1316-${var:__Num} DAC L Switch' 1" + cset "name='rt1316-${var:__Num} DAC R Switch' 1" + ] + DisableSequence [ + cset "name='rt1316-${var:__Num} DAC L Switch' 0" + cset "name='rt1316-${var:__Num} DAC R Switch' 0" + ] + } + False { + EnableSequence [ + cset "name='rt1316-1 DAC Switch' 1" + ] + + DisableSequence [ + cset "name='rt1316-1 DAC Switch' 0" + ] + } + } +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Macro.num1.rt1316spk { Codec 1 Channel "L,L" } + Condition { + Type String + Haystack "${var:SpeakerAmps1}" + Needle "2" + } + True.Macro.num2.rt1316spk { Codec 2 Channel "R,R" } + + EnableSequence [ + cset "name='Speaker Switch' on" + ] + + DisableSequence [ + cset "name='Speaker Switch' off" + ] + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},2" + } +} diff --git a/ucm2/sof-soundwire/rt1318-1.conf b/ucm2/sof-soundwire/rt1318-1.conf deleted file mode 100644 index 13d77e1c..00000000 --- a/ucm2/sof-soundwire/rt1318-1.conf +++ /dev/null @@ -1,20 +0,0 @@ -# Use case Configuration for sof-soundwire card - -SectionDevice."Speaker" { - Comment "Speaker" - - EnableSequence [ - cset "name='rt1318-1 DAC Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1318-1 DAC Switch' 0" - cset "name='Speaker Switch' off" - ] - - Value { - PlaybackPriority 100 - PlaybackPCM "hw:${CardId},2" - } -} diff --git a/ucm2/sof-soundwire/rt1318-2.conf b/ucm2/sof-soundwire/rt1318-2.conf deleted file mode 100644 index 56024704..00000000 --- a/ucm2/sof-soundwire/rt1318-2.conf +++ /dev/null @@ -1,25 +0,0 @@ -# Use case Configuration for sof-soundwire card - -SectionDevice."Speaker" { - Comment "Speaker" - - EnableSequence [ - cset "name='rt1318-1 RX Channel Select' L,L" - cset "name='rt1318-2 RX Channel Select' R,R" - - cset "name='rt1318-1 DAC Switch' 1" - cset "name='rt1318-2 DAC Switch' 1" - cset "name='Speaker Switch' on" - ] - - DisableSequence [ - cset "name='rt1318-1 DAC Switch' 0" - cset "name='rt1318-2 DAC Switch' 0" - cset "name='Speaker Switch' off" - ] - - Value { - PlaybackPriority 100 - PlaybackPCM "hw:${CardId},2" - } -} diff --git a/ucm2/sof-soundwire/rt1318.conf b/ucm2/sof-soundwire/rt1318.conf new file mode 100644 index 00000000..49a35cb3 --- /dev/null +++ b/ucm2/sof-soundwire/rt1318.conf @@ -0,0 +1,42 @@ +# Use case Configuration for sof-soundwire card + +# +# Arguments: +# Codec - codec number (1,2 etc.) +# Channel - channel selection (L,R;L,L;L,R;L,L+R;R,L;R,R;R,L+R;L+R,L;L+R,R;L+R,L+R) +# +DefineMacro.rt1318spk { + EnableSequence [ + cset cset "name='rt1308-${var:__Num} RX Channel Select' ${var:__Channel}" + cset "name='rt1308-${var:__Num} DAC Switch' 1" + ] + DisableSequence [ + cset "name='rt1308-${var:__Num} DAC Switch' 0" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Macro.num1.rt1318spk { Codec 1 Channel "L,L" } + + Condition { + Type String + Haystack "${var:SpeakerAmps1}" + Needle "2" + } + True.Macro.num2.rt1318spk { Codec 2 Channel "R,R" } + + EnableSequence [ + cset "name='Speaker Switch' on" + ] + + DisableSequence [ + cset "name='Speaker Switch' off" + ] + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},2" + } +}