Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions tools/topology/topology2/cavs-nocodec.conf
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
<virtual.conf>
<passthrough-capture.conf>
<passthrough-be.conf>
<dai-kpb-be.conf>
<wov-detect.conf>
<host-copier-gain-mixin-playback.conf>
<mixout-gain-dai-copier-playback.conf>
<dai-copier-gain-module-copier-capture.conf>
Expand All @@ -31,6 +33,8 @@
<pipeline.conf>
<dai.conf>
<host.conf>
<kpb.conf>
<src_pin_binding.conf>
<dmic-default.conf>

Define {
Expand All @@ -45,6 +49,7 @@ Define {
DMIC1_NAME 'NoCodec-7'
DMIC0_PCM_CAPS 'Passthrough Capture 13'
DMIC0_PIPELINE_STREAM_NAME 'copier.DMIC.14.1'
DMIC1_PCM_CAPS 'DMIC1 WOV Capture'
PLATFORM "none"
DEEP_BUFFER_PIPELINE_ID 15
DEEP_BUFFER_PCM_ID 31
Expand Down
10 changes: 6 additions & 4 deletions tools/topology/topology2/include/common/tokens.conf
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ Object.Base.VendorToken {
# the widget name that the queue is connected from/to.
sink_pin_binding_wname 413
src_pin_binding_wname 414
# Token payload_with_output_fmt specifies whether there is
# output audio format in the init instance ipc4 message
# payload.
payload_with_output_fmt 415
}

"sof_tkn_dai" {
Expand Down Expand Up @@ -111,6 +107,12 @@ Object.Base.VendorToken {

}

"sof_tkn_process" {
# Token payload_with_output_fmt specifies whether there is
# output audio format in the init instance ipc4 message payload.
payload_with_output_fmt 901
}

"sof_tkn_stream" {
playback_compatible_d0i3 "1200"
capture_compatible_d0i3 "1201"
Expand Down
89 changes: 89 additions & 0 deletions tools/topology/topology2/include/components/kpb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#
# Widget kpb
#
# A kpb widget. All attributes defined herein are namespaced
# by alsatplg to "Object.Widget.kpb.N.attribute_name"
#
# Usage: this component can be used by instantiating it in the parent object. i.e.
#
# Object.Widget.kpb."N" {
#
# }
#
# Where N is the unique instance number for the kpb object within the same alsaconf node.

Class.Widget."kpb" {
#
# Pipeline ID for the kpb object
#
DefineAttribute."index" {}

#
# Kpb object instance
#
DefineAttribute."instance" {}

DefineAttribute."cpc" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}

DefineAttribute."num_audio_formats" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}

#include common component definition
<include/components/widget-common.conf>

#
# kpb component UUID
#
DefineAttribute."uuid" {
type "string"
# Token set reference name and type
token_ref "sof_tkn_comp.uuid"
}

attributes {
#
# The kpb widget name would be constructed using the index and
# instance attributes. For example: "kpb.0.1".
#
!constructor [
"index"
"instance"
]

#
# mandatory attributes that must be provided when the class is instantiated
#
!mandatory [
"no_pm"
"uuid"
]

#
# immutable attributes cannot be modified in the object instance
#
!immutable [
"uuid"
]

unique "instance"
}

#
# Default attributes for kpb
#
type "effect"

num_audio_formats 1
#UUID: D8218443-5FF3-4A4C-B388-6CFE07B9562E
uuid "43:84:21:d8:f3:5f:4c:4a:b3:88:6c:fe:07:b9:56:2e"
no_pm "true"
core_id 0
cpc 720000
num_sink_pins 1
num_source_pins 2
}
95 changes: 95 additions & 0 deletions tools/topology/topology2/include/components/micsel.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
#
# Common widget micsel
#
# A generic micsel widget. All attributes defined herein are namespaced
# by alsatplg to "Object.Widget.micsel.N.attribute_name"
#
# Usage: this component can be used by instantiating it in the parent object. i.e.
#
# Object.Widget.micsel."N" {
#
# }
#
# Where N is the unique instance number for the micsel object within the same alsaconf node.

Class.Widget."micsel" {
#
# Pipeline ID for the micsel object
#
DefineAttribute."index" {}

#
# Micsel object instance
#
DefineAttribute."instance" {}

DefineAttribute."cpc" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}

DefineAttribute."num_audio_formats" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}

#include common component definition
<include/components/widget-common.conf>

#
# micsel component UUID
#
DefineAttribute."uuid" {
type "string"
# Token set reference name and type
token_ref "sof_tkn_comp.uuid"
}

DefineAttribute."payload_with_output_fmt" {
# Token set reference name and type
token_ref "sof_tkn_process.bool"
}

attributes {
#
# The micsel widget name would be constructed using the index and
# instance attributes. For example: "micsel.0.1".
#
!constructor [
"index"
"instance"
]

#
# mandatory attributes that must be provided when the class is instantiated
#
!mandatory [
"no_pm"
"uuid"
]

#
# immutable attributes cannot be modified in the object instance
#
!immutable [
"uuid"
]

unique "instance"
}

#
# Default attributes for micsel
#
type "effect"
payload_with_output_fmt 1

num_audio_formats 1
#UUID: 32FE92C1-1E17-4FC2-9758-C7F3542E980A
uuid "c1:92:fe:32:17:1e:c2:4f:97:58:c7:f3:54:2e:98:0a"
no_pm "true"
core_id 0
cpc 29000
num_sink_pins 1
num_source_pins 1
}
108 changes: 108 additions & 0 deletions tools/topology/topology2/include/components/wov.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
#
# wov widget
#
# A wov widget. This is a generic class, which will be used for multiple types of wov
# widget, and the wov widgets can be distinguished from one another with different UUID's.
# All attributes defined herein are namespaced
# by alsatplg to "Object.Widget.wov.N.attribute_name"
#
# Usage: this component can be used by instantiating it in the parent object. i.e.
#
# Object.Widget.wov."N" {
# uuid $WOV_UUID
# }
#
# Where N is the unique instance number for the wov object within the same alsaconf node.

Class.Widget."wov" {
#
# Pipeline ID for the wov object
#
DefineAttribute."index" {}

#
# wov object instance
#
DefineAttribute."instance" {}

DefineAttribute."cpc" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}

DefineAttribute."num_audio_formats" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}

#include common component definition
<include/components/widget-common.conf>

#
# wov component UUID
#
DefineAttribute."uuid" {
type "string"
# Token set reference name and type
token_ref "sof_tkn_comp.uuid"
}

DefineAttribute."is_pages" {
# Token set reference name and type
token_ref "sof_tkn_comp.word"
}

attributes {
#
# The wov widget name would be constructed using the index and
# instance attributes. For example: "wov.0.1".
#
!constructor [
"index"
"instance"
]

#
# mandatory attributes that must be provided when the class is instantiated
#
!mandatory [
"no_pm"
"uuid"
]

#
# immutable attributes cannot be modified in the object instance
#
!immutable [
"type"
]

unique "instance"
}

Object.Control.bytes."1" {
name wov_init
access [
tlv_read
tlv_callback
]
Object.Base.extops."extctl" {
get 258
put 0
}
max 4096
IncludeByKey.WOV_UUID {
'1f:d5:a8:eb:27:78:b5:47:82:ee:de:6e:77:43:af:67' "platform/intel/test-wov-init-payload.conf"
}
}

#
# Default attributes for wov
#
type "effect"
num_audio_formats 1
no_pm "true"
core_id 0
num_sink_pins 1
num_source_pins 0
}
Loading