From fb226c6380e4a0d51b75ec43e51a8f65f5d44414 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Mon, 4 Apr 2022 21:00:41 +0900 Subject: [PATCH] ucm2: Support acp3xalc5682m98 on Chromebook "zork" Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/146 Signed-off-by: Akihiko Odaki Signed-off-by: Jaroslav Kysela --- ucm2/AMD/acp3xalc5682m98/HiFi.conf | 134 ++++++++++++++++++ ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.conf | 87 ++++++++++++ .../acp3xalc5682m98/acp3xalc5682m98.conf | 1 + 3 files changed, 222 insertions(+) create mode 100644 ucm2/AMD/acp3xalc5682m98/HiFi.conf create mode 100644 ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.conf create mode 120000 ucm2/conf.d/acp3xalc5682m98/acp3xalc5682m98.conf diff --git a/ucm2/AMD/acp3xalc5682m98/HiFi.conf b/ucm2/AMD/acp3xalc5682m98/HiFi.conf new file mode 100644 index 0000000..97e4294 --- /dev/null +++ b/ucm2/AMD/acp3xalc5682m98/HiFi.conf @@ -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 index 0000000..829777d --- /dev/null +++ b/ucm2/AMD/acp3xalc5682m98/acp3xalc5682m98.conf @@ -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 index 0000000..6e9eefc --- /dev/null +++ b/ucm2/conf.d/acp3xalc5682m98/acp3xalc5682m98.conf @@ -0,0 +1 @@ +../../AMD/acp3xalc5682m98/acp3xalc5682m98.conf \ No newline at end of file -- 2.47.1