[All] Add ALSA UCM2 profiles
This commit is contained in:
parent
c3a0370a4b
commit
46e0ebdded
|
@ -0,0 +1,5 @@
|
|||
Use Case Configuration files v1 syntax
|
||||
--------------------------------------
|
||||
|
||||
This directory holds old UCM configuration files. The new
|
||||
configuration files should be created in the ucm2 tree only.
|
|
@ -0,0 +1,88 @@
|
|||
SectionVerb {
|
||||
EnableSequence [
|
||||
disdevall ""
|
||||
]
|
||||
}
|
||||
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceDmic}"
|
||||
}
|
||||
False.SectionDevice."Mic" {
|
||||
Comment "Digital Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},${var:DeviceDmic}"
|
||||
CaptureChannels 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speakers"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
# The es8316 only has a HP-amp which is muxed to the speaker
|
||||
# or to the headpones output
|
||||
PlaybackMixerElem "Headphone Mixer"
|
||||
PlaybackMasterElem "DAC"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "Headphone Mixer"
|
||||
PlaybackMasterElem "DAC"
|
||||
JackControl "Headphone Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Differential Mux' lin1-rin1"
|
||||
cset "name='Headset Mic Switch' on"
|
||||
cset "name='Digital Mic Mux' 'dmic disable'"
|
||||
cset "name='Internal Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headset Mic Switch' on"
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "ADC PGA Gain"
|
||||
CaptureMasterElem "ADC"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
Syntax 6
|
||||
|
||||
Define.DeviceDmic "$${find-device:type=pcm,stream=capture,field=id,regex='dmic'}"
|
||||
|
||||
BootSequence [
|
||||
# Setup muxes / switches
|
||||
cset "name='Left Headphone Mixer Left DAC Switch' on"
|
||||
cset "name='Right Headphone Mixer Right DAC Switch' on"
|
||||
# Set digital mix mux to "dmic disable"
|
||||
# That doesn't affect dmic, but other values mute headset mic
|
||||
cset "name='Digital Mic Mux' 0"
|
||||
|
||||
# Set HP vol to 0 dB
|
||||
cset "name='Headphone Playback Volume' 100%"
|
||||
cset "name='Headphone Mixer Volume' 100%"
|
||||
|
||||
# Set DAC vol
|
||||
cset "name='DAC Playback Volume' 70%"
|
||||
# LDATA TO LDAC, RDATA TO RDAC
|
||||
cset "name='DAC Source Mux' 0"
|
||||
|
||||
# Disable Auto Level Control
|
||||
cset "name='ALC Capture Switch' off"
|
||||
|
||||
# Set capture vol
|
||||
cset "name='ADC Capture Volume' 70%"
|
||||
]
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/AMD/acp3x-es83xx/HiFi.conf"
|
||||
Comment "Play and record HiFi quality Music"
|
||||
}
|
||||
|
|
@ -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 {
|
||||
PlaybackPCM "hw:${CardId},1"
|
||||
PlaybackPriority 200
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='Spk Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='Spk Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
PlaybackPriority 300
|
||||
PlaybackMixerElem "DAC1"
|
||||
JackControl "Headphone 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 {
|
||||
CapturePCM "hw:${CardId},2"
|
||||
CapturePriority 200
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='Dmic Mux' Front Mic"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Rear Microphone"
|
||||
ConflictingDevice [
|
||||
"Mic1"
|
||||
]
|
||||
Value {
|
||||
CapturePCM "hw:${CardId},2"
|
||||
CapturePriority 100
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='Dmic Mux' Rear Mic"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic3" {
|
||||
Comment "Microphone"
|
||||
Value {
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CapturePriority 300
|
||||
CaptureMixerElem "Headset Mic"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
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"
|
||||
CapturePriority 200
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='Dmic Mux' Front Mic"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Microphone"
|
||||
Value {
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CapturePriority 300
|
||||
CaptureMixerElem "Headset Mic"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='Headset Mic Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
Macro.apcmremap.CtlRemapMonoToStereoVolSw {
|
||||
Type Volume
|
||||
Stereo "Analog PCM"
|
||||
MonoL "Left Analog PCM"
|
||||
MonoR "Right Analog PCM"
|
||||
}
|
||||
|
||||
Macro.dpcmremap.CtlRemapMonoToStereoVolSw {
|
||||
Type Volume
|
||||
Stereo "Digital PCM"
|
||||
MonoL "Left Digital PCM"
|
||||
MonoR "Right Digital PCM"
|
||||
}
|
||||
|
||||
SectionVerb {
|
||||
EnableSequence [
|
||||
disdevall ""
|
||||
cset "name='ADC Phase Switch' 1"
|
||||
cset "name='BIQ Coefficients' 0x03,0x5a,0x00,0x06,0xfc,0xac,0x00,0x00,0xfe,0x58,0x00,0x00,0x03,0x50,0x00,0x06,0xfe,0x58,0x00,0x08"
|
||||
cset "name='Left PCM Source' DSP"
|
||||
cset "name='Right PCM Source' DSP"
|
||||
]
|
||||
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
JackControl "Headphone Jack"
|
||||
PlaybackMixerElem "Headphone"
|
||||
PlaybackMasterElem "Digital Playback"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Left DSP RX1 Source' ASPRX1"
|
||||
cset "name='Right DSP RX1 Source' ASPRX2"
|
||||
cset "name='Left DSP RX2 Source' ASPRX1"
|
||||
cset "name='Right DSP RX2 Source' ASPRX2"
|
||||
cset "name='Left DSP1 Preload Switch' 1"
|
||||
cset "name='Right DSP1 Preload Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Left DSP RX1 Source' Zero"
|
||||
cset "name='Right DSP RX1 Source' Zero"
|
||||
cset "name='Left DSP RX2 Source' Zero"
|
||||
cset "name='Right DSP RX2 Source' Zero"
|
||||
cset "name='Left DSP1 Preload Switch' 0"
|
||||
cset "name='Right DSP1 Preload Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId},1"
|
||||
PlaybackMixerElem "Digital PCM"
|
||||
PlaybackMasterElem "Analog PCM"
|
||||
PlaybackVolume "Digital PCM Volume"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Int Mic Switch' on"
|
||||
cset "name='DMIC Enable Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Int Mic Switch' off"
|
||||
cset "name='DMIC Enable Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CaptureMixerElem "Int Mic"
|
||||
CaptureVolume "Mic Volume"
|
||||
CaptureSwitch "Int Mic Switch"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headset Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CaptureMixerElem "Headset Mic"
|
||||
CaptureVolume "Mic Volume"
|
||||
CaptureSwitch "Headset Mic Switch"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
Syntax 6
|
||||
|
||||
Comment "Vangogh internal card"
|
||||
|
||||
#
|
||||
# Macro CtlRemapMonoToStereoVolSw - join two mono controls into one stereo
|
||||
#
|
||||
# Arguments:
|
||||
# Type - Volume or Switch
|
||||
# Stereo - Name of the stereo control to be created
|
||||
# MonoL - Name of the mono control to be used as Left channel
|
||||
# MonoR - Name of the mono control to be used as Right channel
|
||||
#
|
||||
DefineMacro.CtlRemapMonoToStereoVolSw {
|
||||
LibraryConfig.remap.Config {
|
||||
ctl.default.map."name='${var:__Stereo} ${var:__Type}'" {
|
||||
"name='${var:__MonoL} ${var:__Type}'".vindex.0 0
|
||||
"name='${var:__MonoR} ${var:__Type}'".vindex.1 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Currently restricted to Steam Deck hardware.
|
||||
#
|
||||
If.jupiter {
|
||||
Condition {
|
||||
Type String
|
||||
String1 "Jupiter"
|
||||
String2 "${sys:devices/virtual/dmi/id/product_name}"
|
||||
}
|
||||
True {
|
||||
SectionUseCase."HiFi" {
|
||||
File "/AMD/acp5x/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
cset "name='Digital Playback Volume' 252"
|
||||
cset "name='Left Analog PCM Volume' 17"
|
||||
cset "name='Right Analog PCM Volume' 17"
|
||||
cset "name='Left Digital PCM Volume' 870"
|
||||
cset "name='Right Digital PCM Volume' 870"
|
||||
cset "name='Headphone Volume' 2"
|
||||
cset "name='Digital Playback Volume' 192"
|
||||
cset "name='Mic Volume' 252"
|
||||
cset "name='Frontend PGA Volume' 27"
|
||||
]
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Currently restricted to Steam Deck OLED hardware.
|
||||
#
|
||||
If.galileo {
|
||||
Condition {
|
||||
Type String
|
||||
String1 "Galileo"
|
||||
String2 "${sys:devices/virtual/dmi/id/product_name}"
|
||||
}
|
||||
True {
|
||||
SectionUseCase."HiFi" {
|
||||
If.upstream {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Left Analog PCM Volume'"
|
||||
}
|
||||
True.File "HiFi-upstream.conf"
|
||||
False.File "HiFi.conf"
|
||||
}
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
cset "name='Digital Playback Volume' 252"
|
||||
cset "name='Left Analog PCM Volume' 17"
|
||||
cset "name='Right Analog PCM Volume' 17"
|
||||
cset "name='Left Digital PCM Volume' 870"
|
||||
cset "name='Right Digital PCM Volume' 870"
|
||||
cset "name='Headphone Volume' 2"
|
||||
cset "name='Digital Playback Volume' 192"
|
||||
cset "name='Mic Volume' 252"
|
||||
cset "name='Frontend PGA Volume' 27"
|
||||
]
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
Syntax 6
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
Include.codec-init.File "/codecs/da7219/init.conf"
|
|
@ -0,0 +1,109 @@
|
|||
SectionVerb {
|
||||
EnableSequence [
|
||||
cset "name='AIF2 Digital DAC Playback Switch' off"
|
||||
cset "name='AIF2 ADC Mixer ADC Capture Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Internal speaker"
|
||||
EnableSequence [
|
||||
cset "name='Line Out Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Line Out Playback Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackMixerElem "Line Out"
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Earpiece" {
|
||||
Comment "Internal Earpiece"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono"
|
||||
cset "name='Earpiece Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Earpiece Playback Switch' off"
|
||||
cset "name='AIF1 DA0 Stereo Playback Route' Stereo"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackMixerElem "Earpiece"
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Mic1 Capture Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Mic1 Capture Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CaptureVolume "ADC Capture Volume"
|
||||
CaptureSwitch "Mic1 Capture Switch"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Mic2 Capture Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Mic2 Capture Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 500
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CaptureVolume "ADC Capture Volume"
|
||||
CaptureSwitch "Mic2 Capture Switch"
|
||||
JackControl "Headset Microphone Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Playback Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackMixerElem "Headphone"
|
||||
PlaybackPriority 500
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
JackControl "Headphone Jack"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
Syntax 2
|
||||
|
||||
# To understand (or propose bug reports) for the different
|
||||
# parts of these configuration files, see:
|
||||
# https://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm__conf.html
|
||||
|
||||
# PinePhone-specific audio card structure help:
|
||||
# https://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf
|
||||
# https://xnux.eu/devices/feature/audio-pp.html
|
||||
|
||||
# General PinePhone help:
|
||||
# https://wiki.pine64.org/index.php/PinePhone
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Allwinner/A64/PinePhone/HiFi.conf"
|
||||
Comment "Play HiFi quality music"
|
||||
}
|
||||
|
||||
SectionUseCase."Voice Call" {
|
||||
File "/Allwinner/A64/PinePhone/VoiceCall.conf"
|
||||
Comment "Make a phone call"
|
||||
}
|
||||
|
||||
FixedBootSequence [
|
||||
# Routing.
|
||||
cset "name='ADC Digital DAC Playback Switch' off"
|
||||
cset "name='AIF1 DA0 Stereo Playback Route' Stereo"
|
||||
cset "name='AIF1 Data Digital ADC Capture Switch' on"
|
||||
cset "name='AIF1 Slot 0 Digital DAC Playback Switch' on"
|
||||
cset "name='AIF2 DAC Source Playback Route' AIF2"
|
||||
# AIF2 (Modem) is mono.
|
||||
cset "name='AIF2 DAC Stereo Playback Route' Mix Mono"
|
||||
cset "name='AIF3 ADC Source Capture Route' None"
|
||||
cset "name='DAC Playback Switch' on"
|
||||
# Routes DACR->MIXL and DACL->MIXR => MIXL are MIXR are identical mono-mix of the DAC.
|
||||
cset "name='DAC Reversed Playback Switch' on"
|
||||
cset "name='Earpiece Source Playback Route' Left Mixer"
|
||||
cset "name='Headphone Source Playback Route' DAC"
|
||||
# The Pinephone speaker is mono.
|
||||
cset "name='Line Out Source Playback Route' Mono Differential"
|
||||
]
|
||||
|
||||
BootSequence [
|
||||
# Playback volumes.
|
||||
cset "name='AIF1 DA0 Playback Volume' 160"
|
||||
cset "name='AIF2 DAC Playback Volume' 160"
|
||||
cset "name='DAC Playback Volume' 160"
|
||||
cset "name='Earpiece Playback Volume' 100%"
|
||||
cset "name='Headphone Playback Volume' 70%"
|
||||
cset "name='Line Out Playback Volume' 100%"
|
||||
cset "name='Mic2 Boost Volume' 1"
|
||||
|
||||
# Capture volumes.
|
||||
cset "name='ADC Capture Volume' 160"
|
||||
cset "name='AIF1 AD0 Capture Volume' 160"
|
||||
cset "name='AIF2 ADC Capture Volume' 160"
|
||||
]
|
||||
|
||||
SectionDefaults [
|
||||
# Switch playback off.
|
||||
cset "name='Earpiece Playback Switch' off"
|
||||
cset "name='Headphone Playback Switch' off"
|
||||
cset "name='Line In Playback Switch' off"
|
||||
cset "name='Line Out Playback Switch' off"
|
||||
cset "name='Mic1 Playback Switch' off"
|
||||
cset "name='Mic2 Playback Switch' off"
|
||||
|
||||
# Switch capture off.
|
||||
cset "name='Line In Capture Switch' off"
|
||||
cset "name='Mic1 Capture Switch' off"
|
||||
cset "name='Mic2 Capture Switch' off"
|
||||
cset "name='Mixer Capture Switch' off"
|
||||
cset "name='Mixer Reversed Capture Switch' off"
|
||||
]
|
|
@ -0,0 +1,115 @@
|
|||
SectionVerb {
|
||||
EnableSequence [
|
||||
cset "name='AIF2 Digital DAC Playback Switch' on"
|
||||
cset "name='AIF2 ADC Mixer ADC Capture Switch' on"
|
||||
cset "name='AIF2 ADC Stereo Capture Route' Mix Mono"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackRate 8000
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Internal speaker"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Line Out Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Line Out Playback Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackMixerElem "Line Out"
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Earpiece" {
|
||||
Comment "Internal Earpiece"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='AIF1 DA0 Stereo Playback Route' Mix Mono"
|
||||
cset "name='Earpiece Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Earpiece Playback Switch' off"
|
||||
cset "name='AIF1 DA0 Stereo Playback Route' Stereo"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackMixerElem "Earpiece"
|
||||
PlaybackPriority 500
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Mic1 Capture Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Mic1 Capture Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CaptureVolume "ADC Capture Volume"
|
||||
CaptureSwitch "Mic1 Capture Switch"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Mic2 Capture Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Mic2 Capture Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 500
|
||||
CapturePCM "hw:${CardId},0"
|
||||
CaptureVolume "ADC Capture Volume"
|
||||
CaptureSwitch "Mic2 Capture Switch"
|
||||
JackControl "Headset Microphone Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Playback Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackMixerElem "Headphone"
|
||||
PlaybackPriority 500
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
JackControl "Headphone Jack"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
SectionDevice."Line" {
|
||||
Comment "Analog Lineout"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='AIU ACODEC SRC' I2S"
|
||||
cset "name='AIU ACODEC OUT EN Switch' 1"
|
||||
cset "name='ACODEC Playback Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='ACODEC Playback Switch' 0"
|
||||
cset "name='AIU ACODEC OUT EN Switch' 0"
|
||||
cset "name='AIU ACODEC SRC' DISABLED"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
PlaybackChannels 2
|
||||
PlaybackVolume "ACODEC Playback Volume"
|
||||
PlaybackMixerElem "ACODEC"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."HDMI" {
|
||||
Comment "HDMI"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='AIU HDMI CTRL SRC' I2S"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='AIU HDMI CTRL SRC' DISABLED"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
# Use case for the p241 Amlogic s805x reference design
|
||||
|
||||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Amlogic/p241/p241-HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
FixedBootSequence [
|
||||
cset "name='AIU SPDIF SRC SEL' SPDIF"
|
||||
]
|
||||
|
||||
BootSequence [
|
||||
cset "name='AIU ACODEC I2S Lane Select' 0"
|
||||
cset "name='ACODEC Playback Channel Mode' Stereo"
|
||||
cset "name='ACODEC Playback Volume' 80%"
|
||||
cset "name='ACODEC Ramp Rate' Fast"
|
||||
cset "name='ACODEC Volume Ramp Switch' on"
|
||||
cset "name='ACODEC Mute Ramp Switch' on"
|
||||
cset "name='ACODEC Unmute Ramp Switch' on"
|
||||
cset "name='ACODEC Right DAC Sel' Right"
|
||||
cset "name='ACODEC Left DAC Sel' Left"
|
||||
]
|
||||
|
||||
SectionDefaults [
|
||||
cset "name='ACODEC Playback Switch' off"
|
||||
cset "name='AIU ACODEC OUT EN Switch' off"
|
||||
cset "name='AIU ACODEC SRC' DISABLED"
|
||||
cset "name='AIU HDMI CTRL SRC' DISABLED"
|
||||
]
|
|
@ -0,0 +1,121 @@
|
|||
Overview
|
||||
--------
|
||||
|
||||
UCM works on top of the standard ALSA subsystem. If there is something
|
||||
missing or non-working, it usually means that UCM describes the devices
|
||||
and required control sequences in an incomplete or a wrong way.
|
||||
|
||||
It is not required to be a developer to test your hardware.
|
||||
|
||||
Use latest UCM configuration
|
||||
----------------------------
|
||||
|
||||
The archive can be obtained from
|
||||
https://github.com/alsa-project/alsa-ucm-conf/archive/refs/heads/master.tar.gz
|
||||
or fetched from github https://github.com/alsa-project/alsa-ucm-conf .
|
||||
|
||||
The default path for ucm2 configuration is `/usr/share/alsa/ucm2`. This
|
||||
path may be redirected temporary to the latest configuration tree like:
|
||||
|
||||
````
|
||||
mv /usr/share/alsa/ucm2 /usr/share/alsa/ucm2.distro
|
||||
ln -s /NEW/UCM2/TREE/PATH /usr/share/alsa/ucm2
|
||||
````
|
||||
|
||||
It is necessary to restart pulseaudio or pipewire to use the new ucm2
|
||||
configuration.
|
||||
|
||||
The configuration revert is simple:
|
||||
|
||||
````
|
||||
rm /usr/share/alsa/ucm2
|
||||
mv /usr/share/alsa/ucm2.distro /usr/share/alsa/ucm2
|
||||
````
|
||||
|
||||
Useful commands and tools
|
||||
-------------------------
|
||||
|
||||
````
|
||||
alsa-info.sh --no-upload # dump the system / ALSA state information
|
||||
aplay -l # dump playback ALSA cards and PCM devices
|
||||
arecord -l # dump capture ALSA cards and PCM devices
|
||||
amixer -c 0 contents # dump all controls for the ALSA card (zero = card number)
|
||||
amixer -c 0 events # dump events for controls (zero = card number)
|
||||
# useful for Jack detection
|
||||
amixer -c 0 scontents # dump simple mixer controls for the ALSA card (zero = card number)
|
||||
alsamixer -c 0 # set native ALSA mixer (zero = card number)
|
||||
speaker-test -c hw:CARD=0,DEV=0 # playback test
|
||||
arecord -D hw:CARD=0,DEV=0 -f dat -vvv a.wav # capture test
|
||||
alsaucm -c hw:0 dump text # dump the UCM configuration (zero = card number)
|
||||
spa-acp-tool -vvv -c 0 # pipewire audio profile test tool (zero = card number)
|
||||
````
|
||||
|
||||
The components for the UCM device
|
||||
---------------------------------
|
||||
|
||||
1) ALSA PCM device
|
||||
2) ALSA Jack control name (optional, if available - for the presence detection)
|
||||
3) Simple mixer control name (optional, if available - for the hardware volume control)
|
||||
|
||||
Example of the UCM configuration:
|
||||
|
||||
````
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},0" # equivalent to hw:0,0 (for the first sound card)
|
||||
JackControl "Speakers Jack" # should be in 'amixer -c 0 contents' dump
|
||||
PlaybackMixerElem "Speaker" # Speaker bar should be in 'alsamixer -c 0'
|
||||
}
|
||||
````
|
||||
|
||||
Checking of the corresponding ALSA PCM device
|
||||
---------------------------------------------
|
||||
|
||||
Use `aplay -l` or `capture -l` to list the PCM devices in the system. Pick
|
||||
the device numbers for the tested ALSA soundcard and substitute those values
|
||||
for the playback test (`speaker-test -c hw:CARD=0,DEV=0`) and capture test
|
||||
(`arecord -D hw:CARD=0,DEV=0 -f dat -vvv a.wav`) commands.
|
||||
|
||||
Note: If a sound server is running, it should be suspended (see
|
||||
`man pasuspender` for an example or manage appropriate services or
|
||||
sockets using systemd - systemctl).
|
||||
|
||||
Checking of the corresponding ALSA Jack control
|
||||
-----------------------------------------------
|
||||
|
||||
Use `amixer -c 0 events` (replace zero with the corresponding ALSA card
|
||||
number) command and watch '??? Jack' control changes when you plug and
|
||||
unplug the correspoding sound equipment to the tested physical jack.
|
||||
|
||||
Checking of the corresponding simple mixer name
|
||||
-----------------------------------------------
|
||||
|
||||
Use `alsamixer -c 0` (replace zero with the corresponding ALSA card
|
||||
number) command and try to find the corresponding bar which controls the
|
||||
volume when the PCM device is active. It is recommended to open the
|
||||
alsamixer tool in a separate terminal window and do the PCM tests in
|
||||
another.
|
||||
|
||||
Testing changes in the UCM configuration
|
||||
----------------------------------------
|
||||
|
||||
The sound server must be restarted to reload the UCM configuration. For
|
||||
PipeWire, the command `systemctl --user restart wireplumber` is sufficient.
|
||||
|
||||
To check the configuration syntax, use `alsaucm -c hw:0 dump text` command
|
||||
(replace zero with the corresponding ALSA card number). This command should
|
||||
not return an error.
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
Some special hardware (mostly from the ASoC /ALSA SoC/ tree) may require
|
||||
special ALSA control initialization sequences. In this case, the driver
|
||||
developers should provide the hints.
|
||||
|
||||
The `_ucmXXXX.` prefixes in the UCM dumps are referring the private
|
||||
ALSA device names - to test those devices, just remove this prefix. It
|
||||
will not work for special devices defined only in UCM configuration files.
|
||||
If you like to test this special alsa-lib configuration, you may dump the
|
||||
alsa-lib configuration using `alsaucm -c hw:0 get _alibcfg` and put the
|
||||
configuration to `~/.asoundrc` for example.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
Comment "HDAudio with dual HD-audio codecs"
|
||||
SectionUseCase."HiFi" {
|
||||
File "/HDA/DualCodecs/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
Include.init1.File "/HDA/init.conf"
|
||||
|
||||
BootSequence [
|
||||
cset "name='Front Playback Volume' 100%"
|
||||
cset "name='Front Playback Switch' on"
|
||||
cset "name='Rear-Panel Capture Volume' 100%"
|
||||
cset "name='Rear-Panel Capture Switch' on"
|
||||
cset "name='Input Source' 'Rear Mic'"
|
||||
]
|
|
@ -0,0 +1,160 @@
|
|||
SectionVerb {
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Front Playback Switch' off"
|
||||
cset "name='Rear-Panel Capture Switch' off"
|
||||
cset "name='Headphone Playback Switch' off"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Front Playback Switch' off"
|
||||
cset "name='Front-Panel Capture Switch' off"
|
||||
cset "name='Rear-Panel Capture Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
If.speaker {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Speaker Playback Switch'"
|
||||
}
|
||||
True {
|
||||
SectionVerb {
|
||||
EnableSequence [
|
||||
cset "name='Speaker Playback Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='Speaker Playback Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId},4"
|
||||
PlaybackMixerElem "Speaker"
|
||||
}
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Playback Switch' off"
|
||||
]
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line1" {
|
||||
Comment "Line Out"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
|
||||
If.0 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Front Playback Switch'"
|
||||
}
|
||||
True.Value.PlaybackMixerElem "Front"
|
||||
}
|
||||
# make S/PDIF output working when no analog jacks are connected
|
||||
If.speaker {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Speaker Playback Switch'"
|
||||
}
|
||||
True.If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Line Out Front Jack'"
|
||||
}
|
||||
True.Value.JackControl "Line Out Front Jack"
|
||||
False.Value.JackControl "Line Out Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Playback Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},4"
|
||||
PlaybackMixerElem "Headphone"
|
||||
JackControl "Front Headphone Jack"
|
||||
}
|
||||
|
||||
If.speaker {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Speaker Playback Switch'"
|
||||
}
|
||||
True.Value.JackHWMute "Speaker"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line2" {
|
||||
Comment "Rear Line In"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic2"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Input Source' Line"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "Rear-Panel"
|
||||
CaptureMasterElem "Line Boost"
|
||||
JackControl "Line Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Rear Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "Rear-Panel"
|
||||
CaptureMasterElem "Rear Mic Boost"
|
||||
JackHWMute "Line2"
|
||||
JackControl "Rear Mic Jack"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Input Source' 'Rear Mic'"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Front Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},4"
|
||||
CaptureMixerElem "Front-Panel"
|
||||
CaptureMasterElem "Front Mic Boost"
|
||||
JackControl "Front Mic Jack"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "Capture"
|
||||
CaptureVolume "Capture Volume"
|
||||
CaptureSwitch "Capture Switch"
|
|
@ -0,0 +1,71 @@
|
|||
Syntax 6
|
||||
|
||||
Define.Use "" # a non-empty string to use UCM configuration for HDA devices
|
||||
Define.Done "" # a non-empty string to skip the end error
|
||||
|
||||
Define.AcpCardId "$${find-card:field=name,return=id,regex='^acp(|6[23x])$'}"
|
||||
Define.DeviceMic "Mic"
|
||||
|
||||
If.dualcodec {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "DualCodecs"
|
||||
}
|
||||
True {
|
||||
Define.Done y
|
||||
Define.AcpCardId ""
|
||||
Include.dual.File "/HDA/DualCodecs/DualCodecs.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.acp {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:AcpCardId}"
|
||||
}
|
||||
False {
|
||||
Define.Use y
|
||||
Define.DeviceMic "Mic2"
|
||||
}
|
||||
}
|
||||
|
||||
If.use {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:Use}"
|
||||
}
|
||||
False {
|
||||
Define.Done y
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/HDA/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
If.analog {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Master Playback Switch'"
|
||||
}
|
||||
True {
|
||||
Include.init.File "/HDA/init.conf"
|
||||
|
||||
FixedBootSequence [
|
||||
cset-new "name='Mic ACP LED Capture Switch' type=bool,count=1 off"
|
||||
exec "-/sbin/modprobe snd_ctl_led"
|
||||
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:Mic ACP LED Capture Switch"
|
||||
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.err {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:Done}"
|
||||
}
|
||||
True.Error "UCM is not supported for this HDA model (${CardLongName})"
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
# HDA HDMI devices
|
||||
|
||||
Include.hdmi.File "/codecs/hda/hdmi.conf"
|
||||
|
||||
If.hdmi1 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi1.HDMI {
|
||||
Number 1
|
||||
Device 3
|
||||
Priority 1100
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi2 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi2.HDMI {
|
||||
Number 2
|
||||
Device 7
|
||||
Priority 1200
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi3 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi3.HDMI {
|
||||
Number 3
|
||||
Device 8
|
||||
Priority 1300
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi4 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi4.HDMI {
|
||||
Number 4
|
||||
Device 9
|
||||
Priority 1400
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi5 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi5.HDMI {
|
||||
Number 5
|
||||
Device 10
|
||||
Priority 1500
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi6 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi5.HDMI {
|
||||
Number 6
|
||||
Device 11
|
||||
Priority 1600
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SectionDevice."Mic1" {
|
||||
Comment "Digital Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${var:AcpCardId}"
|
||||
CaptureMixerElem "Mic ACP LED"
|
||||
CaptureSwitch "Mic ACP LED Capture Switch"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,327 @@
|
|||
# Generic HDA devices for analog I/O
|
||||
|
||||
Define.FrontMicName ""
|
||||
Define.FrontMicJack ""
|
||||
Define.DeviceFrontMic ""
|
||||
Define.LineDevice ""
|
||||
Define.hpvol "Headphone"
|
||||
Define.hpjack "Headphone Jack"
|
||||
Define.loctl "Line"
|
||||
Define.lovol "Line"
|
||||
|
||||
If.imicname {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Internal Mic Boost Volume'"
|
||||
}
|
||||
True.Define {
|
||||
FrontMicName "Internal"
|
||||
}
|
||||
}
|
||||
|
||||
If.fmicname {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Front Mic Playback Switch'"
|
||||
}
|
||||
True.Define {
|
||||
FrontMicName "Front"
|
||||
FrontMicJack "Front Mic Jack"
|
||||
}
|
||||
}
|
||||
|
||||
If.fmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:FrontMicName}"
|
||||
}
|
||||
False {
|
||||
If.mic2 {
|
||||
Condition {
|
||||
Type String
|
||||
String1 "${var:DeviceMic}"
|
||||
String2 "Mic2"
|
||||
}
|
||||
True.Define {
|
||||
DeviceFrontMic "Mic3"
|
||||
}
|
||||
False.Define {
|
||||
DeviceMic "Mic1"
|
||||
DeviceFrontMic "Mic2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.lineout {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Line Out Playback Volume'"
|
||||
}
|
||||
True.Define {
|
||||
loctl "Line Out"
|
||||
lovol "Line Out"
|
||||
}
|
||||
}
|
||||
|
||||
If.linefront {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Front Playback Volume'"
|
||||
}
|
||||
True.Define {
|
||||
LineDevice "1"
|
||||
}
|
||||
}
|
||||
|
||||
If.hplo {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Headphone+LO Playback Volume'"
|
||||
}
|
||||
True.Define {
|
||||
hpvol "Headphone+LO"
|
||||
lovol "Headphone+LO"
|
||||
}
|
||||
}
|
||||
|
||||
If.hpjack {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Headphone Mic Jack'"
|
||||
}
|
||||
True.Define.hpjack "Headphone Mic Jack"
|
||||
False.If.front {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='Front Headphone Jack'"
|
||||
}
|
||||
True.Define.hpjack "Front Headphone Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
If.headphone_switch {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Headphone Playback Switch'"
|
||||
}
|
||||
True {
|
||||
EnableSequence [
|
||||
cset "name='Headphone Playback Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='Headphone Playback Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "${var:hpvol}"
|
||||
PlaybackMasterElem "Master"
|
||||
PlaybackVolume "${var:hpvol} Playback Volume"
|
||||
PlaybackSwitch "Headphone Playback Switch"
|
||||
JackControl "${var:hpjack}"
|
||||
}
|
||||
}
|
||||
|
||||
If.spk {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Speaker Playback Switch'"
|
||||
}
|
||||
True.SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
If.seq {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Bass Speaker Playback Switch'"
|
||||
}
|
||||
True {
|
||||
EnableSequence [
|
||||
cset "name='Speaker Playback Switch' on"
|
||||
cset "name='Bass Speaker Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Playback Switch' off"
|
||||
cset "name='Bass Speaker Playback Switch' off"
|
||||
]
|
||||
}
|
||||
False {
|
||||
EnableSequence [
|
||||
cset "name='Speaker Playback Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Playback Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "Speaker"
|
||||
PlaybackMasterElem "Master"
|
||||
PlaybackVolume "Speaker Playback Volume"
|
||||
PlaybackSwitch "Speaker Playback Switch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.monomic {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Input Source'"
|
||||
ControlEnum "Headphone Mic"
|
||||
}
|
||||
True {
|
||||
SectionDevice."${var:DeviceMic}" {
|
||||
Comment "Headphones Stereo Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Input Source' 'Headphone Mic'"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
Include.value.File "/HDA/HDA-Capture-value.conf"
|
||||
CaptureMasterElem "Headphone Mic Boost"
|
||||
JackControl "Headphone Mic Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Mono Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Input Source' 'Headset Mic'"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
Include.value.File "/HDA/HDA-Capture-value.conf"
|
||||
CaptureMasterElem "Headset Mic Boost"
|
||||
JackControl "Headphone Mic Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
False {
|
||||
SectionDevice."${var:DeviceMic}" {
|
||||
Comment "Headphones Stereo Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
Include.value.File "/HDA/HDA-Capture-value.conf"
|
||||
CaptureMasterElem "Mic Boost"
|
||||
JackControl "Mic Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.frontmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceFrontMic}"
|
||||
}
|
||||
False.SectionDevice."${var:DeviceFrontMic}" {
|
||||
Comment "${var:FrontMicName} Stereo Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"${var:DeviceMic}"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 400
|
||||
Include.value.File "/HDA/HDA-Capture-value.conf"
|
||||
CaptureMasterElem "${var:FrontMicName} Mic Boost"
|
||||
}
|
||||
If.jack {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:FrontMicJack}"
|
||||
}
|
||||
False.Value.JackControl "${var:FrontMicJack}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.line {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='${var:loctl} Playback Switch'"
|
||||
}
|
||||
True.SectionDevice."Line${var:LineDevice}" {
|
||||
Comment "Line Output"
|
||||
|
||||
If.conflict {
|
||||
Condition {
|
||||
Type String
|
||||
String1 "${var:lovol}"
|
||||
String2 "Headphone+LO"
|
||||
}
|
||||
True.ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='${var:loctl} Playback Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='${var:loctl} Playback Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "${var:lovol}"
|
||||
PlaybackMasterElem "Master"
|
||||
PlaybackVolume "${var:lovol} Playback Volume"
|
||||
PlaybackSwitch "${var:loctl} Playback Switch"
|
||||
JackControl "${var:loctl} Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.linefront {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Front Playback Switch'"
|
||||
}
|
||||
True.SectionDevice."Line2" {
|
||||
Comment "Second Line Output"
|
||||
|
||||
ConflictingDevice [
|
||||
"Line${var:LineDevice}"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Front Playback Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='Front Playback Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 250
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "Front"
|
||||
PlaybackMasterElem "Master"
|
||||
PlaybackVolume "Front Playback Volume"
|
||||
PlaybackSwitch "Front Playback Switch"
|
||||
JackControl "Line Out Front Jack"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
# Use case Configuration for sof-hda-dsp
|
||||
|
||||
SectionVerb {
|
||||
EnableSequence [
|
||||
disdevall ""
|
||||
]
|
||||
|
||||
Value.TQ "HiFi"
|
||||
}
|
||||
|
||||
If.analog {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Master Playback Switch'"
|
||||
}
|
||||
True {
|
||||
If.acp {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:AcpCardId}"
|
||||
}
|
||||
True.Include.analog.File "/HDA/HiFi-analog.conf"
|
||||
False.Include {
|
||||
acp.File "/HDA/HiFi-acp.conf"
|
||||
analog.File "/HDA/HiFi-analog.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi {
|
||||
Condition { Type String Empty "" }
|
||||
True.Include.hdmi.File "/HDA/Hdmi.conf"
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
If.amute {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Auto-Mute Mode'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Auto-Mute Mode' off"
|
||||
]
|
||||
}
|
||||
|
||||
If.master {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Master Playback Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Master Playback Volume' 60%"
|
||||
cset "name='Master Playback Switch' on"
|
||||
]
|
||||
}
|
||||
|
||||
If.speaker {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Speaker Playback Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Speaker Playback Volume' 60%"
|
||||
cset "name='Speaker Playback Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
If.headphone {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Headphone Playback Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Headphone Playback Volume' 60%"
|
||||
cset "name='Headphone Playback Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
If.capture {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Capture Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Capture Volume' 60%"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
If.bytcht_rt5640 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht rt5640"
|
||||
}
|
||||
True {
|
||||
Include.init.File "/codecs/rt5640/init.conf"
|
||||
Include.main.File "/Intel/bytcr-rt5640/HiFi.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.bytcht_rt5651 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht rt5651"
|
||||
}
|
||||
True {
|
||||
Include.init.File "/codecs/rt5651/init.conf"
|
||||
Include.main.File "/Intel/bytcr-rt5651/HiFi.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.bytcht_cx2072x {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht cx2072x"
|
||||
}
|
||||
True.Include.main.File "/Intel/bytcht-cx2072x/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bytcht_es8316 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht es8316"
|
||||
}
|
||||
True.Include.main.File "/Intel/bytcht-es8316/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bytcht_rt5672 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht rt5672"
|
||||
}
|
||||
True.Include.main.File "/Intel/cht-bsw-rt5672/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bytcht_nau8824 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht nau8824"
|
||||
}
|
||||
True.Include.main.File "/Intel/chtnau8824/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bytcht_rt5645 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht rt5645"
|
||||
}
|
||||
True {
|
||||
Include.init.File "/codecs/rt5645/init.conf"
|
||||
Include.main.File "/Intel/chtrt5645/HiFi.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.bytcht_rt5650 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht rt5650"
|
||||
}
|
||||
True.Include.main.File "/Intel/chtrt5650/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bytcht_max98090 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht max98090"
|
||||
}
|
||||
True.Include.main.File "/Intel/chtmax98090/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bytcht_wm5102 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bytcht wm5102"
|
||||
}
|
||||
True.Include.main.File "/Intel/bytcr-wm5102/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bdw_rt286 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bdw rt286"
|
||||
}
|
||||
True.Include.main.File "/Intel/broadwell-rt286/HiFi.conf"
|
||||
}
|
||||
|
||||
If.bdw_rt5677 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardName}"
|
||||
Needle "bdw rt5677"
|
||||
}
|
||||
True.Include.main.File "/Intel/bdw-rt5677/HiFi.conf"
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/SOF/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
|
@ -0,0 +1,187 @@
|
|||
# Use case Configuration for bdw-rt5677
|
||||
# command-line sequence to switch playback/capture
|
||||
# alsaucm -c bdw-rt5677 set _verb HiFi
|
||||
# alsaucm -c bdw-rt5677 set _verb HiFi set _enadev Headphones
|
||||
|
||||
LibraryConfig.remap.Config {
|
||||
|
||||
ctl.default.remap {
|
||||
"name='IN1 Boost'" "name='IN1 Boost Capture Volume'"
|
||||
"name='IN2 Boost'" "name='IN2 Boost Capture Volume'"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SectionVerb {
|
||||
|
||||
EnableSequence [
|
||||
|
||||
cset "name='PDM1 L Mux' STO1 DAC MIX"
|
||||
cset "name='PDM1 R Mux' STO1 DAC MIX"
|
||||
|
||||
# Adjust Master Playback volume if needed
|
||||
# cset "name='Master Playback Volume' 30"
|
||||
|
||||
cset "name='OUT1 Playback Switch' off"
|
||||
cset "name='OUT2 Playback Switch' off"
|
||||
|
||||
cset "name='DAC1 Playback Volume' 175"
|
||||
cset "name='DAC2 Playback Volume' 175"
|
||||
cset "name='DAC12 SRC Mux' STO1 DAC MIX"
|
||||
|
||||
cset "name='Stereo DAC MIXL ST L Switch' off"
|
||||
cset "name='Stereo DAC MIXL DAC1 L Switch' off"
|
||||
cset "name='Stereo DAC MIXL DAC2 L Switch' off"
|
||||
cset "name='Stereo DAC MIXL DAC1 R Switch' on"
|
||||
|
||||
cset "name='Stereo DAC MIXR ST R Switch' off"
|
||||
cset "name='Stereo DAC MIXR DAC1 R Switch' off"
|
||||
cset "name='Stereo DAC MIXR DAC2 R Switch' off"
|
||||
cset "name='Stereo DAC MIXR DAC1 L Switch' on"
|
||||
|
||||
cset "name='DAC1 MIXL Stereo ADC Switch' off"
|
||||
cset "name='DAC1 MIXL DAC1 Switch' on"
|
||||
|
||||
cset "name='DAC1 MIXR Stereo ADC Switch' off"
|
||||
cset "name='DAC1 MIXR DAC1 Switch' on"
|
||||
|
||||
cset "name='DAC1 Mux' IF1 DAC 01"
|
||||
|
||||
cset "name='Stereo1 DMIC Mux' DMIC1"
|
||||
cset "name='Stereo1 ADC2 Mux' DMIC"
|
||||
cset "name='Stereo1 ADC1 Mux' ADC1/2"
|
||||
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
cset "name='Sto1 ADC MIXL ADC2 Switch' on"
|
||||
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC2 Switch' on"
|
||||
|
||||
cset "name='IF1 ADC1 Mux' STO1 ADC MIX"
|
||||
cset "name='IF1 ADC1 Swap Mux' L/R"
|
||||
|
||||
# Adjust Mic Capture Volume if needed
|
||||
# cset "name='Mic Capture Volume' 30"
|
||||
|
||||
cset "name='ADC1 Capture Switch' on"
|
||||
cset "name='ADC1 Capture Volume' 31"
|
||||
cset "name='STO1 ADC Boost Volume' 2"
|
||||
|
||||
cset "name='Headphone Switch' off"
|
||||
cset "name='Speaker Switch' on"
|
||||
|
||||
cset "name='Remote DMICs Switch' on"
|
||||
cset "name='Mono DMIC L Mux' DMIC1"
|
||||
cset "name='Mono ADC2 L Mux' DMIC"
|
||||
cset "name='Mono ADC MIXL ADC1 Switch' off"
|
||||
cset "name='Mono ADC MIXL ADC2 Switch' on"
|
||||
cset "name='VAD ADC Mux' MONO ADC MIX L"
|
||||
cset "name='IB01 Mux' VAD ADC/DAC1 FS"
|
||||
cset "name='IB01 Bypass Mux' Bypass"
|
||||
cset "name='Mono ADC Boost Volume' 2"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speakers"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
cset "name='Stereo DAC MIXL DAC1 R Switch' off"
|
||||
cset "name='Stereo DAC MIXR DAC1 L Switch' off"
|
||||
cset "name='Stereo DAC MIXL DAC1 L Switch' on"
|
||||
cset "name='Stereo DAC MIXR DAC1 R Switch' on"
|
||||
cset "name='OUT1 Playback Switch' on"
|
||||
cset "name='OUT2 Playback Switch' on"
|
||||
cset "name='Headphone Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Switch' off"
|
||||
cset "name='OUT1 Playback Switch' off"
|
||||
cset "name='OUT2 Playback Switch' off"
|
||||
cset "name='Stereo DAC MIXL DAC1 L Switch' off"
|
||||
cset "name='Stereo DAC MIXR DAC1 R Switch' off"
|
||||
cset "name='Stereo DAC MIXL DAC1 R Switch' on"
|
||||
cset "name='Stereo DAC MIXR DAC1 L Switch' on"
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
JackControl "Headphone Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId}"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
cset "name='Local DMICs Switch' off"
|
||||
|
||||
cset "name='IF1 ADC1 Swap Mux' L/L"
|
||||
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' on"
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' on"
|
||||
cset "name='Headset Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
cset "name='Headset Mic Switch' off"
|
||||
|
||||
cset "name='IF1 ADC1 Swap Mux' L/R"
|
||||
|
||||
cset "name='Sto1 ADC MIXL ADC2 Switch' on"
|
||||
cset "name='Sto1 ADC MIXR ADC2 Switch' on"
|
||||
cset "name='Local DMICs Switch' on"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CapturePCM "hw:${CardId}"
|
||||
JackControl "Mic Jack"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/bdw-rt5677/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
|
@ -0,0 +1,102 @@
|
|||
# Use case Configuration for broadwell-rt286
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speakers"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='SPO Switch' on"
|
||||
cset "name='Speaker Playback Switch' on"
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
cset "name='Speaker Playback Switch' off"
|
||||
cset "name='SPO Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "DAC0"
|
||||
PlaybackMasterElem "Master"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HPO L Switch' on"
|
||||
cset "name='HPO R Switch' on"
|
||||
cset "name='Headphone Jack Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Jack Switch' off"
|
||||
cset "name='HPO L Switch' off"
|
||||
cset "name='HPO R Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "DAC0"
|
||||
PlaybackMasterElem "Master"
|
||||
JackDev "rt286-jack"
|
||||
JackControl "Headphone Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='ADC 0 Mux' 2"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "ADC0"
|
||||
CaptureMasterElem "Mic"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='ADC 0 Mux' 0"
|
||||
cset "name='AMIC Volume' 3"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='AMIC Volume' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "ADC0"
|
||||
CaptureMasterElem "Mic"
|
||||
JackDev "rt286-jack"
|
||||
JackControl "Mic Jack"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
Syntax 2
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/broadwell-rt286/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
# Usecase for device HDMI1/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms
|
||||
|
||||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI/Display Port 1 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},4"
|
||||
PlaybackPriority 500
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=4 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=4 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "HDMI/Display Port 2 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
PlaybackPriority 600
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=5 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=5 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
|
||||
# For Audio in I2S mode on Intel Broxton platforms
|
||||
|
||||
SectionVerb {
|
||||
|
||||
EnableSequence [
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
]
|
||||
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='SPO Switch' 1"
|
||||
cset "name='Speaker Playback Switch' 1,1"
|
||||
cset "name='Speaker Switch' 1"
|
||||
cset "name='HPO L Switch' 0"
|
||||
cset "name='HPO R Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HPO L Switch' 1"
|
||||
cset "name='HPO R Switch' 1"
|
||||
cset "name='Headphone Jack Switch' 1"
|
||||
cset "name='Speaker Playback Switch' 0,0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
JackControl "Headphone Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Digital Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
cset "name='media0_out mo codec0_in mi Switch' 0"
|
||||
cset "name='Mic Jack Switch' 0"
|
||||
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
|
||||
cset "name='Mic Jack Switch' 1"
|
||||
cset "name='ADC 0 Mux' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},1"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
cset "name='ADC0 Capture Volume' 105,105"
|
||||
cset "name='ADC 0 Mux' 0"
|
||||
cset "name='Mic Jack Switch' 1"
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
cset "name='media0_out mo codec0_in mi Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId},1"
|
||||
JackControl "Mic Jack"
|
||||
}
|
||||
}
|
||||
|
||||
Include.hdmi.File "/Intel/broxton-rt298/Hdmi.conf"
|
|
@ -0,0 +1,41 @@
|
|||
# UCM for Intel Broxton platforms
|
||||
# For Audio in I2S mode
|
||||
|
||||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/broxton-rt298/HiFi.conf"
|
||||
Comment "Play and record HiFi quality Music"
|
||||
}
|
||||
|
||||
SectionDefaults [
|
||||
cset "name='Headphone Jack Switch' 1"
|
||||
cset "name='Speaker Switch' 1"
|
||||
cset "name='Speaker Playback Switch' 0,0"
|
||||
cset "name='Front DAC Switch' 1"
|
||||
cset "name='Front RECMIX Switch' 0"
|
||||
cset "name='Mic Jack Switch' 1"
|
||||
cset "name='ADC 0 Mux' 2"
|
||||
cset "name='ADC 1 Mux' 0"
|
||||
cset "name='DAC0 Playback Volume' 100,100"
|
||||
cset "name='HPO L Switch' 0"
|
||||
cset "name='HPO Mux' 0"
|
||||
cset "name='HPO R Switch' 0"
|
||||
cset "name='Pin 5 Mux' 1"
|
||||
cset "name='Pin 6 Mux' 2"
|
||||
cset "name='Pin 7 Mux' 3"
|
||||
cset "name='RECMIX Beep Switch' 0"
|
||||
cset "name='RECMIX Line1 Switch' 0"
|
||||
cset "name='RECMIX Mic1 Switch' 0"
|
||||
cset "name='SPK Mux' 0"
|
||||
cset "name='SPO Switch' 1"
|
||||
cset "name='codec0_out mo codec0_in mi Switch' 0"
|
||||
cset "name='codec0_out mo dmic01_hifi_in mi Switch' 0"
|
||||
cset "name='codec0_out mo media0_in mi Switch' 1"
|
||||
cset "name='codec1_out mo codec0_in mi Switch' 0"
|
||||
cset "name='codec1_out mo dmic01_hifi_in mi Switch' 0"
|
||||
cset "name='codec1_out mo media0_in mi Switch' 0"
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
cset "name='media0_out mo media0_in mi Switch' 0"
|
||||
]
|
|
@ -0,0 +1,23 @@
|
|||
SectionVerb {
|
||||
|
||||
Include.e.File "/codecs/cx2072x/EnableSeq.conf"
|
||||
Include.d.File "/codecs/cx2072x/DisableSeq.conf"
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Include.spk.File "/codecs/cx2072x/Speaker.conf"
|
||||
Include.hp.File "/codecs/cx2072x/HeadPhones.conf"
|
||||
|
||||
Include.imic.File "/codecs/cx2072x/InternalMic.conf"
|
||||
Include.hsmic.File "/codecs/cx2072x/HeadsetMic.conf"
|
|
@ -0,0 +1,6 @@
|
|||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/bytcht-cx2072x/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:2"
|
||||
}
|
||||
True.Include.spk.File "/codecs/es8316/Speaker.conf"
|
||||
}
|
||||
|
||||
If.mono {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:1"
|
||||
}
|
||||
True.Include.mspk.File "/codecs/es8316/MonoSpeaker.conf"
|
||||
}
|
||||
|
||||
Include.hs.File "/codecs/es8316/HeadPhones.conf"
|
||||
|
||||
If.in1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:in1"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/es8316/IN1-InternalMic.conf"
|
||||
Include.hsmic.File "/codecs/es8316/IN2-HeadsetMic.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.in2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:in2"
|
||||
}
|
||||
True {
|
||||
Include.hsmic.File "/codecs/es8316/IN1-HeadsetMic.conf"
|
||||
Include.mic.File "/codecs/es8316/IN2-InternalMic.conf"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-stereo-spk"
|
||||
}
|
||||
True.Include.spk.File "/codecs/es8316/Speaker.conf"
|
||||
}
|
||||
|
||||
If.mono {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-mono-spk"
|
||||
}
|
||||
True.Include.mspk.File "/codecs/es8316/MonoSpeaker.conf"
|
||||
}
|
||||
|
||||
Include.hs.File "/codecs/es8316/HeadPhones.conf"
|
||||
|
||||
If.in1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-in1-mic"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/es8316/IN1-InternalMic.conf"
|
||||
Include.hsmic.File "/codecs/es8316/IN2-HeadsetMic.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.in2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-in2-mic"
|
||||
}
|
||||
True {
|
||||
Include.hsmic.File "/codecs/es8316/IN1-HeadsetMic.conf"
|
||||
Include.mic.File "/codecs/es8316/IN2-InternalMic.conf"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
SectionVerb {
|
||||
Include.e.File "/codecs/es8316/EnableSeq.conf"
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.0 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:"
|
||||
}
|
||||
True.Include.comp.File "/Intel/bytcht-es8316/HiFi-Components.conf"
|
||||
False.Include.long.File "/Intel/bytcht-es8316/HiFi-LongName.conf"
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/bytcht-es8316/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:2"
|
||||
}
|
||||
True.Define.HaveSpeaker "2"
|
||||
}
|
||||
|
||||
If.mono {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:1"
|
||||
}
|
||||
True.Define.HaveSpeaker "1"
|
||||
}
|
||||
|
||||
If.hp2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-hp2:lineout"
|
||||
}
|
||||
True.Define.HaveHeadPhones2 "yes"
|
||||
}
|
||||
|
||||
If.dmic1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:dmic1"
|
||||
}
|
||||
True {
|
||||
Define.HaveInternalMic "dmic"
|
||||
Define.StereoADC2Mux "DMIC1"
|
||||
}
|
||||
}
|
||||
|
||||
If.dmic2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:dmic2"
|
||||
}
|
||||
True {
|
||||
Define.HaveInternalMic "dmic"
|
||||
Define.StereoADC2Mux "DMIC2"
|
||||
}
|
||||
}
|
||||
|
||||
If.in1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:in1"
|
||||
}
|
||||
True.Define.HaveInternalMic "in1"
|
||||
}
|
||||
|
||||
If.in3 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:in3"
|
||||
}
|
||||
True.Define.HaveInternalMic "in3"
|
||||
}
|
||||
|
||||
If.hs2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-hs2:in1"
|
||||
}
|
||||
True.Define.HaveHeadsetMic2 "in1"
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-stereo-spk"
|
||||
}
|
||||
True.Define.HaveSpeaker "2"
|
||||
}
|
||||
|
||||
If.mono {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-mono-spk"
|
||||
}
|
||||
True.Define.HaveSpeaker "1"
|
||||
}
|
||||
|
||||
If.dmic1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-dmic1-mic"
|
||||
}
|
||||
True {
|
||||
Define.HaveInternalMic "dmic"
|
||||
Define.StereoADC2Mux "DMIC1"
|
||||
}
|
||||
}
|
||||
|
||||
If.in1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-in1-mic"
|
||||
}
|
||||
True.Define.HaveInternalMic "in1"
|
||||
}
|
||||
|
||||
If.in3 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-in3-mic"
|
||||
}
|
||||
True.Define.HaveInternalMic "in3"
|
||||
}
|
|
@ -0,0 +1,237 @@
|
|||
# Use case Configuration for bytcr-rt5640
|
||||
|
||||
Define.HaveAif ""
|
||||
Define.HaveSpeaker ""
|
||||
Define.HaveHeadPhones2 ""
|
||||
Define.HaveInternalMic ""
|
||||
Define.HaveHeadsetMic "yes"
|
||||
Define.HaveHeadsetMic2 ""
|
||||
Define.StereoADC2Mux "DMIC1"
|
||||
|
||||
If.DefineAif1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "aif:1"
|
||||
}
|
||||
True.Define.HaveAif "1"
|
||||
}
|
||||
|
||||
If.DefineAif2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "aif:2"
|
||||
}
|
||||
True.Define.HaveAif "2"
|
||||
}
|
||||
|
||||
If.0 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:"
|
||||
}
|
||||
True.Include.comp.File "/Intel/bytcr-rt5640/HiFi-Components.conf"
|
||||
False.Include.long.File "/Intel/bytcr-rt5640/HiFi-LongName.conf"
|
||||
}
|
||||
|
||||
SectionVerb {
|
||||
Include.e.File "/codecs/rt5640/EnableSeq.conf"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
cset "name='Headphone Switch' off"
|
||||
cset "name='Headset Mic Switch' off"
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${var:HaveSpeaker}"
|
||||
Needle "2"
|
||||
}
|
||||
True {
|
||||
Include.spk.File "/codecs/rt5640/Speaker.conf"
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.mono {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${var:HaveSpeaker}"
|
||||
Needle "1"
|
||||
}
|
||||
True {
|
||||
Include.mspk.File "/codecs/rt5640/MonoSpeaker.conf"
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.hp {
|
||||
Condition { Type String Empty "" }
|
||||
True {
|
||||
Include.hs.File "/codecs/rt5640/HeadPhones.conf"
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
EnableSequence [
|
||||
cset "name='Headphone Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.hp2 {
|
||||
Condition { Type String Empty "${var:HaveHeadPhones2}" }
|
||||
False {
|
||||
Include.hs.File "/codecs/rt5640/HeadPhones2.conf"
|
||||
|
||||
SectionDevice."Headphones2" {
|
||||
EnableSequence [
|
||||
cset "name='Line Out Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Line Out Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${var:HaveInternalMic}"
|
||||
Needle "dmic"
|
||||
}
|
||||
True {
|
||||
Include.dmic.File "/codecs/rt5640/DigitalMics.conf"
|
||||
|
||||
SectionDevice."Mic" {
|
||||
EnableSequence [
|
||||
cset "name='Internal Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.in1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${var:HaveInternalMic}"
|
||||
Needle "in1"
|
||||
}
|
||||
True {
|
||||
Include.mic1.File "/codecs/rt5640/IN1-InternalMic.conf"
|
||||
|
||||
SectionDevice."Mic" {
|
||||
EnableSequence [
|
||||
cset "name='Internal Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.in3 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${var:HaveInternalMic}"
|
||||
Needle "in3"
|
||||
}
|
||||
True {
|
||||
Include.mic3.File "/codecs/rt5640/IN3-InternalMic.conf"
|
||||
|
||||
SectionDevice."Mic" {
|
||||
EnableSequence [
|
||||
cset "name='Internal Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.hsmic {
|
||||
Condition { Type String Empty "" }
|
||||
True {
|
||||
Include.hsmic.File "/codecs/rt5640/HeadsetMic.conf"
|
||||
|
||||
SectionDevice."Headset" {
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headset Mic Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.hsmic2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${var:HaveHeadsetMic2}"
|
||||
Needle "in1"
|
||||
}
|
||||
True {
|
||||
Include.hsmic.File "/codecs/rt5640/HeadsetMic2-IN1.conf"
|
||||
|
||||
SectionDevice."Headset2" {
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic 2 Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headset Mic 2 Switch' off"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/bytcr-rt5640/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
||||
Include.codec-init.File "/codecs/rt5640/init.conf"
|
||||
|
||||
FixedBootSequence [
|
||||
exec "-/sbin/modprobe snd_ctl_led"
|
||||
sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:Speaker Channel Switch"
|
||||
sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:HP Channel Switch"
|
||||
]
|
|
@ -0,0 +1,85 @@
|
|||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:2"
|
||||
}
|
||||
True {
|
||||
Include.spk.File "/codecs/rt5651/Speaker.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.mono {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:1"
|
||||
}
|
||||
True {
|
||||
Include.mspk.File "/codecs/rt5651/MonoSpeaker.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.headphones {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-hp:lrswap"
|
||||
}
|
||||
True {
|
||||
Include.hp.File "/codecs/rt5651/HeadPhones-swapped.conf"
|
||||
}
|
||||
False {
|
||||
Include.hp.File "/codecs/rt5651/HeadPhones.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:dmic"
|
||||
}
|
||||
True {
|
||||
Include.dmic.File "/codecs/rt5651/DigitalMic.conf"
|
||||
Include.hsmic.File "/codecs/rt5651/IN2-HeadsetMic.conf"
|
||||
SectionDevice."Mic".ConflictingDevice.0 "Headset"
|
||||
}
|
||||
False {
|
||||
Include.hsmic.File "/codecs/rt5651/IN3-HeadsetMic.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.in2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:in2"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/rt5651/IN2-InternalMic.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.in12 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:in12"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/rt5651/IN12-InternalMic.conf"
|
||||
}
|
||||
False {
|
||||
If.in1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:in1"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/rt5651/IN1-InternalMic.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-stereo-spk"
|
||||
}
|
||||
True {
|
||||
Include.spk.File "/codecs/rt5651/Speaker.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.mono {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-mono-spk"
|
||||
}
|
||||
True {
|
||||
Include.mspk.File "/codecs/rt5651/MonoSpeaker.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.headphones {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-mic-hp-swapped"
|
||||
}
|
||||
True {
|
||||
Include.hp.File "/codecs/rt5651/HeadPhones-swapped.conf"
|
||||
}
|
||||
False {
|
||||
Include.hp.File "/codecs/rt5651/HeadPhones.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.dmic1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-dmic1-mic"
|
||||
}
|
||||
True {
|
||||
Include.dmic.File "/codecs/rt5651/DigitalMic.conf"
|
||||
Include.hsmic.File "/codecs/rt5651/IN2-HeadsetMic.conf"
|
||||
}
|
||||
False {
|
||||
Include.hsmic.File "/codecs/rt5651/IN3-HeadsetMic.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.in1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-in1-mic"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/rt5651/IN1-InternalMic.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.in2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-in2-mic"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/rt5651/IN2-InternalMic.conf"
|
||||
}
|
||||
}
|
||||
|
||||
If.in12 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "-in12-mic"
|
||||
}
|
||||
True {
|
||||
Include.mic.File "/codecs/rt5651/IN12-InternalMic.conf"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
# Adapted from https://github.com/plbossart/UCM/tree/master/bytcr-rt5651
|
||||
|
||||
|
||||
SectionVerb {
|
||||
|
||||
Include.e.File "/codecs/rt5651/EnableSeq.conf"
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.0 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:"
|
||||
}
|
||||
True {
|
||||
Include.comp.File "/Intel/bytcr-rt5651/HiFi-Components.conf"
|
||||
}
|
||||
False {
|
||||
Include.long.File "/Intel/bytcr-rt5651/HiFi-LongName.conf"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
# Adapted from https://github.com/plbossart/UCM/tree/master/bytcr-rt5651
|
||||
|
||||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/bytcr-rt5651/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
||||
Include.codec-init.File "/codecs/rt5651/init.conf"
|
|
@ -0,0 +1,54 @@
|
|||
SectionVerb {
|
||||
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
|
||||
Include.e.File "/codecs/wm5102/EnableSeq.conf"
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
True {
|
||||
Include.pe {
|
||||
File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Before.EnableSequence "0"
|
||||
}
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:hpout2"
|
||||
}
|
||||
True.Include.hpout2.File "/codecs/wm5102/HPOut2-Speaker.conf"
|
||||
False.Include.spk.File "/codecs/wm5102/Speaker.conf"
|
||||
}
|
||||
|
||||
Include.hp.File "/codecs/wm5102/HeadPhones.conf"
|
||||
|
||||
If.intmic {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-intmic:in1l"
|
||||
}
|
||||
True.Include.intmic1.File "/codecs/wm5102/IN1-InternalMic.conf"
|
||||
False.Include.intmic3.File "/codecs/wm5102/IN3-InternalMic.conf"
|
||||
}
|
||||
|
||||
If.hsmic {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-hsmic:in2l"
|
||||
}
|
||||
True.Include.hsmic2.File "/codecs/wm5102/IN2-HeadsetMic.conf"
|
||||
False.Include.hsmic1.File "/codecs/wm5102/IN1-HeadsetMic.conf"
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/bytcr-wm5102/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
# Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672
|
||||
|
||||
Define.Speaker "yes"
|
||||
Define.Headphones "yes"
|
||||
Define.MonoSpeaker "yes"
|
||||
Define.DigitalMic1 "yes"
|
||||
Define.DigitalMic2 "yes"
|
||||
Define.HeadsetMic "yes"
|
||||
|
||||
# Figure out which components are in use on the device, we check both the
|
||||
# components string (present on newer kernels) as well as checking for DMI
|
||||
# strings for compatibility with older kernels. Note DMI matches for new
|
||||
# models should only be added to the kernel, this UCM profile will then
|
||||
# automatically pick up the info from the components string.
|
||||
|
||||
If.components-stereo-spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:2"
|
||||
}
|
||||
True.Define.MonoSpeaker ""
|
||||
}
|
||||
|
||||
If.components-dmic1 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:dmic1"
|
||||
}
|
||||
True.Define.DigitalMic2 ""
|
||||
}
|
||||
|
||||
If.components-dmic2 {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-mic:dmic2"
|
||||
}
|
||||
True.Define.DigitalMic1 ""
|
||||
}
|
||||
|
||||
If.dmi-dmic1 {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
String "${CardLongName}"
|
||||
Regex "(LENOVO.*LenovoMiix210)|(LENOVO.*ThinkPad10)"
|
||||
}
|
||||
True {
|
||||
Define.MonoSpeaker ""
|
||||
Define.DigitalMic2 ""
|
||||
}
|
||||
}
|
||||
|
||||
If.dmi-dmic2 {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
String "${CardLongName}"
|
||||
Regex "(LENOVO.*ThinkPad8)"
|
||||
}
|
||||
True {
|
||||
Define.MonoSpeaker ""
|
||||
Define.DigitalMic1 ""
|
||||
}
|
||||
}
|
||||
|
||||
SectionVerb {
|
||||
Include.e.File "/codecs/rt5672/EnableSeq.conf"
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.spk {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:Speaker}"
|
||||
}
|
||||
False.Include.spk.File "/codecs/rt5672/Speaker.conf"
|
||||
}
|
||||
|
||||
If.mspk {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:MonoSpeaker}"
|
||||
}
|
||||
True {
|
||||
RenameDevice."Speaker1" "Speaker"
|
||||
RemoveDevice."Speaker2" "Speaker2"
|
||||
}
|
||||
False.Include.mspk.File "/codecs/rt5672/MonoSpeaker.conf"
|
||||
}
|
||||
|
||||
If.hp {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:Headphones}"
|
||||
}
|
||||
#True.RemoveDevice."Headphones" "Headphones"
|
||||
False.Include.hp.File "/codecs/rt5672/HeadPhones.conf"
|
||||
}
|
||||
|
||||
If.dmic1 {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DigitalMic1}"
|
||||
}
|
||||
True.RemoveDevice."Mic1" "Mic1"
|
||||
False {
|
||||
Include.dmic1.File "/codecs/rt5672/DMIC1.conf"
|
||||
If.dmic2 {
|
||||
Condition {
|
||||
Type "String"
|
||||
Empty "${var:DigitalMic2}"
|
||||
}
|
||||
True.RenameDevice."Mic1" "Mic"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.dmic2 {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DigitalMic2}"
|
||||
}
|
||||
True.RemoveDevice."Mic2" "Mic2"
|
||||
False {
|
||||
Include.dmic2.File "/codecs/rt5672/DMIC2.conf"
|
||||
If.dmic1 {
|
||||
Condition {
|
||||
Type "String"
|
||||
Empty "${var:DigitalMic1}"
|
||||
}
|
||||
True.RenameDevice."Mic2" "Mic"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.hsmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:HeadsetMic}"
|
||||
}
|
||||
#True.RemoveDevice."Headset" "Headset"
|
||||
False.Include.hsmic.File "/codecs/rt5672/HeadsetMic.conf"
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
# Adapted from https://github.com/plbossart/UCM/tree/master/cht-bsw-rt5672
|
||||
|
||||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/cht-bsw-rt5672/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
FixedBootSequence [
|
||||
exec "-/sbin/modprobe snd_ctl_led"
|
||||
sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:DAC1 Playback Switch"
|
||||
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:ADC Capture Switch"
|
||||
]
|
|
@ -0,0 +1,36 @@
|
|||
SectionVerb {
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
|
||||
Include.e.File "/codecs/max98090/EnableSeq.conf"
|
||||
|
||||
If.platform {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True.Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
}
|
||||
|
||||
If.Quawks {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardLongName}"
|
||||
Needle "GOOGLE-Quawks-1.0"
|
||||
}
|
||||
True {
|
||||
EnableSequence [
|
||||
# volume values modified
|
||||
cset "name='Headphone Volume' 25"
|
||||
cset "name='Speaker Volume' 32"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Include.hs.File "/codecs/max98090/Headphones.conf"
|
||||
Include.spk.File "/codecs/max98090/Speaker.conf"
|
||||
Include.mic.File "/codecs/max98090/InternalMic.conf"
|
||||
Include.hsmic.File "/codecs/max98090/HeadsetMic.conf"
|
|
@ -0,0 +1,5 @@
|
|||
Syntax 3
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/chtmax98090/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
Define.Speaker "Speaker"
|
||||
Define.Mic "InternalMic"
|
||||
Define.SST "yes"
|
||||
Define.RightOutputChannel 1
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
False {
|
||||
Define.SST ""
|
||||
Define.RightOutputChannel 0
|
||||
}
|
||||
}
|
||||
|
||||
# Figure out which components are in use on the device, we check both the
|
||||
# components string (present on newer kernels) as well as checking for DMI
|
||||
# strings for compatibility with older kernels. Note DMI matches for new
|
||||
# models should only be added to the kernel, this UCM profile will then
|
||||
# automatically pick up the info from the components string.
|
||||
|
||||
If.components-mono-spk {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-spk:1"
|
||||
}
|
||||
True.Define.Speaker "MonoSpeaker"
|
||||
}
|
||||
|
||||
If.cfg-mspk {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
String "${CardLongName}"
|
||||
Regex "(cube-i1_TF|PIPO-W2S)"
|
||||
}
|
||||
True {
|
||||
Define.Speaker "MonoSpeaker"
|
||||
}
|
||||
}
|
||||
|
||||
If.cfg-mic {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
String "${CardLongName}"
|
||||
# Medion E22??T models put DMIC in their product version
|
||||
# when using DMICs
|
||||
Regex "(MEDION-E22..T.*-DMIC-)"
|
||||
}
|
||||
True {
|
||||
Define.Mic "DMIC1_2"
|
||||
}
|
||||
}
|
||||
|
||||
SectionVerb {
|
||||
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
|
||||
Include.e.File "/codecs/nau8824/EnableSeq.conf"
|
||||
|
||||
If.SST {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:SST}"
|
||||
}
|
||||
False {
|
||||
Include.pe {
|
||||
File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Before.EnableSequence "0"
|
||||
}
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# The includes using $vars in there path must be conditional otherwise the
|
||||
# $var gets expanded before the other If-s above can change the vars.
|
||||
If.cfg-includes {
|
||||
Condition { Type String Empty "" }
|
||||
True {
|
||||
Include.spk.File "/codecs/nau8824/${var:Speaker}.conf"
|
||||
Include.hp.File "/codecs/nau8824/HeadPhones.conf"
|
||||
|
||||
Include.mic.File "/codecs/nau8824/${var:Mic}.conf"
|
||||
Include.hsmic.File "/codecs/nau8824/HeadsetMic.conf"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
Syntax 3
|
||||
|
||||
Comment "chtnau8824 internal card"
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/chtnau8824/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
|
@ -0,0 +1,208 @@
|
|||
Define.MonoSpeaker ""
|
||||
Define.AnalogMic "yes"
|
||||
Define.DigitalMic ""
|
||||
|
||||
If.cfg-dmic1 {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
String "${CardLongName}"
|
||||
Regex "(ASUSTeK.*T100HAN|ASUSTeK.*T101HA)"
|
||||
}
|
||||
True {
|
||||
Define.AnalogMic ""
|
||||
Define.DigitalMic "DMIC1"
|
||||
}
|
||||
}
|
||||
|
||||
If.cfg-dmic2 {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
String "${CardLongName}"
|
||||
Regex "(LENOVO.*LenovoMIIX320|MEDION.*Wingman|Standard-EF20EA-1.0)"
|
||||
}
|
||||
True {
|
||||
Define.AnalogMic ""
|
||||
Define.DigitalMic "DMIC2"
|
||||
}
|
||||
}
|
||||
|
||||
If.cfg-mspk {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
String "${CardLongName}"
|
||||
Regex "(gpd-win-pocket-rt5645|TECLAST-X80Pro)"
|
||||
}
|
||||
True {
|
||||
Define.MonoSpeaker "yes"
|
||||
}
|
||||
}
|
||||
|
||||
SectionVerb {
|
||||
# ALSA PCM
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
|
||||
Include.ce.File "/codecs/rt5645/EnableSeq.conf"
|
||||
Include.cd.File "/codecs/rt5645/DisableSeq.conf"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Stereo1 ADC1 Mux' 1"
|
||||
cset "name='I2S2 Func Switch' on"
|
||||
# 3/12 the headphone mic tends to be quite loud
|
||||
cset "name='IN1 Boost' 3"
|
||||
# 8/8 the internal analog mic tends to be quite soft
|
||||
cset "name='IN2 Boost' 8"
|
||||
]
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
Include.e.File "/codecs/rt5645/SpeakerEnableSeq.conf"
|
||||
|
||||
If.mspk {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:MonoSpeaker}"
|
||||
}
|
||||
False {
|
||||
EnableSequence [
|
||||
# Monospeaker: Mix right to left
|
||||
cset "name='Stereo DAC MIXL DAC R1 Switch' 1"
|
||||
cset "name='Stereo DAC MIXR DAC R1 Switch' 0"
|
||||
]
|
||||
DisableSequence [
|
||||
# Undo monospeaker mixing
|
||||
cset "name='Stereo DAC MIXL DAC R1 Switch' 0"
|
||||
cset "name='Stereo DAC MIXR DAC R1 Switch' 1"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Ext Spk Switch' off"
|
||||
cset "name='Speaker Channel Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
JackControl "Headphone Jack"
|
||||
}
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
Include.e.File "/codecs/rt5645/HeadphonesEnableSeq.conf"
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Switch' off"
|
||||
cset "name='Headphone Channel Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
If.amic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:AnalogMic}"
|
||||
}
|
||||
Before.SectionDevice "Headset"
|
||||
False.Include.amic.File "/codecs/rt5645/AnalogMic.conf"
|
||||
}
|
||||
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DigitalMic}"
|
||||
}
|
||||
Before.SectionDevice "Headset"
|
||||
False {
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId}"
|
||||
}
|
||||
|
||||
Include.e.File "/codecs/rt5645/DigitalMicEnableSeq.conf"
|
||||
Include.d.File "/codecs/rt5645/DigitalMicDisableSeq.conf"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Stereo1 ADC2 Mux' DMIC"
|
||||
cset "name='Mono ADC L2 Mux' DMIC"
|
||||
cset "name='Mono ADC R2 Mux' DMIC"
|
||||
]
|
||||
|
||||
If.dmic2 {
|
||||
Condition {
|
||||
Type String
|
||||
String1 "${var:DigitalMic}"
|
||||
String2 "DMIC1"
|
||||
}
|
||||
True {
|
||||
EnableSequence [
|
||||
cset "name='Stereo1 DMIC Mux' DMIC1"
|
||||
]
|
||||
}
|
||||
False {
|
||||
EnableSequence [
|
||||
cset "name='Stereo1 DMIC Mux' DMIC2"
|
||||
cset "name='Mono DMIC L Mux' DMIC2"
|
||||
cset "name='Mono DMIC R Mux' DMIC2"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId}"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
|
||||
Include.e.File "/codecs/rt5645/HSMicEnableSeq.conf"
|
||||
Include.d.File "/codecs/rt5645/HSMicDisableSeq.conf"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
|
||||
cset "name='Mono ADC MIXL ADC1 Switch' on"
|
||||
cset "name='Mono ADC MIXR ADC1 Switch' on"
|
||||
cset "name='Mono ADC MIXL ADC2 Switch' off"
|
||||
cset "name='Mono ADC MIXR ADC2 Switch' off"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
Syntax 4
|
||||
Comment "Intel SoC Audio Device"
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/chtrt5645/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
||||
Include.codec-init.File "/codecs/rt5645/init.conf"
|
|
@ -0,0 +1,116 @@
|
|||
|
||||
SectionVerb {
|
||||
# ALSA PCM
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
|
||||
Include.e.File "/codecs/rt5645/EnableSeq.conf"
|
||||
Include.d.File "/codecs/rt5645/DisableSeq.conf"
|
||||
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speaker HWEQ' 1,164,237,135,1,165,0,0,1,166,237,135,1,167,0,0,1,192,30,196,1,193,0,0,1,194,30,196,1,195,0,0,1,196,31,180,1,197,0,75,1,198,31,180,1,199,31,180,1,200,0,75,1,201,31,180,0,177,51,224"
|
||||
cset "name='DAC1 Playback Volume' 77,77"
|
||||
cset "name='Speaker ClassD Playback Volume' 4"
|
||||
cset "name='I2S2 Func Switch' off"
|
||||
cset "name='RT5650 IF1 ADC Mux' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackPriority 100
|
||||
}
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
Include.spk.File "/codecs/rt5645/SpeakerEnableSeq.conf"
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Ext Spk Switch' off"
|
||||
cset "name='Speaker Channel Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackPriority 200
|
||||
JackControl "Headphone Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
Include.hse.File "/codecs/rt5645/HeadphonesEnableSeq.conf"
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Switch' off"
|
||||
cset "name='Headphone Channel Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
Value {
|
||||
CapturePCM "hw:${CardId}"
|
||||
CapturePriority 100
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Int Mic Switch' on"
|
||||
cset "name='Sto1 ADC MIXL ADC2 Switch' on"
|
||||
cset "name='Sto1 ADC MIXR ADC2 Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Sto1 ADC MIXL ADC2 Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC2 Switch' off"
|
||||
cset "name='Int Mic Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
Value {
|
||||
CapturePCM "hw:${CardId}"
|
||||
CapturePriority 200
|
||||
JackControl "Headset Mic Jack"
|
||||
JackHWMute "Mic1"
|
||||
}
|
||||
|
||||
Include.hsmice.File "/codecs/rt5645/HSMicEnableSeq.conf"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='IN1 Boost' 1"
|
||||
]
|
||||
|
||||
Include.hsmicd.File "/codecs/rt5645/HSMicDisableSeq.conf"
|
||||
|
||||
DisableSequence [
|
||||
cset "name='IN1 Boost' 0"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
Comment "Intel SoC Audio Device"
|
||||
Syntax 3
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/chtrt5650/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
# Usecase for device HDMI1/Display Port stereo playback on Intel cAVS platforms
|
||||
# For Audio in HDA mode
|
||||
|
||||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI/Display Port 1 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},10"
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=17 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=17 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=17 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# Usecase for device HDMI2/Display Port stereo playback on Intel cAVS platforms
|
||||
# For Audio in HDA mode
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "HDMI/Display Port 2 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 400
|
||||
PlaybackPCM "hw:${CardId},11"
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=18 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=18 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=18 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
|
||||
# For Audio in HDA mode on Intel cAVS platforms
|
||||
|
||||
SectionVerb {
|
||||
|
||||
EnableSequence [
|
||||
cset "name='mch_cap_out mo mch_cap_in mi Switch' 1"
|
||||
]
|
||||
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Playback Switch' 1,1"
|
||||
cset "name='Speaker Playback Switch' 0,0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},7"
|
||||
PlaybackMixerElem "Headphone"
|
||||
PlaybackMasterElem "Master"
|
||||
PlaybackVolume "Headphone Playback Volume"
|
||||
PlaybackSwitch "Headphone Playback Switch"
|
||||
JackControl "Front Headphone Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Playback Switch' 0,0"
|
||||
cset "name='Speaker Playback Switch' 1,1"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId},7"
|
||||
PlaybackMixerElem "Speaker"
|
||||
PlaybackMasterElem "Master"
|
||||
PlaybackVolume "Speaker Playback Volume"
|
||||
PlaybackSwitch "Speaker Playback Switch"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId},7"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Digital Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='mch_cap_out mo mch_cap_in mi Switch' 1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},13"
|
||||
}
|
||||
}
|
||||
|
||||
Include.hdmi1.File "/Intel/hda-dsp/Hdmi1.conf"
|
||||
Include.hdmi2.File "/Intel/hda-dsp/Hdmi2.conf"
|
|
@ -0,0 +1,16 @@
|
|||
# UCM for Intel CAVS platforms
|
||||
# For Audio in HDA and DMIC mode
|
||||
|
||||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/hda-dsp/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
SectionDefaults [
|
||||
cset "name='Master Playback Switch' 1"
|
||||
cset "name='codec0_out mo media0_in mi Switch' 1"
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
cset "name='mch_cap_out mo mch_cap_in mi Switch' 1"
|
||||
]
|
|
@ -0,0 +1,23 @@
|
|||
# Usecase for device HDMI1/Display Port stereo playback on Intel KABYLAKE platforms
|
||||
# For Audio in I2S mode
|
||||
|
||||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI/Display Port 1 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},2"
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=4 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=4 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
# Usecase for device HDMI1/Display Port stereo playback on Intel KABYLAKE platforms
|
||||
# For Audio in I2S mode
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "HDMI/Display Port 2 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},3"
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=5 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=5 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
# UCM for Intel Kabylake platforms with RT5660
|
||||
# For Audio in I2S mode
|
||||
|
||||
LibraryConfig.remap.Config {
|
||||
|
||||
ctl.default.remap {
|
||||
"name='IN1 Boost Volume'" "name='IN1 Boost Capture Volume'"
|
||||
"name='IN2 Boost Volume'" "name='IN2 Boost Capture Volume'"
|
||||
"name='IN3 Boost Volume'" "name='IN3 Boost Capture Volume'"
|
||||
"name='STO1 ADC Boost Gain Volume'" "name='STO1 ADC Boost Capture Volume'"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SectionDevice."Line1" {
|
||||
Comment "Line playback"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='DAC1 Playback Volume' 30"
|
||||
cset "name='OUT Playback Volume' 19"
|
||||
cset "name='OUT Playback Switch' on"
|
||||
cset "name='codec0_out mo media0_in mi Switch' on"
|
||||
cset "name='DAC1 MIXL DAC1 Switch' on"
|
||||
cset "name='DAC1 MIXR DAC1 Switch' on"
|
||||
cset "name='Stereo DAC MIXL DAC L1 Switch' on"
|
||||
cset "name='Stereo DAC MIXR DAC L1 Switch' off"
|
||||
cset "name='Stereo DAC MIXR DAC R1 Switch' on"
|
||||
cset "name='Stereo DAC MIXL DAC R1 Switch' off"
|
||||
cset "name='LOUT MIX DAC Switch' on"
|
||||
cset "name='Line Out Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Line Out Switch' off"
|
||||
cset "name='DAC1 MIXL DAC1' off"
|
||||
cset "name='DAC1 MIXR DAC1' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
JackDev "rt5660-jack"
|
||||
JackControl "Line Out Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line2" {
|
||||
Comment "Line capture"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='ADC Capture Volume' 30"
|
||||
cset "name='IN1 Boost Volume' 30"
|
||||
cset "name='IN2 Boost Volume' 30"
|
||||
cset "name='STO1 ADC Boost Gain Volume' 1"
|
||||
cset "name='RECMIXL BST1 Switch' off"
|
||||
cset "name='RECMIXR BST1 Switch' on"
|
||||
cset "name='RECMIXL BST2 Switch' on"
|
||||
cset "name='RECMIXR BST2 Switch' off"
|
||||
cset "name='Line In Switch' on"
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' on"
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' on"
|
||||
cset "name='media0_out mo codec0_in mi Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Line In Switch' off"
|
||||
cset "name='Sto1 ADC MIXR ADC1 Switch' off"
|
||||
cset "name='Sto1 ADC MIXL ADC1 Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},1"
|
||||
JackDev "rt5660-jack"
|
||||
JackControl "Line In Jack"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/kblrt5660/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
SectionUseCase."Hdmi1" {
|
||||
File "/Intel/kblrt5660/Hdmi1.conf"
|
||||
Comment "Play on Hdmi/DP 1"
|
||||
}
|
||||
|
||||
SectionUseCase."Hdmi2" {
|
||||
File "/Intel/kblrt5660/Hdmi2.conf"
|
||||
Comment "Play on Hdmi/DP 2"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
|
@ -0,0 +1,23 @@
|
|||
# Usecase for device HDMI1/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms
|
||||
# For Audio in I2S mode
|
||||
|
||||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI/Display Port 1 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},4"
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=4 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=4 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
# Usecase for device HDMI2/Display Port stereo playback on Intel SKYLAKE/KABYLAKE platforms
|
||||
# For Audio in I2S mode
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "HDMI/Display Port 2 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 400
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=5 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=5 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
|
||||
# For Audio in I2S mode on Intel SKYLAKE/KABYLAKE platforms
|
||||
|
||||
SectionVerb {
|
||||
EnableSequence [
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
]
|
||||
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HPO L Switch' 1"
|
||||
cset "name='HPO R Switch' 1"
|
||||
cset "name='Headphone Jack Switch' 1"
|
||||
cset "name='Speaker Playback Switch' 0,0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
JackControl "Headphone Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='SPO Switch' 1"
|
||||
cset "name='Speaker Playback Switch' 1,1"
|
||||
cset "name='Speaker Switch' 1"
|
||||
cset "name='HPO L Switch' 0"
|
||||
cset "name='HPO R Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
EnableSequence [
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
cset "name='ADC0 Capture Switch' 1,1"
|
||||
cset "name='ADC 0 Mux' 0"
|
||||
cset "name='Mic Jack Switch' 1"
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
cset "name='media0_out mo codec0_in mi Switch' 0"
|
||||
]
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId},1"
|
||||
JackControl "Mic Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Digital Stereo Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
cset "name='media0_out mo codec0_in mi Switch' 0"
|
||||
cset "name='ADC0 Capture Switch' 0,0"
|
||||
cset "name='Mic Jack Switch' 0"
|
||||
cset "name='ADC 0 Mux' 0"
|
||||
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
|
||||
cset "name='ADC0 Capture Switch' 1,1"
|
||||
cset "name='Mic Jack Switch' 1"
|
||||
cset "name='ADC 0 Mux' 2"
|
||||
]
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},1"
|
||||
}
|
||||
}
|
||||
|
||||
Include.hdmi1.File "/Intel/skylake-rt286/Hdmi1.conf"
|
||||
Include.hdmi2.File "/Intel/skylake-rt286/Hdmi2.conf"
|
|
@ -0,0 +1,44 @@
|
|||
# UCM for Intel SKYLAKE/KABYLAKE platforms
|
||||
# For Audio in I2S mode
|
||||
|
||||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/skylake-rt286/HiFi.conf"
|
||||
Comment "Play and record HiFi quality Music"
|
||||
}
|
||||
|
||||
SectionDefaults [
|
||||
cset "name='Headphone Jack Switch' 1"
|
||||
cset "name='Speaker Switch' 1"
|
||||
cset "name='Speaker Playback Switch' 0,0"
|
||||
cset "name='Front DAC Switch' 1"
|
||||
cset "name='Front RECMIX Switch' 0"
|
||||
cset "name='Mic Jack Switch' 1"
|
||||
cset "name='ADC 0 Mux' 2"
|
||||
cset "name='ADC 1 Mux' 0"
|
||||
cset "name='ADC0 Capture Volume' 105,105"
|
||||
cset "name='ADC0 Capture Switch' 1,1"
|
||||
cset "name='AMIC Volume' 3"
|
||||
cset "name='DAC0 Playback Volume' 100,100"
|
||||
cset "name='HPO L Switch' 0"
|
||||
cset "name='HPO Mux' 0"
|
||||
cset "name='HPO R Switch' 0"
|
||||
cset "name='Pin 5 Mux' 1"
|
||||
cset "name='Pin 6 Mux' 2"
|
||||
cset "name='Pin 7 Mux' 3"
|
||||
cset "name='RECMIX Beep Switch' 0"
|
||||
cset "name='RECMIX Line1 Switch' 0"
|
||||
cset "name='RECMIX Mic1 Switch' 0"
|
||||
cset "name='SPK Mux' 0"
|
||||
cset "name='SPO Switch' 1"
|
||||
cset "name='codec0_out mo codec0_in mi Switch' 0"
|
||||
cset "name='codec0_out mo dmic01_hifi_in mi Switch' 0"
|
||||
cset "name='codec0_out mo media0_in mi Switch' 1"
|
||||
cset "name='codec1_out mo codec0_in mi Switch' 0"
|
||||
cset "name='codec1_out mo dmic01_hifi_in mi Switch' 0"
|
||||
cset "name='codec1_out mo media0_in mi Switch' 0"
|
||||
cset "name='media0_out mo codec0_in mi Switch' 1"
|
||||
cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
|
||||
cset "name='media0_out mo media0_in mi Switch' 0"
|
||||
]
|
|
@ -0,0 +1,85 @@
|
|||
# Usecase for device HDMI/Display Port stereo playback on Intel ELKHARTLAKE platforms
|
||||
|
||||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI/Display Port 1 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},3"
|
||||
PlaybackPriority 500
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=3 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=3 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=3 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "HDMI/Display Port 2 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},4"
|
||||
PlaybackPriority 600
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=4 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=4 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=4 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."HDMI3" {
|
||||
Comment "HDMI/Display Port 3 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
PlaybackPriority 600
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=5 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=5 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=5 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."HDMI4" {
|
||||
Comment "HDMI/Display Port 4 Stereo"
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},6"
|
||||
PlaybackPriority 600
|
||||
If.1 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "iface=CARD,name='HDMI/DP,pcm=6 Jack'"
|
||||
}
|
||||
True {
|
||||
JackControl "HDMI/DP,pcm=6 Jack"
|
||||
}
|
||||
False {
|
||||
JackControl "HDMI/DP, pcm=6 Jack"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
|
||||
# For Audio in I2S mode on Intel ElkhartLake platforms
|
||||
|
||||
SectionVerb {
|
||||
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Lineout"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
]
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Lineout" {
|
||||
Comment "Lineout"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Line Out Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Line Out Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Digital Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},1"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic2 Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headset Mic2 Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId}"
|
||||
}
|
||||
}
|
||||
|
||||
Include.hdmi.File "/Intel/sof-ehl-rt5660/Hdmi.conf"
|
|
@ -0,0 +1,19 @@
|
|||
# UCM for Intel ElkhartLake platforms
|
||||
# For Audio in I2S mode
|
||||
|
||||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/sof-ehl-rt5660/HiFi.conf"
|
||||
Comment "Play and record HiFi quality Music"
|
||||
}
|
||||
|
||||
SectionDefaults [
|
||||
cset "name='DAC1 MIXL DAC1 Switch' on"
|
||||
cset "name='DAC1 MIXR DAC1 Switch' on"
|
||||
cset "name='Stereo DAC MIXL DAC L1 Switch' on"
|
||||
cset "name='Stereo DAC MIXR DAC R1 Switch' on"
|
||||
cset "name='LOUT MIX DAC Switch' on"
|
||||
cset "name='RECMIXL BST2 Switch' on"
|
||||
cset "name='RECMIXR BST2 Switch' on"
|
||||
]
|
|
@ -0,0 +1,30 @@
|
|||
# Use case Configuration for sof-es8336
|
||||
|
||||
Include.hdmi.File "/codecs/hda/hdmi.conf"
|
||||
|
||||
If.hdmi1 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi1.HDMI {
|
||||
Number 1
|
||||
Device 5
|
||||
Priority 500
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi2 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi2.HDMI {
|
||||
Number 2
|
||||
Device 6
|
||||
Priority 600
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi3 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi3.HDMI {
|
||||
Number 3
|
||||
Device 7
|
||||
Priority 700
|
||||
}
|
||||
}
|
|
@ -0,0 +1,152 @@
|
|||
SectionVerb {
|
||||
EnableSequence [
|
||||
disdevall ""
|
||||
# Disable all inputs / outputs
|
||||
# (may be duplicated with disdevall)
|
||||
cset "name='Headphone Switch' off"
|
||||
cset "name='Headset Mic Switch' off"
|
||||
cset "name='Internal Mic Switch' off"
|
||||
cset "name='DAC Mono Mix Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
If.amic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceDmic}"
|
||||
}
|
||||
True.SectionDevice."Mic" {
|
||||
Comment "Analog Microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Differential Mux' lin1-rin1"
|
||||
cset "name='Internal Mic Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Internal Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "ADC PGA Gain"
|
||||
CaptureMasterElem "ADC"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceDmic}"
|
||||
}
|
||||
False.SectionDevice."${var:DeviceDmic}" {
|
||||
Comment "Digital Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},1"
|
||||
If.chn {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
Regex "cfg-dmics:[34]"
|
||||
String "${CardComponents}"
|
||||
}
|
||||
True {
|
||||
CaptureChannels 4
|
||||
}
|
||||
}
|
||||
CaptureMixerElem "Dmic0"
|
||||
CaptureVolume "Dmic0 Capture Volume"
|
||||
CaptureSwitch "Dmic0 Capture Switch"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speakers"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speaker Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speaker Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
# The es8316 only has a HP-amp which is muxed to the speaker
|
||||
# or to the headpones output
|
||||
PlaybackMixerElem "Headphone Mixer"
|
||||
PlaybackMasterElem "DAC"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
PlaybackMixerElem "Headphone Mixer"
|
||||
PlaybackMasterElem "DAC"
|
||||
JackControl "Headphone Jack"
|
||||
JackHWMute "Speaker"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
If.conflict {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceDmic}"
|
||||
}
|
||||
True.ConflictingDevice [
|
||||
"Mic"
|
||||
]
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic Switch' on"
|
||||
cset "name='Digital Mic Mux' 'dmic disable'"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headset Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CapturePCM "hw:${CardId}"
|
||||
CaptureMixerElem "ADC PGA Gain"
|
||||
CaptureMasterElem "ADC"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
}
|
||||
|
||||
Include.hdmi.File "/Intel/sof-essx8336/Hdmi.conf"
|
|
@ -0,0 +1,57 @@
|
|||
Syntax 6
|
||||
|
||||
BootSequence [
|
||||
# Setup muxes / switches
|
||||
cset "name='Left Headphone Mixer Left DAC Switch' on"
|
||||
cset "name='Right Headphone Mixer Right DAC Switch' on"
|
||||
# Set digital mix mux to "dmic disable"
|
||||
# That doesn't affect dmic, but other values mute headset mic
|
||||
cset "name='Digital Mic Mux' 0"
|
||||
|
||||
# Set HP vol to 0 dB
|
||||
cset "name='Headphone Playback Volume' 100%"
|
||||
cset "name='Headphone Mixer Volume' 100%"
|
||||
|
||||
# Set DAC vol
|
||||
cset "name='DAC Playback Volume' 60%"
|
||||
# LDATA TO LDAC, RDATA TO RDAC
|
||||
cset "name='DAC Source Mux' 0"
|
||||
|
||||
# Disable Auto Level Control
|
||||
cset "name='ALC Capture Switch' off"
|
||||
|
||||
# Set capture vol
|
||||
cset "name='ADC Capture Volume' 60%"
|
||||
]
|
||||
|
||||
Define.DeviceDmic ""
|
||||
|
||||
If.devdmic {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-dmics:"
|
||||
}
|
||||
True.Define.DeviceDmic "Mic"
|
||||
}
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/sof-essx8336/HiFi.conf"
|
||||
Comment "Play and record HiFi quality Music"
|
||||
}
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceDmic}"
|
||||
}
|
||||
False.If.Dmic0 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Dmic0 Capture Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Dmic0 Capture Volume' 70%"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
# Use case Configuration for sof-glkda7219max
|
||||
|
||||
Include.hdmi.File "/codecs/hda/hdmi.conf"
|
||||
|
||||
If.hdmi1 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi1.HDMI {
|
||||
Number 1
|
||||
Device 5
|
||||
Priority 500
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi2 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi2.HDMI {
|
||||
Number 2
|
||||
Device 6
|
||||
Priority 600
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi3 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi3.HDMI {
|
||||
Number 3
|
||||
Device 7
|
||||
Priority 700
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
# command-line sequence to switch playback/capture
|
||||
# alsaucm -c sof-glkda7219max set _verb HiFi set _enadev Headphone
|
||||
# alsaucm -c sof-glkda7219max set _verb HiFi set _enadev Speaker
|
||||
# alsaucm -c sof-glkda7219max set _verb HiFi set _enadev Headset
|
||||
# alsaucm -c sof-glkda7219max set _verb HiFi set _enadev InternalMic
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='Spk Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='Spk Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},1"
|
||||
PlaybackMixerElem "Headphone"
|
||||
JackControl "Headphone Jack"
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='Headphone Jack Switch' on"
|
||||
cset "name='Headphone Switch' 1"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='Headphone Jack Switch' off"
|
||||
cset "name='Headphone Switch' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},99"
|
||||
CaptureChannels 4
|
||||
#CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1"
|
||||
#MaxSoftwareGain "2000"
|
||||
}
|
||||
}
|
||||
|
||||
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"
|
||||
]
|
||||
}
|
||||
|
||||
Include.hdmi.File "/Intel/sof-glkda7219max/Hdmi.conf"
|
|
@ -0,0 +1,8 @@
|
|||
Syntax 6
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/sof-glkda7219max/HiFi.conf"
|
||||
Comment "Play and record HiFi quality Music"
|
||||
}
|
||||
|
||||
Include.codec-init.File "/codecs/da7219/init.conf"
|
|
@ -0,0 +1,30 @@
|
|||
# Use case Configuration for sof-hda-dsp
|
||||
|
||||
Include.hdmi.File "/codecs/hda/hdmi.conf"
|
||||
|
||||
If.hdmi1 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi1.HDMI {
|
||||
Number 1
|
||||
Device 3
|
||||
Priority 500
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi2 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi1.HDMI {
|
||||
Number 2
|
||||
Device 4
|
||||
Priority 600
|
||||
}
|
||||
}
|
||||
|
||||
If.hdmi3 {
|
||||
Condition { Type AlwaysTrue }
|
||||
True.Macro.hdmi1.HDMI {
|
||||
Number 3
|
||||
Device 5
|
||||
Priority 700
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
# Use case Configuration for sof-hda-dsp
|
||||
|
||||
SectionVerb {
|
||||
EnableSequence [
|
||||
disdevall ""
|
||||
]
|
||||
|
||||
Value.TQ "HiFi"
|
||||
}
|
||||
|
||||
Include.hda-analog.File "/HDA/HiFi-analog.conf"
|
||||
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceDmic}"
|
||||
}
|
||||
Before.SectionDevice "${var:DeviceMic}"
|
||||
False.SectionDevice."${var:DeviceDmic}" {
|
||||
Comment "Digital Microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},6"
|
||||
CaptureMicInfoFile "${var:LibDir}/dmics-nhlt.json"
|
||||
If.chn {
|
||||
Condition {
|
||||
Type RegexMatch
|
||||
Regex "cfg-dmics:[34]"
|
||||
String "${CardComponents}"
|
||||
}
|
||||
True {
|
||||
CaptureChannels 4
|
||||
}
|
||||
}
|
||||
If.vol {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Dmic0 Capture Switch'"
|
||||
}
|
||||
True {
|
||||
CaptureMixerElem "Dmic0"
|
||||
CaptureVolume "Dmic0 Capture Volume"
|
||||
CaptureSwitch "Dmic0 Capture Switch"
|
||||
}
|
||||
False {
|
||||
# v1.3 SOF firmware
|
||||
CaptureMixerElem "PGA10.0 10 Master"
|
||||
CaptureVolume "PGA10.0 10 Master Capture Volume"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Include.hdmi.File "/Intel/sof-hda-dsp/Hdmi.conf"
|
|
@ -0,0 +1,117 @@
|
|||
Syntax 6
|
||||
|
||||
Define.DeviceMic "Mic"
|
||||
Define.DeviceDmic ""
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
|
||||
If.devdmic {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "cfg-dmics:"
|
||||
}
|
||||
True {
|
||||
Define.DeviceDmic "Mic1"
|
||||
Define.DeviceMic "Mic2"
|
||||
FixedBootSequence [
|
||||
#
|
||||
# users expect to turn the LED on when only internal
|
||||
# mic is off, but it makes sense to turn this LED
|
||||
# when all internal inputs are off
|
||||
#
|
||||
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch"
|
||||
# dmic array info
|
||||
exec "-nhlt-dmic-info -o ${var:LibDir}/dmics-nhlt.json"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/sof-hda-dsp/HiFi.conf"
|
||||
Comment "Play HiFi quality Music"
|
||||
}
|
||||
|
||||
# the kcontrols initial values, which will be set by `alsactl init`
|
||||
|
||||
If.amute {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Auto-Mute Mode'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Auto-Mute Mode' off"
|
||||
]
|
||||
}
|
||||
|
||||
If.master {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Master Playback Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Master Playback Volume' 60%"
|
||||
cset "name='Master Playback Switch' on"
|
||||
]
|
||||
}
|
||||
|
||||
If.speaker {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Speaker Playback Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Speaker Playback Volume' 60%"
|
||||
]
|
||||
}
|
||||
|
||||
If.DellMuteLed {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "$${sys:class/leds/platform::mute/device}"
|
||||
Needle "dell-laptop"
|
||||
}
|
||||
True {
|
||||
FixedBootSequence [
|
||||
sysw "-/class/sound/ctl-led/speaker/card${CardNumber}/attach:Master Playback Switch"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
If.headphone {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Headphone Playback Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Headphone Playback Volume' 60%"
|
||||
]
|
||||
}
|
||||
|
||||
If.dmic {
|
||||
Condition {
|
||||
Type String
|
||||
Empty "${var:DeviceDmic}"
|
||||
}
|
||||
False.If.Dmic0 {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Dmic0 Capture Volume'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Dmic0 Capture Volume' 70%"
|
||||
cset "name='Dmic0 Capture Switch' on"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
If.Capture {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='Capture Switch'"
|
||||
}
|
||||
True.BootSequence [
|
||||
cset "name='Capture Volume' 60%"
|
||||
cset "name='Capture Switch' on"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,88 @@
|
|||
SectionVerb {
|
||||
EnableSequence [
|
||||
disdevall ""
|
||||
]
|
||||
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Speakers Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Speakers Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
PlaybackPriority 100
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Jack Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Headphone Jack Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId},3"
|
||||
JackControl "Headphone Jack"
|
||||
PlaybackMixerElem "DAC1"
|
||||
PlaybackPriority 200
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='MTKAIF_DMIC Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='MTKAIF_DMIC Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePCM "hw:${CardId},10"
|
||||
CapturePriority 100
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic Switch' 1"
|
||||
cset "name='STO1 ADC Capture Switch' 1"
|
||||
cset "name='RECMIX1L CBJ Switch' 1"
|
||||
cset "name='Stereo1 ADC MIXL ADC1 Switch' 1"
|
||||
cset "name='Stereo1 ADC MIXR ADC1 Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='STO1 ADC Capture Switch' 0"
|
||||
cset "name='RECMIX1L CBJ Switch' 0"
|
||||
cset "name='Stereo1 ADC MIXL ADC1 Switch' 0"
|
||||
cset "name='Stereo1 ADC MIXR ADC1 Switch' 0"
|
||||
cset "name='Headset Mic Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePCM "hw:${CardId},11"
|
||||
JackControl "Headset Mic Jack"
|
||||
CapturePriority 200
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
BootSequence [
|
||||
# Speaker
|
||||
cset "name='I2S3_CH1 DL1_CH1' 1"
|
||||
cset "name='I2S3_CH2 DL1_CH2' 1"
|
||||
cset "name='I2S3_HD_Mux' 1"
|
||||
|
||||
# Headphone
|
||||
cset "name='I2S9_CH1 DL3_CH1' 1"
|
||||
cset "name='I2S9_CH2 DL3_CH2' 1"
|
||||
cset "name='I2S9_HD_Mux' 1"
|
||||
|
||||
# Internal Mic
|
||||
cset "name='UL1_CH1 ADDA_UL_CH1' 1"
|
||||
cset "name='UL1_CH2 ADDA_UL_CH2' 1"
|
||||
cset "name='UL_SRC_MUX' DMIC"
|
||||
|
||||
# Headset Mic
|
||||
cset "name='UL2_CH1 I2S8_CH1' 1"
|
||||
cset "name='UL2_CH2 I2S8_CH2' 1"
|
||||
cset "name='I2S8_HD_Mux' 1"
|
||||
cset "name='Stereo1 ADC L1 Mux' 1"
|
||||
cset "name='Stereo1 ADC R1 Mux' 1"
|
||||
cset "name='CBJ Boost Volume' 3"
|
||||
]
|
|
@ -0,0 +1,11 @@
|
|||
Comment "MT8192 MT6359 RT1015P RT5682 sound card"
|
||||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
||||
Include.init.File "init.conf"
|
|
@ -0,0 +1,20 @@
|
|||
# mt8195 specific boot sequence
|
||||
|
||||
BootSequence [
|
||||
# eTDM
|
||||
cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys"
|
||||
|
||||
# mt6359 audio
|
||||
cset "name='UL_SRC_MUX' DMIC"
|
||||
|
||||
# AFE
|
||||
cset "name='O048 I070 Switch' 1"
|
||||
cset "name='O049 I071 Switch' 1"
|
||||
cset "name='O072 I020 Switch' 1"
|
||||
cset "name='O073 I021 Switch' 1"
|
||||
cset "name='O036 I012 Switch' 1"
|
||||
cset "name='O037 I013 Switch' 1"
|
||||
cset "name='O034 I168 Switch' 1"
|
||||
cset "name='O035 I169 Switch' 1"
|
||||
]
|
|
@ -0,0 +1,94 @@
|
|||
# Use case configuration for mt8195-mt6359-rt1019-rt5682
|
||||
|
||||
SectionVerb {
|
||||
EnableSequence [
|
||||
disdevall ""
|
||||
]
|
||||
|
||||
Value.TQ "HiFi"
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Speaker"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Ext Spk Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Ext Spk Switch' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},16"
|
||||
PlaybackPriority 100
|
||||
PlaybackMixerElem "Speaker"
|
||||
PlaybackVolume "Speaker Playback Volume"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headphones"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headphone Switch' on"
|
||||
cset "name='HPOL Playback Switch' 1"
|
||||
cset "name='HPOR Playback Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HPOL Playback Switch' 0"
|
||||
cset "name='HPOR Playback Switch' 0"
|
||||
cset "name='Headphone Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},17"
|
||||
JackControl "Headphone Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Headset Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Headset Mic Switch' on"
|
||||
cset "name='STO1 ADC Capture Switch' 1"
|
||||
cset "name='RECMIX1L CBJ Switch' 1"
|
||||
cset "name='Stereo1 ADC MIXL ADC1 Switch' 1"
|
||||
cset "name='Stereo1 ADC MIXR ADC1 Switch' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='STO1 ADC Capture Switch' 0"
|
||||
cset "name='RECMIX1L CBJ Switch' 0"
|
||||
cset "name='Stereo1 ADC MIXL ADC1 Switch' 0"
|
||||
cset "name='Stereo1 ADC MIXR ADC1 Switch' 0"
|
||||
cset "name='Headset Mic Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId},19"
|
||||
JackControl "Headset Mic Jack"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Internal Microphone"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='MTKAIF_DMIC' On"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='MTKAIF_DMIC' Off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePCM "hw:${CardId},18"
|
||||
CapturePriority 100
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
# rt1019-rt5682 specific boot sequence
|
||||
BootSequence [
|
||||
cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1"
|
||||
cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1"
|
||||
cset "name='DAC L Mux' IF1"
|
||||
cset "name='DAC R Mux' IF1"
|
||||
cset "name='IF1 01 ADC Swap Mux' 2"
|
||||
cset "name='CBJ Boost Volume' 3"
|
||||
cset "name='Stereo1 ADC L Mux' 'ADC1 L'"
|
||||
cset "name='Stereo1 ADC R Mux' 'ADC1 R'"
|
||||
cset "name='Stereo1 ADC L1 Mux' 1"
|
||||
cset "name='Stereo1 ADC R1 Mux' 1"
|
||||
|
||||
cset "name='DAC1 MIXL DAC1 Switch' 1"
|
||||
cset "name='DAC1 MIXR DAC1 Switch' 1"
|
||||
|
||||
cset "name='DAC1 MIXL Stereo ADC Switch' 0"
|
||||
cset "name='DAC1 MIXR Stereo ADC Switch' 0"
|
||||
|
||||
cset "name='Stereo1 ADC MIXL ADC2 Switch' 0"
|
||||
cset "name='Stereo1 ADC MIXR ADC2 Switch' 0"
|
||||
]
|
|
@ -0,0 +1,12 @@
|
|||
Comment "MT8195 MT6359 RT1019 RT5682 sound card"
|
||||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
|
||||
Include.card-init.File "/lib/card-init.conf"
|
||||
Include.ctl-remap.File "/lib/ctl-remap.conf"
|
||||
Include.init.File "/MediaTek/mt8195-sof/init.conf"
|
||||
Include.init-rt1019-rt5682.File "/MediaTek/mt8195-sof/mt6359-rt1019-rt5682/init.conf"
|
|
@ -0,0 +1,117 @@
|
|||
SectionVerb {
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HDMI_OUT_MUX' Connect"
|
||||
cset "name='DPTX_OUT_MUX' Connect"
|
||||
cset "name='O176 I070 Switch' on"
|
||||
cset "name='O177 I071 Switch' on"
|
||||
cset "name='O034 I168 Switch' on"
|
||||
cset "name='O035 I169 Switch' on"
|
||||
cset "name='O036 I012 Switch' on"
|
||||
cset "name='O037 I013 Switch' on"
|
||||
cset "name='O072 I022 Switch' on"
|
||||
cset "name='O073 I023 Switch' on"
|
||||
cset "name='O074 I024 Switch' on"
|
||||
cset "name='O075 I025 Switch' on"
|
||||
cset "name='O076 I026 Switch' on"
|
||||
cset "name='O077 I027 Switch' on"
|
||||
cset "name='O078 I028 Switch' on"
|
||||
cset "name='O079 I029 Switch' on"
|
||||
cset "name='O002 I004 Switch' on"
|
||||
cset "name='O003 I005 Switch' on"
|
||||
cset "name='O004 I006 Switch' on"
|
||||
cset "name='O005 I007 Switch' on"
|
||||
cset "name='O006 I008 Switch' on"
|
||||
cset "name='O007 I009 Switch' on"
|
||||
cset "name='O008 I010 Switch' on"
|
||||
cset "name='O009 I011 Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HDMI_OUT_MUX' Disconnect"
|
||||
cset "name='DPTX_OUT_MUX' Disconnect"
|
||||
cset "name='O176 I070 Switch' off"
|
||||
cset "name='O177 I071 Switch' off"
|
||||
cset "name='O034 I168 Switch' off"
|
||||
cset "name='O035 I169 Switch' off"
|
||||
cset "name='O036 I012 Switch' off"
|
||||
cset "name='O037 I013 Switch' off"
|
||||
cset "name='O072 I022 Switch' off"
|
||||
cset "name='O073 I023 Switch' off"
|
||||
cset "name='O074 I024 Switch' off"
|
||||
cset "name='O075 I025 Switch' off"
|
||||
cset "name='O076 I026 Switch' off"
|
||||
cset "name='O077 I027 Switch' off"
|
||||
cset "name='O078 I028 Switch' off"
|
||||
cset "name='O079 I029 Switch' off"
|
||||
cset "name='O002 I004 Switch' off"
|
||||
cset "name='O003 I005 Switch' off"
|
||||
cset "name='O004 I006 Switch' off"
|
||||
cset "name='O005 I007 Switch' off"
|
||||
cset "name='O006 I008 Switch' off"
|
||||
cset "name='O007 I009 Switch' off"
|
||||
cset "name='O008 I010 Switch' off"
|
||||
cset "name='O009 I011 Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."HDMI" {
|
||||
Comment "Hdmi/DP output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 250
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headset speakers"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
PlaybackVolume "name='Headset Volume'"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Headset microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CaptureChannels 1
|
||||
CapturePCM "hw:${CardId},10"
|
||||
CaptureVolume "PGA1 Volume"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line1" {
|
||||
Comment "I2S Line In"
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},11"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line2" {
|
||||
Comment "I2S Line out"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackChannels 8
|
||||
PlaybackPCM "hw:${CardId},6"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "PDM microphones"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CaptureChannels 8
|
||||
CapturePCM "hw:${CardId},14"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
Syntax 2
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/MediaTek/mt8195_demo/HiFi.conf"
|
||||
Comment "Play high quality music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
cset "name='Headset Volume' 0"
|
||||
cset "name='Lineout Volume' 0"
|
||||
cset "name='HP Mux' Audio\ Playback"
|
||||
cset "name='LOL Mux' Playback"
|
||||
cset "name='MISO0_MUX' UL1_CH1"
|
||||
cset "name='MISO1_MUX' UL1_CH1"
|
||||
cset "name='ADC_L_Mux' Left\ Preamplifier"
|
||||
cset "name='PGA_L_Mux' AIN1"
|
||||
cset "name='HDMI_OUT_MUX' Connect"
|
||||
cset "name='DPTX_OUT_MUX' Connect"
|
||||
# we need to enable all devices before starting PA.
|
||||
# In our driver we use PCM, which means that we have
|
||||
# to route Front End to a BackEnd and then only we can
|
||||
# open a device. Without linking to BE it will fail.
|
||||
cset "name='O176 I070 Switch' on"
|
||||
cset "name='O177 I071 Switch' on"
|
||||
cset "name='O072 I022 Switch' on"
|
||||
cset "name='O073 I023 Switch' on"
|
||||
cset "name='O074 I024 Switch' on"
|
||||
cset "name='O075 I025 Switch' on"
|
||||
cset "name='O076 I026 Switch' on"
|
||||
cset "name='O077 I027 Switch' on"
|
||||
cset "name='O078 I028 Switch' on"
|
||||
cset "name='O079 I029 Switch' on"
|
||||
cset "name='O034 I168 Switch' on"
|
||||
cset "name='O035 I169 Switch' on"
|
||||
cset "name='O036 I012 Switch' on"
|
||||
cset "name='O037 I013 Switch' on"
|
||||
cset "name='O002 I004 Switch' on"
|
||||
cset "name='O003 I005 Switch' on"
|
||||
cset "name='O004 I006 Switch' on"
|
||||
cset "name='O005 I007 Switch' on"
|
||||
cset "name='O006 I008 Switch' on"
|
||||
cset "name='O007 I009 Switch' on"
|
||||
cset "name='O008 I010 Switch' on"
|
||||
cset "name='O009 I011 Switch' on"
|
||||
]
|
|
@ -0,0 +1,141 @@
|
|||
SectionDevice."HDMI" {
|
||||
Comment "Hdmi output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 250
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},1"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='O00 I07 Switch' on"
|
||||
cset "name='O01 I08 Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='O00 I07 Switch' off"
|
||||
cset "name='O01 I08 Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Line-out Jack "
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
PlaybackVolume "name='Lineout_PGAL_GAIN'"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Audio_Amp_L_Switch' Off"
|
||||
cset "name='Audio_Amp_R_Switch' Off"
|
||||
cset "name='Lineout_PGAL_GAIN' 0"
|
||||
cset "name='Speaker_Amp_Switch' On"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Audio_Amp_L_Switch' On"
|
||||
cset "name='Audio_Amp_R_Switch' On"
|
||||
cset "name='Speaker_Amp_Switch' Off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Headset speakers"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
PlaybackVolume "name='Headset_PGAL_GAIN'"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Audio_Amp_L_Switch' On"
|
||||
cset "name='Audio_Amp_R_Switch' On"
|
||||
cset "name='Headset_PGAL_GAIN' 1"
|
||||
cset "name='Speaker_Amp_Switch' Off"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Audio_Amp_L_Switch' Off"
|
||||
cset "name='Audio_Amp_R_Switch' Off"
|
||||
cset "name='Speaker_Amp_Switch' On"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Amic"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic2"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CaptureChannels 1
|
||||
CapturePCM "hw:${CardId},2"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Audio_MicSource1_Setting' ADC1"
|
||||
cset "name='Audio_MICBIAS0_Switch' Off"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Audio_MicSource1_Setting' ADC2"
|
||||
cset "name='Audio_MICBIAS0_Switch' On"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Headset microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 350
|
||||
CaptureChannels 1
|
||||
CapturePCM "hw:${CardId},2"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Audio_MicSource1_Setting' ADC2"
|
||||
cset "name='Audio_MICBIAS0_Switch' On"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Audio_MicSource1_Setting' ADC1"
|
||||
cset "name='Audio_MICBIAS0_Switch' Off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Mic3" {
|
||||
Comment "PDM microphones"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},3"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Audio_MICBIAS0_Switch' On"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Audio_MICBIAS0_Switch' Off"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/MediaTek/mt8365-evk/HiFi.conf"
|
||||
Comment "Play high quality music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
#Audio volume
|
||||
cset "name='Headset_PGAL_GAIN' 0"
|
||||
cset "name='Lineout_PGAL_GAIN' 0"
|
||||
|
||||
#Audio amp
|
||||
cset "name='Audio_Amp_R_Switch' On"
|
||||
cset "name='Audio_Amp_L_Switch' On"
|
||||
|
||||
#Headset out
|
||||
cset "name='Speaker_Amp_Switch' Off"
|
||||
|
||||
#Dmic
|
||||
cset "name='Audio_MICBIAS0_Switch' On"
|
||||
|
||||
#HDMI audio (I2S3 Out)
|
||||
cset "name='O00 I07 Switch' on"
|
||||
cset "name='O01 I08 Switch' on"
|
||||
|
||||
#jack_mic Headset In
|
||||
cset "name='Audio_MicSource1_Setting' ADC2"
|
||||
|
||||
cset "name='O03 I05 Switch' on"
|
||||
cset "name='O04 I06 Switch' on"
|
||||
cset "name='O05 I03 Switch' on"
|
||||
cset "name='O06 I04 Switch' on"
|
||||
cset "name='O09 I14 Switch' on"
|
||||
cset "name='O10 I15 Switch' on"
|
||||
cset "name='AUD_CLK_BUF_Switch' On"
|
||||
cset "name='Audio_ADC_1_Switch' On"
|
||||
cset "name='INT ADDA O03_O04 Switch' on"
|
||||
]
|
|
@ -0,0 +1,165 @@
|
|||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
JackControl "HDMI Jack"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HDMI_OUT_MUX' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HDMI_OUT_MUX' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "DP output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
JackControl "DP Jack"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='DPTX_OUT_MUX' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='DPTX_OUT_MUX' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Lineout speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='LOL Mux' Playback_L_DAC"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='LOL Mux' Open"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 400
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Earphone speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HP Mux' Audio Playback"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HP Mux' Open"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 500
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Earphone microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic1"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='PGA_L_Mux' AIN1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 500
|
||||
CaptureChannels 1
|
||||
CapturePCM "hw:${CardId},10"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Analog microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='PGA_L_Mux' AIN0"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 400
|
||||
CaptureChannels 1
|
||||
CapturePCM "hw:${CardId},10"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Digital microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},14"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line1" {
|
||||
Comment "PCM input"
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},8"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line2" {
|
||||
Comment "PCM output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},2"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line3" {
|
||||
Comment "I2S input"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},11"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line4" {
|
||||
Comment "I2S output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackChannels 8
|
||||
PlaybackPCM "hw:${CardId},6"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/MediaTek/mt8370-evk/HiFi.conf"
|
||||
Comment "Play high quality music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
cset "name='HP Mux' Audio Playback"
|
||||
cset "name='LOL Mux' Open"
|
||||
cset "name='MISO0_MUX' UL1_CH1"
|
||||
cset "name='MISO1_MUX' UL1_CH1"
|
||||
cset "name='ADC_L_Mux' Left Preamplifier"
|
||||
cset "name='PGA_L_Mux' AIN1"
|
||||
cset "name='HDMI_OUT_MUX' Connect"
|
||||
cset "name='DPTX_OUT_MUX' Disconnect"
|
||||
cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_OUT2_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_OUT3_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_IN2_Clock_Source' a1sys_a2sys"
|
||||
cset "name='Lineout Volume' 10"
|
||||
cset "name='Headset Volume' 2"
|
||||
cset "name='PGA1 Volume' 4"
|
||||
cset "name='O000 I000 Switch' on"
|
||||
cset "name='O001 I001 Switch' on"
|
||||
cset "name='O002 I004 Switch' on"
|
||||
cset "name='O003 I006 Switch' on"
|
||||
cset "name='O034 I168 Switch' on"
|
||||
cset "name='O035 I169 Switch' on"
|
||||
cset "name='O036 I012 Switch' on"
|
||||
cset "name='O037 I013 Switch' on"
|
||||
cset "name='O040 I002 Switch' on"
|
||||
cset "name='O041 I003 Switch' on"
|
||||
cset "name='O048 I022 Switch' on"
|
||||
cset "name='O049 I023 Switch' on"
|
||||
cset "name='O050 I024 Switch' on"
|
||||
cset "name='O051 I025 Switch' on"
|
||||
cset "name='O052 I026 Switch' on"
|
||||
cset "name='O053 I027 Switch' on"
|
||||
cset "name='O054 I028 Switch' on"
|
||||
cset "name='O055 I029 Switch' on"
|
||||
cset "name='O176 I070 Switch' on"
|
||||
cset "name='O177 I071 Switch' on"
|
||||
]
|
|
@ -0,0 +1,165 @@
|
|||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
JackControl "HDMI Jack"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HDMI_OUT_MUX' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HDMI_OUT_MUX' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "DP output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
JackControl "DP Jack"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='DPTX_OUT_MUX' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='DPTX_OUT_MUX' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Lineout speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='LOL Mux' Playback_L_DAC"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='LOL Mux' Open"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 400
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Earphone speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HP Mux' Audio Playback"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HP Mux' Open"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 500
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Earphone microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic1"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='PGA_L_Mux' AIN1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 500
|
||||
CaptureChannels 1
|
||||
CapturePCM "hw:${CardId},10"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Analog microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='PGA_L_Mux' AIN0"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 400
|
||||
CaptureChannels 1
|
||||
CapturePCM "hw:${CardId},10"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Digital microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},14"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line1" {
|
||||
Comment "PCM input"
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},8"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line2" {
|
||||
Comment "PCM output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},2"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line3" {
|
||||
Comment "I2S input"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},11"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line4" {
|
||||
Comment "I2S output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackChannels 8
|
||||
PlaybackPCM "hw:${CardId},6"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/MediaTek/mt8390-evk/HiFi.conf"
|
||||
Comment "Play high quality music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
cset "name='HP Mux' Audio Playback"
|
||||
cset "name='LOL Mux' Open"
|
||||
cset "name='MISO0_MUX' UL1_CH1"
|
||||
cset "name='MISO1_MUX' UL1_CH1"
|
||||
cset "name='ADC_L_Mux' Left Preamplifier"
|
||||
cset "name='PGA_L_Mux' AIN1"
|
||||
cset "name='HDMI_OUT_MUX' Connect"
|
||||
cset "name='DPTX_OUT_MUX' Disconnect"
|
||||
cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_OUT2_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_OUT3_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys"
|
||||
cset "name='ETDM_IN2_Clock_Source' a1sys_a2sys"
|
||||
cset "name='Lineout Volume' 10"
|
||||
cset "name='Headset Volume' 2"
|
||||
cset "name='PGA1 Volume' 4"
|
||||
cset "name='O000 I000 Switch' on"
|
||||
cset "name='O001 I001 Switch' on"
|
||||
cset "name='O002 I004 Switch' on"
|
||||
cset "name='O003 I006 Switch' on"
|
||||
cset "name='O034 I168 Switch' on"
|
||||
cset "name='O035 I169 Switch' on"
|
||||
cset "name='O036 I012 Switch' on"
|
||||
cset "name='O037 I013 Switch' on"
|
||||
cset "name='O040 I002 Switch' on"
|
||||
cset "name='O041 I003 Switch' on"
|
||||
cset "name='O048 I022 Switch' on"
|
||||
cset "name='O049 I023 Switch' on"
|
||||
cset "name='O050 I024 Switch' on"
|
||||
cset "name='O051 I025 Switch' on"
|
||||
cset "name='O052 I026 Switch' on"
|
||||
cset "name='O053 I027 Switch' on"
|
||||
cset "name='O054 I028 Switch' on"
|
||||
cset "name='O055 I029 Switch' on"
|
||||
cset "name='O176 I070 Switch' on"
|
||||
cset "name='O177 I071 Switch' on"
|
||||
]
|
|
@ -0,0 +1,163 @@
|
|||
SectionDevice."HDMI1" {
|
||||
Comment "HDMI output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
JackControl "HDMI Jack"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HDMI_OUT_MUX' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HDMI_OUT_MUX' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."HDMI2" {
|
||||
Comment "DP output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},5"
|
||||
JackControl "DP Jack"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='DPTX_OUT_MUX' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='DPTX_OUT_MUX' 0"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."HDMI3" {
|
||||
Comment "HDMI RX"
|
||||
|
||||
Value {
|
||||
CapturePriority 200
|
||||
CapturePCM "hw:${CardId},7"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Lineout speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headphones"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='LOL Mux' Playback_L_DAC"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='LOL Mux' Open"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 300
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headphones" {
|
||||
Comment "Earphone speaker"
|
||||
|
||||
ConflictingDevice [
|
||||
"Speaker"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='HP Mux' Audio Playback"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='HP Mux' Open"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 400
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Headset" {
|
||||
Comment "Earphone microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Mic1"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='PGA_L_Mux' AIN1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 500
|
||||
CaptureChannels 3
|
||||
CapturePCM "hw:${CardId},15"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Analog microphone"
|
||||
|
||||
ConflictingDevice [
|
||||
"Headset"
|
||||
]
|
||||
|
||||
EnableSequence [
|
||||
cset "name='PGA_L_Mux' AIN0"
|
||||
cset "name='O039 I169 Switch' on"
|
||||
cset "name='O182 I170 Switch' on"
|
||||
cset "name='MISO1_MUX' UL1_CH2"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='O039 I169 Switch' off"
|
||||
cset "name='O182 I170 Switch' off"
|
||||
cset "name='MISO1_MUX' UL1_CH1"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePriority 400
|
||||
CaptureChannels 3
|
||||
CapturePCM "hw:${CardId},15"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Digital microphone"
|
||||
|
||||
Value {
|
||||
CapturePriority 300
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},14"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line1" {
|
||||
Comment "PCM input"
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CaptureChannels 2
|
||||
CapturePCM "hw:${CardId},8"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line2" {
|
||||
Comment "PCM output"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackChannels 2
|
||||
PlaybackPCM "hw:${CardId},2"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/MediaTek/mt8395-evk/HiFi.conf"
|
||||
Comment "Play high quality music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
cset "name='HP Mux' Audio Playback"
|
||||
cset "name='LOL Mux' Open"
|
||||
cset "name='MISO0_MUX' UL1_CH1"
|
||||
cset "name='MISO1_MUX' UL1_CH1"
|
||||
cset "name='ADC_L_Mux' Left Preamplifier"
|
||||
cset "name='ADC_R_Mux' Right Preamplifier"
|
||||
cset "name='ADC_3_Mux' Preamplifier"
|
||||
cset "name='PGA_L_Mux' AIN1"
|
||||
cset "name='PGA_R_Mux' AIN2"
|
||||
cset "name='PGA_3_Mux' AIN3"
|
||||
cset "name='HDMI_OUT_MUX' Connect"
|
||||
cset "name='DPTX_OUT_MUX' Disconnect"
|
||||
cset "name='MULTI_IN1_MUX' HDMI_RX_I2S"
|
||||
cset "name='Lineout Volume' 10"
|
||||
cset "name='Headset Volume' 2"
|
||||
cset "name='PGA1 Volume' 4"
|
||||
cset "name='PGA2 Volume' 4"
|
||||
cset "name='PGA3 Volume' 4"
|
||||
cset "name='O000 I000 Switch' on"
|
||||
cset "name='O001 I001 Switch' on"
|
||||
cset "name='O002 I004 Switch' on"
|
||||
cset "name='O003 I005 Switch' on"
|
||||
cset "name='O004 I006 Switch' on"
|
||||
cset "name='O005 I007 Switch' on"
|
||||
cset "name='O006 I008 Switch' on"
|
||||
cset "name='O007 I009 Switch' on"
|
||||
cset "name='O008 I010 Switch' on"
|
||||
cset "name='O009 I011 Switch' on"
|
||||
cset "name='O034 I168 Switch' on"
|
||||
cset "name='O035 I169 Switch' on"
|
||||
cset "name='O038 I168 Switch' on"
|
||||
cset "name='O039 I169 Switch' on"
|
||||
cset "name='O040 I002 Switch' on"
|
||||
cset "name='O041 I003 Switch' on"
|
||||
cset "name='O176 I070 Switch' on"
|
||||
cset "name='O177 I071 Switch' on"
|
||||
cset "name='O182 I170 Switch' on"
|
||||
cset "name='O183 I171 Switch' on"
|
||||
]
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue