From 2ad89eb0d39a20cdb0c50c3114aebe47e45a8c90 Mon Sep 17 00:00:00 2001 From: Rander Wang Date: Tue, 30 Aug 2022 13:36:11 +0800 Subject: [PATCH] topology2: add deep buffer support on sdw platforms Sdw platforms will support deep buffer Signed-off-by: Rander Wang --- tools/topology/topology2/cavs/cavs-sdw.conf | 79 ++++++++++++++++----- 1 file changed, 62 insertions(+), 17 deletions(-) diff --git a/tools/topology/topology2/cavs/cavs-sdw.conf b/tools/topology/topology2/cavs/cavs-sdw.conf index 5d7b089d3..7003c1877 100644 --- a/tools/topology/topology2/cavs/cavs-sdw.conf +++ b/tools/topology/topology2/cavs/cavs-sdw.conf @@ -10,6 +10,9 @@ + + + @@ -100,27 +103,49 @@ Object.Dai { # Pipeline ID:1 PCM ID: 0 Object.Pipeline { - passthrough-playback."1" { + host-copier-gain-mixin-playback."1" { index 1 + Object.Widget.copier.1 { + stream_name "volume playback 0" + } + Object.Widget.gain.1 { + Object.Control.mixer.1 { + name '1 Playback Volume 0' + } + } + } + + mixout-gain-dai-copier-playback."2" { + index 2 + Object.Widget.pipeline.1.stream_name "copier.ALH.2.1" - Object.Widget.copier.1.stream_name "Passthrough Playback 0" - } - passthrough-be.1 { - direction "playback" - index 2 - - Object.Widget.pipeline.1 { - stream_name 'copier.ALH.2.1' - } Object.Widget.copier.1 { - stream_name 'SDW0-Playback' - dai_type "ALH" - copier_type "ALH" - type "dai_in" + stream_name 'SDW0-Playback' + dai_type "ALH" + copier_type "ALH" node_type $ALH_LINK_OUTPUT_CLASS } + Object.Widget.gain.1 { + Object.Control.mixer.1 { + name '2 Main Playback Volume' + } + } + } + + deepbuffer-playback."5" { + index 5 + + Object.Widget.copier.1 { + stream_name 'Deepbuffer Playback' + } + + Object.Widget.gain.1 { + Object.Control.mixer.1 { + name '5 2nd Playback Volume' + } + } } passthrough-capture."4" { @@ -134,7 +159,7 @@ Object.Pipeline { in_bit_depth 32 } } - passthrough-be.2 { + passthrough-be.3 { direction "capture" index 3 copier_type "ALH" @@ -159,7 +184,7 @@ Object.PCM { Object.Base.fe_dai."Jack out" {} Object.PCM.pcm_caps."playback" { - name "Passthrough Playback 0" + name "volume playback 0" formats 'S16_LE,S32_LE' } } @@ -174,11 +199,21 @@ Object.PCM { formats 'S16_LE,S32_LE' } } + pcm."2" { + name 'DeepBuffer' + id 2 + Object.Base.fe_dai.'DeepBuffer' {} + Object.PCM.pcm_caps.playback { + name 'Deepbuffer Playback' + formats 'S32_LE,S24_LE,S16_LE' + } + direction playback + } } Object.Base { route."0" { - source "copier.host.1.1" + source "gain.2.1" sink "copier.ALH.2.1" } @@ -186,4 +221,14 @@ Object.Base { source "copier.ALH.3.1" sink "copier.host.4.1" } + + route."2" { + source "mixin.1.1" + sink "mixout.2.1" + } + + route.3 { + source 'mixin.5.1' + sink 'mixout.2.1' + } }