mirror of https://github.com/thesofproject/sof.git
228 lines
7.8 KiB
Plaintext
228 lines
7.8 KiB
Plaintext
Define {
|
|
ANALOG_PLAYBACK_PCM 'Analog Playback'
|
|
ANALOG_CAPTURE_PCM 'Analog Capture'
|
|
HDA_ANALOG_DAI_NAME 'Analog'
|
|
DEEP_BUFFER_PIPELINE_ID 15
|
|
DEEP_BUFFER_PCM_ID 31
|
|
DEEP_BUFFER_PIPELINE_SRC 'mixin.15.1'
|
|
DEEP_BUFFER_PIPELINE_SINK 'mixout.2.1'
|
|
DEEP_BUFFER_PCM_NAME 'Deepbuffer HDA Analog'
|
|
}
|
|
|
|
# include deep buffer config if buffer size is in 1 - 1000 ms.
|
|
IncludeByKey.DEEPBUFFER_FW_DMA_MS{
|
|
"([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|1000)" "platform/intel/deep-buffer.conf"
|
|
}
|
|
|
|
Object.Dai.HDA [
|
|
{
|
|
name $HDA_ANALOG_DAI_NAME
|
|
dai_index 0
|
|
id 4
|
|
default_hw_conf_id 4
|
|
Object.Base.hw_config.1 {
|
|
name "HDA0"
|
|
}
|
|
direction duplex
|
|
}
|
|
]
|
|
|
|
Object.Pipeline {
|
|
IncludeByKey.EFX_DRC_COMPONENT {
|
|
"singleband" {
|
|
mixout-gain-efx-dai-copier-playback [
|
|
{
|
|
index 2
|
|
|
|
Object.Widget.dai-copier.1 {
|
|
node_type $HDA_LINK_OUTPUT_CLASS
|
|
stream_name $HDA_ANALOG_DAI_NAME
|
|
dai_type "HDA"
|
|
copier_type "HDA"
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM Volume'
|
|
}
|
|
}
|
|
Object.Widget.eqiir.1 {
|
|
Object.Control.bytes."1" {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM IIR Eq'
|
|
}
|
|
}
|
|
Object.Widget.eqfir.1 {
|
|
Object.Control.bytes."1" {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM FIR Eq'
|
|
}
|
|
}
|
|
Object.Widget.drc.1 {
|
|
Object.Control.bytes."1" {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM DRC'
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
"multiband" {
|
|
mixout-gain-efx-mbdrc-dai-copier-playback [
|
|
{
|
|
index 2
|
|
|
|
Object.Widget.dai-copier.1 {
|
|
node_type $HDA_LINK_OUTPUT_CLASS
|
|
stream_name $HDA_ANALOG_DAI_NAME
|
|
dai_type "HDA"
|
|
copier_type "HDA"
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM Volume'
|
|
}
|
|
}
|
|
Object.Widget.eqiir.1 {
|
|
Object.Control.bytes."1" {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM IIR Eq'
|
|
}
|
|
}
|
|
Object.Widget.eqfir.1 {
|
|
Object.Control.bytes."1" {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM FIR Eq'
|
|
}
|
|
}
|
|
Object.Widget.multiband_drc.1 {
|
|
Object.Control {
|
|
bytes."1" {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM MBDRC bytes'
|
|
}
|
|
mixer."1" {
|
|
name 'Post Mixer $ANALOG_PLAYBACK_PCM MBDRC switch'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
host-copier-gain-mixin-playback [
|
|
{
|
|
index 1
|
|
|
|
Object.Widget.host-copier.1 {
|
|
stream_name $ANALOG_PLAYBACK_PCM
|
|
pcm_id 0
|
|
}
|
|
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Pre Mixer $ANALOG_PLAYBACK_PCM Volume'
|
|
}
|
|
}
|
|
}
|
|
]
|
|
|
|
host-gateway-capture [
|
|
{
|
|
index 3
|
|
Object.Widget.host-copier.1 {
|
|
stream_name $ANALOG_CAPTURE_PCM
|
|
pcm_id 0
|
|
}
|
|
}
|
|
]
|
|
|
|
io-gateway [
|
|
{
|
|
index 4
|
|
direction capture
|
|
|
|
Object.Widget.dai-copier."1" {
|
|
dai_type "HDA"
|
|
type "dai_out"
|
|
copier_type "HDA"
|
|
stream_name $HDA_ANALOG_DAI_NAME
|
|
node_type $HDA_LINK_INPUT_CLASS
|
|
num_output_pins 1
|
|
num_input_audio_formats 1
|
|
num_output_audio_formats 1
|
|
Object.Base.input_audio_format [
|
|
{
|
|
in_bit_depth 32
|
|
in_valid_bit_depth 32
|
|
}
|
|
]
|
|
Object.Base.output_audio_format [
|
|
{
|
|
out_bit_depth 32
|
|
out_valid_bit_depth 32
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
Object.PCM.pcm [
|
|
{
|
|
id 0
|
|
name 'HDA Analog'
|
|
Object.Base.fe_dai.1 {
|
|
name "HDA Analog"
|
|
}
|
|
Object.PCM.pcm_caps.1 {
|
|
direction "playback"
|
|
name $ANALOG_PLAYBACK_PCM
|
|
formats 'S32_LE,S24_LE,S16_LE'
|
|
}
|
|
Object.PCM.pcm_caps.2 {
|
|
direction "capture"
|
|
name $ANALOG_CAPTURE_PCM
|
|
formats 'S32_LE,S24_LE,S16_LE'
|
|
}
|
|
direction duplex
|
|
}
|
|
]
|
|
|
|
# top-level pipeline connections
|
|
IncludeByKey.EFX_DRC_COMPONENT {
|
|
"singleband" {
|
|
Object.Base.route [
|
|
{
|
|
sink 'dai-copier.HDA.$HDA_ANALOG_DAI_NAME.playback'
|
|
source 'drc.2.1'
|
|
}
|
|
{
|
|
source 'mixin.1.1'
|
|
sink 'mixout.2.1'
|
|
}
|
|
{
|
|
source 'dai-copier.HDA.$HDA_ANALOG_DAI_NAME.capture'
|
|
sink 'host-copier.0.capture'
|
|
}
|
|
{
|
|
source 'host-copier.0.playback'
|
|
sink 'gain.1.1'
|
|
}
|
|
]
|
|
}
|
|
"multiband" {
|
|
Object.Base.route [
|
|
{
|
|
sink 'dai-copier.HDA.$HDA_ANALOG_DAI_NAME.playback'
|
|
source 'multiband_drc.2.1'
|
|
}
|
|
{
|
|
source 'mixin.1.1'
|
|
sink 'mixout.2.1'
|
|
}
|
|
{
|
|
source 'dai-copier.HDA.$HDA_ANALOG_DAI_NAME.capture'
|
|
sink 'host-copier.0.capture'
|
|
}
|
|
{
|
|
source 'host-copier.0.playback'
|
|
sink 'gain.1.1'
|
|
}
|
|
]
|
|
}
|
|
}
|