sof/tools/topology/topology2/cavs/cavs-nocodec.conf

388 lines
6.4 KiB
Plaintext

<searchdir:cavs>
<searchdir:include>
<searchdir:include/common>
<searchdir:include/components>
<searchdir:include/dais>
<searchdir:include/pipelines/cavs>
<searchdir:cavs/platform/intel>
<vendor-token.conf>
<manifest.conf>
<pdm_config.conf>
<tokens.conf>
<virtual.conf>
<passthrough-playback.conf>
<passthrough-capture.conf>
<passthrough-be.conf>
<data.conf>
<pcm.conf>
<pcm_caps.conf>
<fe_dai.conf>
<ssp.conf>
<dmic.conf>
<hw_config.conf>
<manifest.conf>
<route.conf>
<cavs/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"
}
# 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"
}
#
# 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
#
# Pipeline ID:1 PCM ID: 0
Object.Pipeline {
# playback pipelines
passthrough-be.1 {
index 2
direction playback
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
}
}
passthrough-playback.1 {
index 1
Object.Widget.pipeline.1 {
stream_name 'NoCodec-0'
}
Object.Widget.copier.1 {
stream_name 'SSP0 Playback'
}
}
passthrough-be.2 {
index 4
direction playback
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
}
}
passthrough-playback.2 {
index 3
Object.Widget.pipeline.1 {
stream_name 'NoCodec-1'
}
Object.Widget.copier.1 {
stream_name 'SSP1 Playback'
}
}
passthrough-be.3 {
index 6
direction playback
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
}
}
passthrough-playback.3 {
index 5
Object.Widget.pipeline.1 {
stream_name 'NoCodec-2'
}
Object.Widget.copier.1 {
stream_name 'SSP2 Playback'
}
}
# capture pipelines
passthrough-capture.1 {
index 7
Object.Widget.pipeline.1 {
stream_name 'NoCodec-0'
}
Object.Widget.copier.1 {
stream_name 'SSP0 Capture'
}
}
passthrough-be.4 {
index 8
direction capture
Object.Widget.pipeline.1 {
stream_name 'NoCodec-0'
}
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]"
}
}
}
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."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 "copier.host.1.1"
sink "copier.SSP.2.1"
}
route."2" {
source "copier.host.3.1"
sink "copier.SSP.4.1"
}
route."3" {
source "copier.host.5.1"
sink "copier.SSP.6.1"
}
route."4" {
source "copier.SSP.8.1"
sink "copier.host.7.1"
}
route."5" {
source "copier.SSP.10.1"
sink "copier.host.9.1"
}
route."6" {
source "copier.SSP.12.1"
sink "copier.host.11.1"
}
}