From c3fdf30364127366d03208ecbd4881a8ba43100d Mon Sep 17 00:00:00 2001 From: Ranjani Sridharan Date: Tue, 16 Nov 2021 14:12:06 -0800 Subject: [PATCH] topology2: pipelines: Add the other mixin/mixout pipelines Add all the missing mixin/mixout pipelines. Signed-off-by: Ranjani Sridharan --- .../include/pipelines/cavs/mixin-capture.conf | 74 +++++++++++++++++ .../pipelines/cavs/mixout-capture.conf | 79 +++++++++++++++++++ .../pipelines/cavs/mixout-playback.conf | 72 +++++++++++++++++ 3 files changed, 225 insertions(+) create mode 100644 tools/topology/topology2/include/pipelines/cavs/mixin-capture.conf create mode 100644 tools/topology/topology2/include/pipelines/cavs/mixout-capture.conf create mode 100644 tools/topology/topology2/include/pipelines/cavs/mixout-playback.conf diff --git a/tools/topology/topology2/include/pipelines/cavs/mixin-capture.conf b/tools/topology/topology2/include/pipelines/cavs/mixin-capture.conf new file mode 100644 index 000000000..5bc16db46 --- /dev/null +++ b/tools/topology/topology2/include/pipelines/cavs/mixin-capture.conf @@ -0,0 +1,74 @@ +# +# mixin base BE capture pipeline +# +# A windows pipeline. All attributes defined herein are namespaced +# by alsatplg to "Object.Pipeline.mixin-playback.N.attribute_name" +# +# Usage: mixin-capture pipeline object can be instantiated as: +# +# Object.Pipeline.mixin-capture."N" { +# format "s16le" +# period 1000 +# time_domain "timer" +# channels 2 +# rate 48000 +# } +# +# Where N is the unique pipeline ID within the same alsaconf node. +# + + + + + +Class.Pipeline."mixin-capture" { + + DefineAttribute."index" {} + + + + attributes { + !constructor [ + "index" + ] + + !mandatory [ + "format" + ] + + !immutable [ + "direction" + ] + + # + # mixin-capture objects instantiated within the same alsaconf node must have + # unique pipeline_id attribute + # + unique "instance" + } + + Object.Widget { + copier."1" { + type dai_out + period_sink_count 2 + period_source_count 0 + } + + mixin."1" { + } + + pipeline."1" { + priority 0 + lp_mode 0 + } + } + + direction "capture" + time_domain "timer" + channels 2 + channels_min 2 + channels_max 2 + rate 48000 + rate_min 48000 + rate_max 48000 +} diff --git a/tools/topology/topology2/include/pipelines/cavs/mixout-capture.conf b/tools/topology/topology2/include/pipelines/cavs/mixout-capture.conf new file mode 100644 index 000000000..9e85215c6 --- /dev/null +++ b/tools/topology/topology2/include/pipelines/cavs/mixout-capture.conf @@ -0,0 +1,79 @@ +# +# mixout based FE capture pipeline +# +# All attributes defined herein are namespaced +# by alsatplg to "Object.Pipeline.mixin-playback.N.attribute_name" +# +# Usage: mixout-capture pipeline object can be instantiated as: +# +# Object.Pipeline.mixout-capture."N" { +# format "s16le" +# period 1000 +# time_domain "timer" +# channels 2 +# rate 48000 +# } +# +# Where N is the unique pipeline ID within the same alsaconf node. +# + + + + + +Class.Pipeline."mixout-capture" { + + DefineAttribute."index" {} + + + + attributes { + !constructor [ + "index" + ] + + !mandatory [ + "format" + ] + + !immutable [ + "direction" + ] + + # + # mixout-capture objects instantiated within the same alsaconf node must have + # unique pipeline_id attribute + # + unique "instance" + } + + Object.Widget { + mixout."1" {} + + copier."1" { + copier_type "host" + type "aif_out" + } + + pipeline."1" { + priority 0 + lp_mode 0 + } + } + + Object.Base { + route.0 { + source mixout..1 + sink copier.host..1 + } + } + + direction "capture" + time_domain "timer" + channels 2 + channels_min 2 + channels_max 2 + rate 48000 + rate_min 48000 + rate_max 48000 +} diff --git a/tools/topology/topology2/include/pipelines/cavs/mixout-playback.conf b/tools/topology/topology2/include/pipelines/cavs/mixout-playback.conf new file mode 100644 index 000000000..70b980303 --- /dev/null +++ b/tools/topology/topology2/include/pipelines/cavs/mixout-playback.conf @@ -0,0 +1,72 @@ +# +# windows normal playback pipeline +# +# A windows pipeline. All attributes defined herein are namespaced +# by alsatplg to "Object.Pipeline.mixin-playback.N.attribute_name" +# +# Usage: mixin-playback pipeline object can be instantiated as: +# +# Object.Pipeline.mixout-playback."N" { +# format "s16le" +# period 1000 +# time_domain "timer" +# channels 2 +# rate 48000 +# } +# +# Where N is the unique pipeline ID within the same alsaconf node. +# + + + + + +Class.Pipeline."mixout-playback" { + + DefineAttribute."index" {} + + + + attributes { + !constructor [ + "index" + ] + + !mandatory [ + "format" + ] + + !immutable [ + "direction" + ] + + # + # mixin-playback objects instantiated within the same alsaconf node must have + # unique pipeline_id attribute + # + unique "instance" + } + + Object.Widget { + mixout."1" {} + copier."1" { + type dai_in + period_sink_count 0 + period_source_count 2 + } + + pipeline."1" { + priority 0 + lp_mode 0 + } + } + + direction "playback" + time_domain "timer" + channels 2 + channels_min 2 + channels_max 2 + rate 48000 + rate_min 48000 + rate_max 48000 +}