Skip to content

Commit

Permalink
Move UCM development to this repo
Browse files Browse the repository at this point in the history
  • Loading branch information
WeirdTreeThing committed Nov 25, 2024
1 parent fd175b2 commit 00b399e
Show file tree
Hide file tree
Showing 10 changed files with 280 additions and 95 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# ALSA UCM configuration for Chrome devices

Overlay of upstream alsa-ucm-conf

`ucm2` contains UCM configurations to overlay upstream
`overrides` contains UCM configurations that are modified from and replace upstream
144 changes: 144 additions & 0 deletions overrides/acp3xalc5682m98/HiFi.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
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 {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},1"
}
EnableSequence [
cset "name='Spk Switch' on"
]
DisableSequence [
cset "name='Spk Switch' off"
]
}

SectionDevice."Headphones" {
Comment "Headphones"
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},0"
PlaybackMixerElem "DAC1"
JackControl "Headset Jack"
}
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 {
CapturePriority 100
CapturePCM "hw:${CardId},2"
}
EnableSequence [
cset "name='Dmic Mux' Front Mic"
]
}

SectionDevice."Mic2" {
Comment "Rear Microphone"
ConflictingDevice [
"Mic1"
]
Value {
CapturePriority 100
CapturePCM "hw:${CardId},2"
}
EnableSequence [
cset "name='Dmic Mux' Rear Mic"
]
}

SectionDevice."Mic3" {
Comment "Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},0"
CaptureMixerElem "Headset Mic"
JackControl "Headset Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
}
False {
SectionDevice."Mic1" {
Comment "Internal Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},2"
}
EnableSequence [
cset "name='Dmic Mux' Front Mic"
]
}

SectionDevice."Mic2" {
Comment "Microphone"
Value {
CapturePriority 200
CapturePCM "hw:${CardId},0"
CaptureMixerElem "Headset Mic"
JackControl "Headset Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
]
}
}
}
72 changes: 72 additions & 0 deletions overrides/acp3xalc5682m98/acp3xalc5682m98.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# 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

Define { Found="" 1mic="" }

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 { Found=y 1mic=y }
}

If.2mic {
Condition {
Type RegexMatch
Regex "^(Dalboz|Ezkinil|Jelboz360|Morphius)$"
String "${sys:devices/virtual/dmi/id/product_name}"
}
True.Define.Found y
}

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 { Found=y 1mic=y }
}

If.shuboz_jelboz360 {
Condition {
Type RegexMatch
Regex "^sku(1518862337|1518862338|1518862339|1518862340)$"
String "${sys:devices/virtual/dmi/id/product_sku}"
}
True.Define.Found y
}
}
}
}
}

If.found {
Condition {
Type String
Empty "${var:Found}"
}
False.SectionUseCase."HiFi" {
File "/AMD/acp3xalc5682m98/HiFi.conf"
Comment "Default"
}
}
53 changes: 53 additions & 0 deletions overrides/acpd7219m98357/HiFi.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
SectionDevice."Speaker" {
Comment "Speaker"

Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId},2"
}
}

SectionDevice."Headphones" {
Comment "Headphones"

Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},0"
PlaybackMixerElem "Headphone"
JackControl "Headphone Jack"
}
EnableSequence [
cset "name='Headphone Switch' on"
]
DisableSequence [
cset "name='Headphone Switch' off"
]
}

SectionDevice."Mic" {
Comment "Internal Microphone"

Value {
CapturePriority 100
CapturePCM "hw:${CardId},4"
}
}

SectionDevice."Headset" {
Comment "Headset Microphone"

Value {
CapturePriority 200
CapturePCM "hw:${CardId},1"
CaptureMixerElem "Headset Mic"
JackControl "Headset Mic Jack"
}
EnableSequence [
cset "name='Headset Mic Switch' on"
cset "name='Mic Switch' on"
]
DisableSequence [
cset "name='Headset Mic Switch' off"
cset "name='Mic Switch' off"
]
}
File renamed without changes.
8 changes: 8 additions & 0 deletions overrides/sof-glkda7219ma/sof-glkda7219ma.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Syntax 6

SectionUseCase."HiFi" {
File "HiFi.conf"
Comment "Default"
}

Include.codec-init.File "/codecs/da7219/init.conf"
File renamed without changes.
95 changes: 0 additions & 95 deletions ucm2/conf.d/sof-rt5682/codecs.conf

This file was deleted.

4 comments on commit 00b399e

@r3laxgg
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

audio not working on dratini without ucm2/common/pcm/split.conf

@WeirdTreeThing
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file should be included in upstream alsa-ucm-conf

@r3laxgg
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The file contents have changed between https://github.com/WeirdTreeThing/chromebook-ucm-conf/blob/main/common/pcm/split.conf and upstream https://github.com/alsa-project/alsa-ucm-conf/blob/master/ucm2/common/pcm/split.conf

This is causing audio issue on Dratini.
I used the old split.conf and it worked.

@WeirdTreeThing
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See WeirdTreeThing/chromebook-linux-audio#185. The old file was just a backport after a commit I made in upstream, but is no longer needed.

Please sign in to comment.