]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
ucm2: Support acp3xalc5682m98 on Chromebook "zork"
authorAkihiko Odaki <akihiko.odaki@gmail.com>
Mon, 4 Apr 2022 12:00:41 +0000 (21:00 +0900)
committerJaroslav Kysela <perex@perex.cz>
Mon, 3 Oct 2022 08:29:33 +0000 (10:29 +0200)
Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/146
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/AMD/acp3xalc5682m98/HiFi.conf [new file with mode: 0644]
ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.conf [new file with mode: 0644]
ucm2/conf.d/acp3xalc5682m98/acp3xalc5682m98.conf [new symlink]

diff --git a/ucm2/AMD/acp3xalc5682m98/HiFi.conf b/ucm2/AMD/acp3xalc5682m98/HiFi.conf
new file mode 100644 (file)
index 0000000..97e4294
--- /dev/null
@@ -0,0 +1,134 @@
+If.jelboz {
+       Condition {
+               Type RegexMatch
+               Regex "^(Jelboz|Jelboz360|Shuboz)$"
+               String "${sys:devices/virtual/dmi/id/product_name}"
+       }
+       True.Define.volume 3
+       False.Define.volume 2
+}
+
+SectionVerb {
+       EnableSequence [
+               cset "name='Headphone Jack Switch' off"
+               cset "name='HPOL Playback Switch' off"
+               cset "name='HPOR Playback Switch' off"
+               cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0"
+               cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0"
+               cset "name='Stereo1 ADC L Mux' 0"
+               cset "name='STO1 ADC Capture Switch' on"
+               cset "name='RECMIX1L CBJ Switch' 1"
+               cset "name='IF1 01 ADC Swap Mux' 2"
+               cset "name='CBJ Boost Volume' ${var:volume}"
+               cset "name='Stereo1 ADC L1 Mux' 1"
+               cset "name='Stereo1 ADC R1 Mux' 1"
+               cset "name='Stereo1 ADC MIXL ADC2 Switch' 0"
+               cset "name='Stereo1 ADC MIXR ADC2 Switch' 0"
+               cset "name='Stereo1 ADC MIXL ADC1 Switch' 1"
+               cset "name='Stereo1 ADC MIXR ADC1 Switch' 1"
+       ]
+}
+
+SectionDevice."Speaker" {
+       Comment "Speaker"
+       Value {
+               PlaybackPCM "hw:${CardId},1"
+       }
+       EnableSequence [
+               cset "name='Spk Switch' on"
+       ]
+       DisableSequence [
+               cset "name='Spk Switch' off"
+       ]
+}
+
+SectionDevice."Headphones" {
+       Comment "Headphones"
+       Value {
+               PlaybackPCM "hw:${CardId},0"
+               PlaybackMixerElem "DAC1"
+       }
+       EnableSequence [
+               cset "name='Headphone Jack Switch' on"
+               cset "name='HPOL Playback Switch' 1"
+               cset "name='HPOR Playback Switch' 1"
+       ]
+       DisableSequence [
+               cset "name='Headphone Jack Switch' off"
+               cset "name='HPOL Playback Switch' 0"
+               cset "name='HPOR Playback Switch' 0"
+       ]
+}
+
+If.1mic {
+       Condition {
+               Type String
+               Empty "${var:1mic}"
+       }
+       True {
+               SectionDevice."Mic1" {
+                       Comment "Front Microphone"
+                       ConflictingDevice [
+                               "Mic2"
+                       ]
+                       Value {
+                               CapturePCM "hw:${CardId},2"
+                       }
+                       EnableSequence [
+                               cset "name='Dmic Mux' Front Mic"
+                       ]
+               }
+
+               SectionDevice."Mic2" {
+                       Comment "Rear Microphone"
+                       ConflictingDevice [
+                               "Mic1"
+                       ]
+                       Value {
+                               CapturePCM "hw:${CardId},2"
+                       }
+                       EnableSequence [
+                               cset "name='Dmic Mux' Rear Mic"
+                       ]
+               }
+
+               SectionDevice."Mic3" {
+                       Comment "Microphone"
+                       Value {
+                               CapturePCM "hw:${CardId},0"
+                               CaptureMixerElem "Headset Mic"
+                       }
+                       EnableSequence [
+                               cset "name='Headset Mic Switch' on"
+                       ]
+                       DisableSequence [
+                               cset "name='Headset Mic Switch' off"
+                       ]
+               }
+       }
+       False {
+               SectionDevice."Mic1" {
+                       Comment "Internal Microphone"
+                       Value {
+                               CapturePCM "hw:${CardId},2"
+                       }
+                       EnableSequence [
+                               cset "name='Dmic Mux' Front Mic"
+                       ]
+               }
+
+               SectionDevice."Mic2" {
+                       Comment "Microphone"
+                       Value {
+                               CapturePCM "hw:${CardId},0"
+                               CaptureMixerElem "Headset Mic"
+                       }
+                       EnableSequence [
+                               cset "name='Headset Mic Switch' on"
+                       ]
+                       DisableSequence [
+                               cset "name='Headset Mic Switch' off"
+                       ]
+               }
+       }
+}
diff --git a/ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.conf b/ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.conf
new file mode 100644 (file)
index 0000000..829777d
--- /dev/null
@@ -0,0 +1,87 @@
+# Based on:
+# https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/ad560b208139b80e97a7c2d39c7bfea1dcc29da9/overlay-zork/chromeos-base/chromeos-bsp-zork/files/
+# https://chromium.googlesource.com/chromiumos/project/+/f1387fd5f4effe236dd2a8e6e2b8e665eb2a6cfb/zork/
+
+Syntax 4
+
+If.zork {
+       Condition {
+               Type String
+               String1 "Google_Zork"
+               String2 "${sys:devices/virtual/dmi/id/product_family}"
+       }
+       True {
+               If.1mic {
+                       Condition {
+                               Type RegexMatch
+                               Regex "^(Berknip|Dirinboz|Gumboz|Jelboz|Trembyle|Woomax)$"
+                               String "${sys:devices/virtual/dmi/id/product_name}"
+                       }
+                       True {
+                               Define.1mic y
+
+                               SectionUseCase."HiFi" {
+                                       File "/AMD/acp3xalc5682m98/HiFi.conf"
+                                       Comment "Default"
+                               }
+                       }
+               }
+
+               If.2mic {
+                       Condition {
+                               Type RegexMatch
+                               Regex "^(Dalboz|Ezkinil|Jelboz360|Morphius)$"
+                               String "${sys:devices/virtual/dmi/id/product_name}"
+                       }
+                       True {
+                               Define.1mic ""
+
+                               SectionUseCase."HiFi" {
+                                       File "/AMD/acp3xalc5682m98/HiFi.conf"
+                                       Comment "Default"
+                               }
+                       }
+               }
+
+               If.shuboz {
+                       Condition {
+                               Type String
+                               String1 "Shuboz"
+                               String2 "${sys:devices/virtual/dmi/id/product_name}"
+                       }
+                       True {
+                               If.shuboz_jelboz {
+                                       Condition {
+                                               Type RegexMatch
+                                               Regex "^sku(1518731265|1518731266|1518731267|1518731268|1518731269|1518731270|1518731271|1518731272|1518731273|1518731274|1518731275|1518731276|1518731277|1518731278|2147483647)$"
+                                               String "${sys:devices/virtual/dmi/id/product_sku}"
+                                       }
+                                       True {
+                                               Define.1mic y
+
+                                               SectionUseCase."HiFi" {
+                                                       File "/AMD/acp3xalc5682m98/HiFi.conf"
+                                                       Comment "Default"
+                                               }
+                                       }
+                               }
+
+                               If.shuboz_jelboz360 {
+                                       Condition {
+                                               Type RegexMatch
+                                               Regex "^sku(1518862337|1518862338|1518862339|1518862340)$"
+                                               String "${sys:devices/virtual/dmi/id/product_sku}"
+                                       }
+                                       True {
+                                               Define.1mic ""
+
+                                               SectionUseCase."HiFi" {
+                                                       File "/AMD/acp3xalc5682m98/HiFi.conf"
+                                                       Comment "Default"
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
+}
diff --git a/ucm2/conf.d/acp3xalc5682m98/acp3xalc5682m98.conf b/ucm2/conf.d/acp3xalc5682m98/acp3xalc5682m98.conf
new file mode 120000 (symlink)
index 0000000..6e9eefc
--- /dev/null
@@ -0,0 +1 @@
+../../AMD/acp3xalc5682m98/acp3xalc5682m98.conf
\ No newline at end of file