-
Notifications
You must be signed in to change notification settings - Fork 349
Topology2: add smart amp nocodec test topology #6799
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
9e2dfc4
658e650
e2be44b
d15241f
d037b3a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,110 @@ | ||
| # | ||
| # Common widget smart_amp | ||
| # | ||
| # A generic smart_amp widget. All attributes defined herein are namespaced | ||
| # by alsatplg to "Object.Widget.smart_amp.N.attribute_name" | ||
| # | ||
| # Usage: this component can be used by instantiating it in the parent object. i.e. | ||
| # | ||
| # Object.Widget.smart_amp."N" { | ||
| # index 1 | ||
| # type "effect" | ||
| # } | ||
| # | ||
| # Where N is the unique instance number for the smart_amp object within the same alsaconf node. | ||
|
|
||
| Class.Widget."smart_amp" { | ||
| # | ||
| # Pipeline ID for the smart_amp widget object | ||
| # | ||
| DefineAttribute."index" {} | ||
|
|
||
| # | ||
| # smart_amp object instance | ||
| # | ||
| DefineAttribute."instance" {} | ||
|
|
||
| #include common component definition | ||
| <include/components/widget-common.conf> | ||
|
|
||
| DefineAttribute."num_audio_formats" { | ||
| # Token set reference name and type | ||
| token_ref "sof_tkn_comp.word" | ||
| } | ||
|
|
||
| # | ||
| # smart_amp widget UUID | ||
| # | ||
| DefineAttribute."uuid" { | ||
| type "string" | ||
| # Token set reference name and type | ||
| token_ref "sof_tkn_comp.uuid" | ||
| } | ||
|
|
||
| DefineAttribute."cpc" { | ||
| # Token set reference name and type | ||
| token_ref "sof_tkn_comp.word" | ||
| } | ||
|
|
||
| DefineAttribute."is_pages" { | ||
| # Token set reference name and type | ||
| token_ref "sof_tkn_comp.word" | ||
| } | ||
|
|
||
| DefineAttribute."init_payload_format" { | ||
| # Token set reference name and type | ||
| token_ref "sof_tkn_process.word" | ||
| } | ||
|
|
||
| # Attribute categories | ||
| attributes { | ||
| # | ||
| # The smart_amp widget name would be constructed using the index and instance attributes. | ||
| # For ex: "smart_amp.1.1" or "smart_amp.10.2" etc. | ||
| # | ||
| !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" | ||
| ] | ||
|
|
||
| # | ||
| # deprecated attributes should not be added in the object instance | ||
| # | ||
| !deprecated [ | ||
| "preload_count" | ||
| ] | ||
|
|
||
| # | ||
| # smart_amp widget objects instantiated within the same alsaconf node must have unique | ||
| # instance attribute | ||
| # | ||
| unique "instance" | ||
| } | ||
|
|
||
| # Default attribute values for smart_amp widget | ||
|
|
||
| # smart amp module UUID is not unique, and should be assigned in the top-level conf | ||
| type "effect" | ||
| no_pm "true" | ||
| core_id 0 | ||
| cpc 5000 | ||
| is_pages 1 | ||
| num_sink_pins 2 | ||
|
||
| num_source_pins 1 | ||
| init_payload_format 2 | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| # The kcontrol data for smart amp test module initialization | ||
| # feedback channel = 2 | ||
| Object.Base.data."smart_amp_init" { | ||
| bytes " | ||
| 0x53, 0x4f, 0x46, 0x34, 0x84, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, | ||
| 0x80, 0xbb, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, | ||
| 0x10, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, | ||
| 0x01, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, | ||
| 0x80, 0xbb, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, | ||
| 0x10, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, | ||
| 0x80, 0xbb, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, | ||
| 0x10, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, | ||
| 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, | ||
| 0x02, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, | ||
| 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, | ||
| 0xff, 0xff, 0xff, 0xff" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know what is either but I know this would be much better to avoid double and triple negations:
(I hope the default value can be either "true" or "false")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry this cannot be changed. no_pm is an existing terminology used by ALSA topology and must be set to true for all widgets