# Common class definitions for bytes # # All attributes defined herein are namespaced # by alsatplg to "Object.Control.bytes.N.attribute_name" # # Class for byte objects. These are instantiated as: # Object.Contorl.bytes."N" { # name "eq filter" # index N # max 128 # access "tlv_read" # # Object.Base.data.eqiir { # } # } # Class.Control."bytes" { DefineAttribute."name" { type "string" } # Pipeline ID DefineAttribute."index" {} # unique instance for bytes object in the same alsaconf node DefineAttribute."instance" {} DefineArgument."index" { type "integer" } DefineAttribute."max" {} DefineAttribute."base" {} DefineAttribute."num_regs" {} DefineAttribute."mask" {} DefineAttribute."access" { constraints { !valid_values [ "read_write" "tlv_read_write" "read" "write" "volatile" "tlv_read" "tlv_write" "tlv_command" "inactive" "lock" "owner" "tlv_callback" ] } } attributes { !constructor [ "index" "instance" ] !mandatory [ "index" ] unique "instance" } # control uses bespoke driver get/put/info ID Object.Base.ops."ctl" { info "bytes" } Object.Base.extops."extctl" { #258 binds the control to byte control get/put handlers get 258 put 258 } # Default attribute values for bytes control max 1024 !access [ tlv_write tlv_read tlv_callback ] }