mirror of https://github.com/thesofproject/sof.git
510 lines
8.7 KiB
Plaintext
510 lines
8.7 KiB
Plaintext
<searchdir:include>
|
|
<searchdir:include/common>
|
|
<searchdir:include/components>
|
|
<searchdir:include/dais>
|
|
<searchdir:include/pipelines/cavs>
|
|
<searchdir:platform/intel>
|
|
|
|
<vendor-token.conf>
|
|
<manifest.conf>
|
|
<pdm_config.conf>
|
|
<tokens.conf>
|
|
<virtual.conf>
|
|
<passthrough-capture.conf>
|
|
<passthrough-be.conf>
|
|
<host-copier-gain-mixin-playback.conf>
|
|
<mixout-gain-dai-copier-playback.conf>
|
|
<dai-copier-gain-module-copier-capture.conf>
|
|
<gain-capture.conf>
|
|
<deepbuffer-playback.conf>
|
|
<data.conf>
|
|
<pcm.conf>
|
|
<pcm_caps.conf>
|
|
<fe_dai.conf>
|
|
<ssp.conf>
|
|
<dmic.conf>
|
|
<hw_config.conf>
|
|
<manifest.conf>
|
|
<route.conf>
|
|
<common_definitions.conf>
|
|
<copier.conf>
|
|
<pipeline.conf>
|
|
<dai.conf>
|
|
<host.conf>
|
|
<dmic-default.conf>
|
|
|
|
Define {
|
|
MCLK 24576000
|
|
NUM_DMICS 0
|
|
# override DMIC default definitions
|
|
DMIC0_HOST_PIPELINE_ID 13
|
|
DMIC0_DAI_PIPELINE_ID 14
|
|
DMIC0_HOST_PIPELINE_SINK 'copier.host.13.1'
|
|
DMIC0_DAI_PIPELINE_SRC 'copier.DMIC.14.1'
|
|
DMIC0_NAME 'NoCodec-6'
|
|
DMIC1_NAME 'NoCodec-7'
|
|
DMIC0_PCM_CAPS 'Passthrough Capture 13'
|
|
DMIC0_PIPELINE_STREAM_NAME 'copier.DMIC.14.1'
|
|
PLATFORM "none"
|
|
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 Port0'
|
|
}
|
|
|
|
# override defaults with platform-specific config
|
|
IncludeByKey.PLATFORM {
|
|
"mtl" "platform/intel/mtl.conf"
|
|
}
|
|
|
|
# include DMIC config if needed.
|
|
IncludeByKey.NUM_DMICS {
|
|
"[1-4]" "platform/intel/dmic-generic.conf"
|
|
}
|
|
|
|
# include deep buffer config if buffer size is in 1 - 1000 ms.
|
|
IncludeByKey.DEEPBUFFER_FW_DMA_MS{
|
|
"[1-1000]" "platform/intel/deep-buffer.conf"
|
|
}
|
|
|
|
#
|
|
# List of all DAIs
|
|
#
|
|
#SSP Index: 0, Direction: duplex
|
|
Object.Dai {
|
|
SSP."0" {
|
|
id 0
|
|
dai_index 0
|
|
direction "duplex"
|
|
name NoCodec-0
|
|
default_hw_conf_id 0
|
|
sample_bits 32
|
|
quirks "lbm_mode"
|
|
io_clk $MCLK
|
|
|
|
Object.Base.hw_config."SSP0" {
|
|
id 0
|
|
mclk_freq $MCLK
|
|
bclk_freq 3072000
|
|
tdm_slot_width 32
|
|
}
|
|
}
|
|
SSP."1" {
|
|
id 1
|
|
dai_index 1
|
|
direction "duplex"
|
|
name NoCodec-1
|
|
default_hw_conf_id 0
|
|
sample_bits 32
|
|
quirks "lbm_mode"
|
|
io_clk $MCLK
|
|
|
|
Object.Base.hw_config."SSP1" {
|
|
id 0
|
|
mclk_freq $MCLK
|
|
bclk_freq 3072000
|
|
tdm_slot_width 32
|
|
}
|
|
}
|
|
SSP."2" {
|
|
id 2
|
|
dai_index 2
|
|
direction "duplex"
|
|
name NoCodec-2
|
|
default_hw_conf_id 0
|
|
sample_bits 32
|
|
quirks "lbm_mode"
|
|
io_clk $MCLK
|
|
|
|
Object.Base.hw_config."SSP2" {
|
|
id 0
|
|
mclk_freq $MCLK
|
|
bclk_freq 3072000
|
|
tdm_slot_width 32
|
|
}
|
|
}
|
|
}
|
|
|
|
#
|
|
# Pipeline definitions
|
|
#
|
|
# PCM0 ---> gain ----> Mixin ----> Mixout ----> gain ----> SSP0
|
|
# PCM1 ---> gain ----> Mixin ----> Mixout ----> gain ----> SSP1
|
|
# PCM2 ---> gain ----> Mixin ----> Mixout ----> gain ----> SSP2
|
|
#
|
|
# SSP0 ----> PCM0
|
|
# SSP1 ----> PCM1
|
|
# SSP2 ----> PCM2
|
|
|
|
# Pipeline ID:1 PCM ID: 0
|
|
Object.Pipeline {
|
|
# playback pipelines
|
|
host-copier-gain-mixin-playback.1 {
|
|
index 1
|
|
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-0'
|
|
}
|
|
Object.Widget.copier.1 {
|
|
stream_name 'SSP0 Playback'
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Playback Volume 1'
|
|
}
|
|
}
|
|
}
|
|
|
|
mixout-gain-dai-copier-playback.1 {
|
|
index 2
|
|
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-0'
|
|
}
|
|
|
|
Object.Widget.copier.1 {
|
|
dai_index 0
|
|
dai_type "SSP"
|
|
copier_type "SSP"
|
|
stream_name "NoCodec-0"
|
|
node_type $I2S_LINK_OUTPUT_CLASS
|
|
}
|
|
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Main Playback Volume 2'
|
|
}
|
|
}
|
|
}
|
|
|
|
host-copier-gain-mixin-playback.2 {
|
|
index 3
|
|
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-1'
|
|
}
|
|
Object.Widget.copier.1 {
|
|
stream_name 'SSP1 Playback'
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Playback Volume 3'
|
|
}
|
|
}
|
|
}
|
|
|
|
mixout-gain-dai-copier-playback.2 {
|
|
index 4
|
|
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-1'
|
|
}
|
|
|
|
Object.Widget.copier.1 {
|
|
dai_index 1
|
|
dai_type "SSP"
|
|
copier_type "SSP"
|
|
stream_name "NoCodec-1"
|
|
node_type $I2S_LINK_OUTPUT_CLASS
|
|
}
|
|
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Main Playback Volume 4'
|
|
}
|
|
}
|
|
}
|
|
|
|
host-copier-gain-mixin-playback.3 {
|
|
index 5
|
|
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-2'
|
|
}
|
|
Object.Widget.copier.1 {
|
|
stream_name 'SSP2 Playback'
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Playback Volume 5'
|
|
}
|
|
}
|
|
}
|
|
|
|
mixout-gain-dai-copier-playback.3 {
|
|
index 6
|
|
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-2'
|
|
}
|
|
|
|
Object.Widget.copier.1 {
|
|
dai_index 2
|
|
dai_type "SSP"
|
|
copier_type "SSP"
|
|
stream_name "NoCodec-2"
|
|
node_type $I2S_LINK_OUTPUT_CLASS
|
|
}
|
|
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Main Playback Volume 6'
|
|
}
|
|
}
|
|
}
|
|
|
|
# capture pipelines
|
|
gain-capture.1 {
|
|
index 7
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-0'
|
|
}
|
|
Object.Widget.copier.1 {
|
|
stream_name 'SSP0 Capture'
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Main Capture Volume 1'
|
|
}
|
|
}
|
|
}
|
|
|
|
gain-capture.4 {
|
|
index 17
|
|
format s32le
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-0'
|
|
}
|
|
Object.Widget.copier.1 {
|
|
stream_name 'SSP0-1 Capture'
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Main Capture Volume 2'
|
|
}
|
|
}
|
|
}
|
|
|
|
dai-copier-gain-module-copier-capture.4 {
|
|
index 8
|
|
Object.Widget.copier."1" {
|
|
dai_index 0
|
|
dai_type "SSP"
|
|
type dai_out
|
|
copier_type "SSP"
|
|
stream_name "NoCodec-0"
|
|
node_type $I2S_LINK_INPUT_CLASS
|
|
Object.Base.audio_format.1 {
|
|
in_bit_depth 32
|
|
in_valid_bit_depth 32
|
|
out_bit_depth 32
|
|
out_valid_bit_depth 32
|
|
dma_buffer_size "$[$ibs * 2]"
|
|
}
|
|
}
|
|
|
|
Object.Widget.copier."2" {
|
|
stream_name "NoCodec-0"
|
|
Object.Base.audio_format.1 {
|
|
in_bit_depth 32
|
|
in_valid_bit_depth 32
|
|
out_bit_depth 32
|
|
out_valid_bit_depth 32
|
|
dma_buffer_size "$[$ibs * 2]"
|
|
}
|
|
}
|
|
Object.Widget.gain.1 {
|
|
Object.Control.mixer.1 {
|
|
name 'Host Capture Volume'
|
|
}
|
|
}
|
|
}
|
|
|
|
passthrough-capture.2 {
|
|
index 9
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-1'
|
|
}
|
|
Object.Widget.copier.1 {
|
|
stream_name 'SSP1 Capture'
|
|
}
|
|
}
|
|
|
|
passthrough-be.5 {
|
|
index 10
|
|
direction capture
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-1'
|
|
}
|
|
|
|
Object.Widget.copier."1" {
|
|
dai_index 1
|
|
dai_type "SSP"
|
|
type dai_out
|
|
copier_type "SSP"
|
|
stream_name "NoCodec-1"
|
|
node_type $I2S_LINK_INPUT_CLASS
|
|
Object.Base.audio_format.1 {
|
|
in_bit_depth 32
|
|
in_valid_bit_depth 32
|
|
out_bit_depth 32
|
|
out_valid_bit_depth 32
|
|
dma_buffer_size "$[$ibs * 2]"
|
|
}
|
|
}
|
|
}
|
|
|
|
passthrough-capture.3 {
|
|
index 11
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-2'
|
|
}
|
|
Object.Widget.copier.1 {
|
|
stream_name 'SSP2 Capture'
|
|
}
|
|
}
|
|
|
|
passthrough-be.6 {
|
|
index 12
|
|
direction capture
|
|
Object.Widget.pipeline.1 {
|
|
stream_name 'NoCodec-2'
|
|
}
|
|
|
|
Object.Widget.copier."1" {
|
|
dai_index 2
|
|
dai_type "SSP"
|
|
type dai_out
|
|
copier_type "SSP"
|
|
stream_name "NoCodec-2"
|
|
node_type $I2S_LINK_INPUT_CLASS
|
|
Object.Base.audio_format.1 {
|
|
in_bit_depth 32
|
|
in_valid_bit_depth 32
|
|
out_bit_depth 32
|
|
out_valid_bit_depth 32
|
|
dma_buffer_size "$[$ibs * 2]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Object.PCM {
|
|
pcm."0" {
|
|
name "Port0"
|
|
id 0
|
|
direction "duplex"
|
|
Object.Base.fe_dai."Port0" {}
|
|
|
|
Object.PCM.pcm_caps."playback" {
|
|
name "SSP0 Playback"
|
|
formats 'S16_LE,S24_LE,S32_LE'
|
|
}
|
|
|
|
Object.PCM.pcm_caps."capture" {
|
|
name "SSP0 Capture"
|
|
formats 'S16_LE,S24_LE,S32_LE'
|
|
}
|
|
}
|
|
pcm."12" {
|
|
name "ssp-capture"
|
|
id 12
|
|
direction "capture"
|
|
Object.Base.fe_dai."ssp-capture" {}
|
|
|
|
Object.PCM.pcm_caps."capture" {
|
|
name "SSP0-1 Capture"
|
|
formats 'S16_LE,S24_LE,S32_LE'
|
|
}
|
|
}
|
|
pcm."1" {
|
|
name "Port1"
|
|
id 1
|
|
direction "duplex"
|
|
Object.Base.fe_dai."Port1" {}
|
|
|
|
Object.PCM.pcm_caps."playback" {
|
|
name "SSP1 Playback"
|
|
formats 'S16_LE,S24_LE,S32_LE'
|
|
}
|
|
|
|
Object.PCM.pcm_caps."capture" {
|
|
name "SSP1 Capture"
|
|
formats 'S16_LE,S24_LE,S32_LE'
|
|
}
|
|
}
|
|
pcm."2" {
|
|
name "Port2"
|
|
id 2
|
|
direction "duplex"
|
|
Object.Base.fe_dai."Port2" {}
|
|
|
|
Object.PCM.pcm_caps."playback" {
|
|
name "SSP2 Playback"
|
|
formats 'S16_LE,S24_LE,S32_LE'
|
|
}
|
|
|
|
Object.PCM.pcm_caps."capture" {
|
|
name "SSP2 Capture"
|
|
formats 'S16_LE,S24_LE,S32_LE'
|
|
}
|
|
}
|
|
}
|
|
|
|
Object.Base {
|
|
route."1" {
|
|
source "gain.2.1"
|
|
sink "copier.SSP.2.1"
|
|
}
|
|
|
|
route."2" {
|
|
source "mixin.1.1"
|
|
sink "mixout.2.1"
|
|
}
|
|
|
|
route."3" {
|
|
source "gain.4.1"
|
|
sink "copier.SSP.4.1"
|
|
}
|
|
route."4" {
|
|
source "mixin.3.1"
|
|
sink "mixout.4.1"
|
|
}
|
|
|
|
route."5" {
|
|
source "gain.6.1"
|
|
sink "copier.SSP.6.1"
|
|
}
|
|
route."6" {
|
|
source "mixin.5.1"
|
|
sink "mixout.6.1"
|
|
}
|
|
|
|
route."7" {
|
|
source "copier.SSP.8.1"
|
|
sink "gain.8.1"
|
|
}
|
|
|
|
route."8" {
|
|
source "copier.SSP.10.1"
|
|
sink "copier.host.9.1"
|
|
}
|
|
|
|
route."9" {
|
|
source "copier.SSP.12.1"
|
|
sink "copier.host.11.1"
|
|
}
|
|
|
|
route."10" {
|
|
source "copier.module.8.2"
|
|
sink "copier.module.7.2"
|
|
}
|
|
|
|
route."11" {
|
|
source "copier.module.8.2"
|
|
sink "copier.module.17.2"
|
|
}
|
|
|
|
}
|