topology2: add cavs src support

Cavs src is different with sof src. It has different uuid
and param which are composed of base module definition and
output rate.

Signed-off-by: Rander Wang <rander.wang@intel.com>
This commit is contained in:
Rander Wang 2022-06-13 14:48:31 +08:00 committed by Liam Girdwood
parent 3f12097f36
commit 7b6d395aca
1 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,96 @@
#
#
# A generic src component. All attributes defined herein are namespaced
# by alsatplg to "Object.Widget.src.N.attribute_name"
#
# Usage: this component can be used by instantiating it in the parent object. i.e.
#
# Object.Widget.src."N" {
# period_sink_count 2
# period_source_count 2
# format "s24le"
# rate_out 48000
# }
#
# Where N is the unique instance number for the src widget within the same alsaconf node.
Class.Widget."src" {
#
# Pipeline ID for the src widget object
#
DefineAttribute."index" {}
#
# object instance
#
DefineAttribute."instance" {}
#include common component definition
<include/components/widget-common.conf>
#
# widget UUID
#
DefineAttribute."uuid" {
type "string"
# Token set reference name and type
token_ref "sof_tkn_comp.uuid"
}
#
# Bespoke attributes
#
# Target sample rate
DefineAttribute."rate_out" {
# Token set reference name and type
token_ref "sof_tkn_src.word"
}
DefineAttribute."num_audio_formats" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}
attributes {
#
# The widget name would be constructed using the index and instance attributes.
# For ex: "src.1.1" or "src.10.2" etc.
#
!constructor [
"index"
"instance"
]
!mandatory [
"rate_out"
]
#
# immutable attributes cannot be modified in the object instance
#
!immutable [
"uuid"
"type"
]
#
# deprecated attributes should not be added in the object instance
#
!deprecated [
"preload_count"
]
unique "instance"
}
#
# Default attributes
#
type "src"
# E61BB28D-149A-4C1F-B709-46823EF5F5AE
uuid "8d:b2:1b:e6:9a:14:1f:4c:b7:09:46:82:3e:f5:f5:ae"
no_pm "true"
rate_out 48000
}