1# A generic AIF_IN/AIF_OUT widget. All attributes defined herein are namespaced 2# by alsatplg to "Object.host.direction.attribute_name" in the parent object 3# 4# Usage: host widget can be instantiated by declaring in a parent object as: 5# 6# For playback: 7# Object.Widget.host."playback" { 8# index 3 9# period_sink_count 2 10# period_source_count 0 11# type aif_in 12# } 13# 14# For Capture: 15# Object.Widget.host."capture" { 16# index 4 17# period_sink_count 0 18# period_source_count 2 19# type aif_out 20# } 21 22# 23# "host" class belongs to the "Widget" group of classes. 24# 25Class.Widget."host" { 26 # 27 # Attributes for host widget 28 # 29 30 # 31 # Pipeline ID that the host widget belongs to 32 # 33 DefineAttribute."index" {} 34 35 # 36 # Host direction 37 # 38 DefineAttribute."direction" { 39 type "string" 40 constraints { 41 !valid_values [ 42 "playback" 43 "capture" 44 ] 45 46 } 47 } 48 49 # 50 # Host widget type 51 # 52 DefineAttribute."type" { 53 type "string" 54 constraints { 55 !valid_values [ 56 "aif_in" 57 "aif_out" 58 ] 59 60 } 61 } 62 63 #include common widget attributes 64 <include/components/widget-common.conf> 65 66 DefineAttribute.uuid { 67 type "string" 68 # Token set reference name and type 69 token_ref "sof_tkn_comp.uuid" 70 } 71 72 # Attribute categories 73 attributes { 74 # 75 # host objects instantiated within the same alsaconf node must have unique value for 76 # direction attribute 77 # 78 unique "direction" 79 80 # 81 # The host object name is constructed using the index and direction arguments. 82 # E.g. "host.0.capture" or "host.2.playback" etc 83 # 84 !constructor [ 85 "index" 86 "direction" 87 ] 88 89 # 90 # mandatory attributes that must be provided when the host class is instantiated 91 # 92 !mandatory [ 93 "type" 94 "stream_name" 95 ] 96 # 97 # immutable attributes cannot be modified in the object instance 98 # 99 !immutable [ 100 "uuid" 101 ] 102 # 103 # deprecated attributes should not be added in the object instance 104 # 105 !deprecated [ 106 "preload_count" 107 ] 108 } 109 110 # 111 # Default attribute values for host 112 # 113 uuid "0c:10:9d:8b:78:6d:8f:41:90:a3:e0:e8:05:d0:85:2b" 114 no_pm "true" 115 period_sink_count 0 116 period_source_count 2 117} 118