diff --git a/tools/topology/topology2/include/common/tokens.conf b/tools/topology/topology2/include/common/tokens.conf index e411283a8..d1612dbbf 100644 --- a/tools/topology/topology2/include/common/tokens.conf +++ b/tools/topology/topology2/include/common/tokens.conf @@ -80,6 +80,7 @@ Object.Base.VendorToken { # ABI 4.0 onwards lp_mode 207 use_chain_dma 209 + kcps 210 } "9" { diff --git a/tools/topology/topology2/include/components/pipeline.conf b/tools/topology/topology2/include/components/pipeline.conf index 8dafb6bdf..92f3e11d3 100644 --- a/tools/topology/topology2/include/components/pipeline.conf +++ b/tools/topology/topology2/include/components/pipeline.conf @@ -13,6 +13,12 @@ # # Where N is the unique instance number for pipeline widget in the same alsaconf node. +Define { + # If KCPS value for the pipeline is 0 then the driver does not send any + # KCPS adjustment message to the firmware. This is the default. + KCPS_PIPELINE_DEFAULT 0 +} + Class.Widget."pipeline" { # pipeline_id for the pipeline widget DefineAttribute."index" {} @@ -104,6 +110,12 @@ Class.Widget."pipeline" { } } + # kcps requirements for the pipeline, default value defined bellow + DefineAttribute."kcps" { + # Token reference and type + token_ref "sof_tkn_scheduler.word" + } + attributes { # pipeline widget name will be constructed as pipeline.1, pipeline.2 etc !constructor [ @@ -127,4 +139,5 @@ Class.Widget."pipeline" { # Default attributes for pipeline type "scheduler" no_pm "true" + kcps $KCPS_PIPELINE_DEFAULT }