1#
2# Common widget mixout
3#
4# A generic mixout widget. All attributes defined herein are namespaced
5# by alsatplg to "Object.Widget.mixout.N.attribute_name"
6#
7# Usage: this component can be used by instantiating it in the parent object. i.e.
8#
9# 	Object.Widget.mixout."N" {
10# 		type		"mixer"
11#		mix_type	"mix_out"
12#	}
13#
14# Where N is the unique instance number for the mixout object within the same alsaconf node.
15
16Class.Widget."mixout" {
17	#
18	# Pipeline ID for the mixout object
19	#
20	DefineAttribute."index" {}
21
22	#
23	# Mixout object instance
24	#
25	DefineAttribute."instance" {}
26
27        DefineAttribute."mix_type" {
28                type "string"
29                token_ref       "sof_tkn_mixinout.word"
30                constraints {
31                        !valid_values [
32                                "mix_in"
33                                "mix_out"
34                        ]
35                        !tuple_values [
36                                0
37                                1
38                        ]
39                }
40        }
41
42	#include common component definition
43	<include/components/widget-common.conf>
44
45	#
46	# Copier component UUID
47	#
48	DefineAttribute."uuid" {
49		type "string"
50		# Token set reference name and type
51		token_ref	"sof_tkn_comp.uuid"
52	}
53
54	attributes {
55		#
56		# The mixout widget name would be constructed using the index and
57		# instance attributes. For ex: "mixout.0.1".
58		#
59		!constructor [
60			"index"
61			"instance"
62		]
63
64		#
65		# mandatory attributes that must be provided when the class is instantiated
66		#
67		!mandatory [
68			"no_pm"
69			"uuid"
70			"mix_type"
71		]
72
73		#
74		# immutable attributes cannot be modified in the object instance
75		#
76		!immutable [
77			"uuid"
78		]
79
80		#
81		# deprecated attributes should not be added in the object instance
82		#
83		!deprecated [
84			"preload_count"
85		]
86
87		unique	"instance"
88	}
89
90	#
91	# Default attributes for mixout
92	#
93	type		"mixer"
94	mix_type	"mix_out"
95
96	#UUID: 3C56505A-24D7-418F-BDDC-C1F5A3AC2AE0
97	uuid 		"5a:50:56:3c:d7:24:8f:41:bd:dc:c1:f5:a3:ac:2a:e0"
98	no_pm 		"true"
99	core_id	0
100}
101