411 lines
5.8 KiB
Plaintext
411 lines
5.8 KiB
Plaintext
# Dynamic Firmware Configuration for Broadwell
|
|
|
|
# TLV
|
|
SectionTLV."hsw_vol_tlv" {
|
|
Comment "TLV used by both global and stream volumes"
|
|
|
|
scale {
|
|
min "-9000"
|
|
step "300"
|
|
mute "1"
|
|
}
|
|
}
|
|
|
|
# Controls
|
|
SectionControlMixer."Master Playback Volume" {
|
|
Comment "Global DSP volume"
|
|
|
|
# control belongs to this index group
|
|
index "1"
|
|
|
|
# Channel register and shift for Front Left/Right
|
|
channel."FL" {
|
|
reg "0"
|
|
shift "0"
|
|
}
|
|
channel."FR" {
|
|
reg "0"
|
|
shift "8"
|
|
}
|
|
|
|
# max control value and whether value is inverted
|
|
max "31"
|
|
invert "false"
|
|
|
|
# control uses bespoke driver get/put/info ID 0
|
|
ops."ctl" {
|
|
info "volsw"
|
|
get "256"
|
|
put "256"
|
|
}
|
|
|
|
# uses TLV data above
|
|
tlv "hsw_vol_tlv"
|
|
}
|
|
|
|
SectionControlMixer."Media0 Playback Volume" {
|
|
Comment "Offload 0 volume"
|
|
|
|
# control belongs to this index group
|
|
index "1"
|
|
|
|
# Channel register and shift for Front Left/Right
|
|
channel."FL" {
|
|
reg "1"
|
|
shift "0"
|
|
}
|
|
channel."FR" {
|
|
reg "1"
|
|
shift "8"
|
|
}
|
|
|
|
# max control value and whether value is inverted
|
|
max "31"
|
|
invert "false"
|
|
|
|
# control uses bespoke driver get/put/info ID 0
|
|
ops."ctl" {
|
|
info "volsw"
|
|
get "257"
|
|
put "257"
|
|
}
|
|
|
|
# uses TLV data above
|
|
tlv "hsw_vol_tlv"
|
|
}
|
|
|
|
SectionControlMixer."Media1 Playback Volume" {
|
|
Comment "Offload 1 volume"
|
|
|
|
# control belongs to this index group
|
|
index "1"
|
|
|
|
# Channel register and shift for Front Left/Right
|
|
channel."FL" {
|
|
reg "2"
|
|
shift "0"
|
|
}
|
|
channel."FR" {
|
|
reg "2"
|
|
shift "8"
|
|
}
|
|
|
|
# max control value and whether value is inverted
|
|
max "31"
|
|
invert "false"
|
|
|
|
# control uses bespoke driver get/put/info ID 0
|
|
ops."ctl" {
|
|
info "volsw"
|
|
get "257"
|
|
put "257"
|
|
}
|
|
|
|
# uses TLV data above
|
|
tlv "hsw_vol_tlv"
|
|
}
|
|
|
|
SectionControlMixer."Mic Capture Volume" {
|
|
Comment "Mic Capture volume"
|
|
|
|
# control belongs to this index group
|
|
index "1"
|
|
|
|
# Channel register and shift for Front Left/Right
|
|
channel."FL" {
|
|
reg "0"
|
|
shift "0"
|
|
}
|
|
channel."FR" {
|
|
reg "0"
|
|
shift "8"
|
|
}
|
|
|
|
# max control value and whether value is inverted
|
|
max "31"
|
|
invert "false"
|
|
|
|
# control uses bespoke driver get/put/info ID 0
|
|
ops."ctl" {
|
|
info "volsw"
|
|
get "257"
|
|
put "257"
|
|
}
|
|
|
|
# uses TLV data above
|
|
tlv "hsw_vol_tlv"
|
|
}
|
|
|
|
SectionWidget."SSP0 CODEC IN" {
|
|
|
|
index "1"
|
|
type "aif_in"
|
|
no_pm "true"
|
|
shift "0"
|
|
invert "0"
|
|
}
|
|
|
|
SectionWidget."SSP0 CODEC OUT" {
|
|
|
|
index "1"
|
|
type "aif_out"
|
|
no_pm "true"
|
|
shift "0"
|
|
invert "0"
|
|
}
|
|
|
|
SectionWidget."SSP1 BT IN" {
|
|
|
|
index "1"
|
|
type "aif_in"
|
|
no_pm "true"
|
|
shift "0"
|
|
invert "0"
|
|
}
|
|
|
|
SectionWidget."SSP1 BT OUT" {
|
|
|
|
index "1"
|
|
type "aif_out"
|
|
no_pm "true"
|
|
shift "0"
|
|
invert "0"
|
|
}
|
|
|
|
SectionWidget."Playback VMixer" {
|
|
|
|
index "1"
|
|
type "mixer"
|
|
no_pm "true"
|
|
shift "0"
|
|
invert "0"
|
|
}
|
|
|
|
# PCM Configurations supported by FW
|
|
SectionPCMConfig."PCM 48k Stereo 24bit" {
|
|
|
|
config."playback" {
|
|
format "S24_LE"
|
|
rate "48000"
|
|
channels "2"
|
|
tdm_slot "0xf"
|
|
}
|
|
|
|
config."capture" {
|
|
format "S24_LE"
|
|
rate "48000"
|
|
channels "2"
|
|
tdm_slot "0xf"
|
|
}
|
|
}
|
|
|
|
SectionPCMConfig."PCM 48k Stereo 16bit" {
|
|
|
|
config."playback" {
|
|
format "S16_LE"
|
|
rate "48000"
|
|
channels "2"
|
|
tdm_slot "0xf"
|
|
}
|
|
|
|
config."capture" {
|
|
format "S16_LE"
|
|
rate "48000"
|
|
channels "2"
|
|
tdm_slot "0xf"
|
|
}
|
|
}
|
|
|
|
SectionPCMConfig."PCM 48k 2P/4C 16bit" {
|
|
|
|
config."playback" {
|
|
format "S16_LE"
|
|
rate "48000"
|
|
channels "2"
|
|
tdm_slot "0xf"
|
|
}
|
|
|
|
config."capture" {
|
|
format "S16_LE"
|
|
rate "48000"
|
|
channels "4"
|
|
tdm_slot "0xf"
|
|
}
|
|
}
|
|
|
|
# PCM capabilities supported by FW
|
|
SectionPCMCapabilities."System Playback" {
|
|
|
|
formats "S24_LE,S16_LE"
|
|
rate_min "48000"
|
|
rate_max "48000"
|
|
channels_min "2"
|
|
channels_max "2"
|
|
}
|
|
|
|
SectionPCMCapabilities."Analog Capture" {
|
|
|
|
formats "S24_LE,S16_LE"
|
|
rate_min "48000"
|
|
rate_max "48000"
|
|
channels_min "2"
|
|
channels_max "4"
|
|
}
|
|
|
|
SectionPCMCapabilities."Loopback Capture" {
|
|
|
|
formats "S24_LE,S16_LE"
|
|
rate_min "48000"
|
|
rate_max "48000"
|
|
channels_min "2"
|
|
channels_max "2"
|
|
}
|
|
|
|
SectionPCMCapabilities."Offload0 Playback" {
|
|
formats "S24_LE,S16_LE"
|
|
rate_min "8000"
|
|
rate_max "192000"
|
|
channels_min "2"
|
|
channels_max "2"
|
|
}
|
|
|
|
SectionPCMCapabilities."Offload1 Playback" {
|
|
formats "S24_LE,S16_LE"
|
|
rate_min "8000"
|
|
rate_max "192000"
|
|
channels_min "2"
|
|
channels_max "2"
|
|
}
|
|
|
|
# PCM devices exported by Firmware
|
|
SectionPCM."System Playback/Capture" {
|
|
|
|
index "1"
|
|
|
|
# used for binding to the PCM
|
|
id "0"
|
|
|
|
dai."System Pin" {
|
|
id "0"
|
|
}
|
|
|
|
pcm."playback" {
|
|
|
|
capabilities "System Playback"
|
|
|
|
configs [
|
|
"PCM 48k Stereo 24bit"
|
|
"PCM 48k Stereo 16bit"
|
|
]
|
|
}
|
|
|
|
pcm."capture" {
|
|
|
|
capabilities "Analog Capture"
|
|
|
|
configs [
|
|
"PCM 48k Stereo 24bit"
|
|
"PCM 48k Stereo 16bit"
|
|
"PCM 48k 2P/4C 16bit"
|
|
]
|
|
}
|
|
}
|
|
|
|
SectionPCM."Offload0 Playback" {
|
|
|
|
index "1"
|
|
|
|
# used for binding to the PCM
|
|
id "1"
|
|
|
|
dai."Offload0 Pin" {
|
|
id "1"
|
|
}
|
|
|
|
pcm."playback" {
|
|
|
|
capabilities "Offload0 Playback"
|
|
|
|
configs [
|
|
"PCM 48k Stereo 24bit"
|
|
"PCM 48k Stereo 16bit"
|
|
]
|
|
}
|
|
}
|
|
|
|
SectionPCM."Offload1 Playback" {
|
|
|
|
index "1"
|
|
|
|
# used for binding to the PCM
|
|
id "2"
|
|
|
|
dai."Offload1 Pin" {
|
|
id "2"
|
|
}
|
|
|
|
pcm."playback" {
|
|
|
|
capabilities "Offload1 Playback"
|
|
|
|
configs [
|
|
"PCM 48k Stereo 24bit"
|
|
"PCM 48k Stereo 16bit"
|
|
]
|
|
}
|
|
}
|
|
|
|
SectionPCM."Loopback PCM" {
|
|
|
|
index "1"
|
|
|
|
# used for binding to the PCM
|
|
id "3"
|
|
|
|
dai."Loopback Pin" {
|
|
id "3"
|
|
}
|
|
|
|
pcm."capture" {
|
|
|
|
capabilities "Loopback Capture"
|
|
|
|
configs [
|
|
"PCM 48k Stereo 24bit"
|
|
"PCM 48k Stereo 16bit"
|
|
]
|
|
}
|
|
}
|
|
|
|
SectionGraph."dsp" {
|
|
index "1"
|
|
|
|
lines [
|
|
"Playback VMixer, , System Playback"
|
|
"Playback VMixer, , Offload0 Playback"
|
|
"Playback VMixer, , Offload1 Playback"
|
|
"SSP0 CODEC OUT, , Playback VMixer"
|
|
"Loopback Capture, , Playback VMixer"
|
|
"Analog Capture, , SSP0 CODEC IN"
|
|
]
|
|
}
|
|
|
|
SectionHWConfig."CodecHWConfig" {
|
|
id "1"
|
|
format "I2S" # physical audio format.
|
|
bclk "master" # Platform is master of bit clock
|
|
fsync "master" # platform is master of fsync
|
|
}
|
|
|
|
SectionLink."Codec" {
|
|
|
|
# used for binding to the physical link
|
|
id "0"
|
|
|
|
hw_configs [
|
|
"CodecHWConfig"
|
|
]
|
|
|
|
default_hw_conf_id "1"
|
|
}
|