mirror of https://github.com/thesofproject/sof.git
topology2: add auxiliary data classes for ssp
Auxiliary data can be added at the end of ssp data blob to enable for example early clocks for certain platform. Add intel_ssp_aux_config.conf that includes all possible aux data classes. These can be used inside ssp hw_configs and will be embedded as tlv data after basic data blob. Example of using mn_config class inside hw_config: Object.Base.hw_config."SSP0_0" { id 0 mclk_freq 38400000 bclk_freq 256000 tdm_slot_width 16 format "DSP_A" bclk "codec_provider" fsync "codec_provider" fsync_freq 16000 Object.Base.mn_config."MN_0" { m_div 100 n_div 200 } } Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
This commit is contained in:
parent
3f26bf172d
commit
7be11aaf28
|
@ -0,0 +1,280 @@
|
|||
Class.Base."mn_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Value of m in m/n divider
|
||||
#
|
||||
DefineAttribute."m_div" {}
|
||||
|
||||
#
|
||||
# Value of n in m/n divider
|
||||
#
|
||||
DefineAttribute."n_div" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Class.Base."clk_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Value of clock warm up delay in ms
|
||||
#
|
||||
DefineAttribute."clock_warm_up" {}
|
||||
|
||||
#
|
||||
# Value set to 1 -> target is MCLK, otherwise SCLK
|
||||
#
|
||||
DefineAttribute."mclk" {}
|
||||
|
||||
#
|
||||
# Value set to 1 -> clock starts immediately
|
||||
#
|
||||
DefineAttribute."warm_up_ovr" {}
|
||||
|
||||
#
|
||||
# Value of clock stopped after the interface, in ms
|
||||
#
|
||||
DefineAttribute."clock_stop_delay" {}
|
||||
|
||||
#
|
||||
# Value set to 1 means clock should be kept running
|
||||
#
|
||||
DefineAttribute."keep_running" {}
|
||||
|
||||
#
|
||||
# Value set to 1 -> clock stops immediately
|
||||
#
|
||||
DefineAttribute."clock_stop_ovr" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
Class.Base."tr_start_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Values for audio format for "not running state" 0 value sample generation
|
||||
#
|
||||
DefineAttribute."sampling_frequency" {}
|
||||
DefineAttribute."bit_depth" {}
|
||||
DefineAttribute."channel_map" {}
|
||||
DefineAttribute."channel_config" {}
|
||||
DefineAttribute."interleaving_style" {}
|
||||
DefineAttribute."number_of_channels" {}
|
||||
DefineAttribute."valid_bit_depth" {}
|
||||
DefineAttribute."sample_type" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
Class.Base."tr_stop_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Values for audio format for "not running state" 0 value sample generation
|
||||
#
|
||||
DefineAttribute."sampling_frequency" {}
|
||||
DefineAttribute."bit_depth" {}
|
||||
DefineAttribute."channel_map" {}
|
||||
DefineAttribute."channel_config" {}
|
||||
DefineAttribute."interleaving_style" {}
|
||||
DefineAttribute."number_of_channels" {}
|
||||
DefineAttribute."valid_bit_depth" {}
|
||||
DefineAttribute."sample_type" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
Class.Base."run_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Value set to 1 -> transfer/production of 0 samples will
|
||||
# continue in consumer mode even without clock
|
||||
#
|
||||
DefineAttribute."always_run" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
Class.Base."sync_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Value in Hz for global sync denominator for all linked items
|
||||
#
|
||||
DefineAttribute."sync_denominator" {}
|
||||
|
||||
#
|
||||
# Follows variable amount of synced node_config items, see above
|
||||
#
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
Class.Base."node_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Gateway id of the to be synced node
|
||||
#
|
||||
DefineAttribute."node_id" {}
|
||||
|
||||
#
|
||||
# Sample rate of the to be synced node
|
||||
#
|
||||
DefineAttribute."sampling_rate" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
Class.Base."ext_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Boolean values for overriding default policies for
|
||||
# enabling/disabling MCLK
|
||||
#
|
||||
DefineAttribute."mclk_policy_override" {}
|
||||
DefineAttribute."mclk_always_running" {}
|
||||
DefineAttribute."mclk_starts_on_gtw_init" {}
|
||||
DefineAttribute."mclk_starts_on_run" {}
|
||||
DefineAttribute."mclk_starts_on_pause" {}
|
||||
DefineAttribute."mclk_stops_on_pause" {}
|
||||
DefineAttribute."mclk_stops_on_reset" {}
|
||||
|
||||
#
|
||||
# Boolean values for overriding default policies for
|
||||
# enabling/disabling BCLK
|
||||
#
|
||||
DefineAttribute."bclk_policy_override" {}
|
||||
DefineAttribute."bclk_always_running" {}
|
||||
DefineAttribute."bclk_starts_on_gtw_init" {}
|
||||
DefineAttribute."bclk_starts_on_run" {}
|
||||
DefineAttribute."bclk_starts_on_pause" {}
|
||||
DefineAttribute."bclk_stops_on_pause" {}
|
||||
DefineAttribute."bclk_stops_on_reset" {}
|
||||
|
||||
#
|
||||
# Boolean values for overriding default policies for
|
||||
# enabling/disabling SYNC
|
||||
#
|
||||
DefineAttribute."sync_policy_override" {}
|
||||
DefineAttribute."sync_always_running" {}
|
||||
DefineAttribute."sync_starts_on_gtw_init" {}
|
||||
DefineAttribute."sync_starts_on_run" {}
|
||||
DefineAttribute."sync_starts_on_pause" {}
|
||||
DefineAttribute."sync_stops_on_pause" {}
|
||||
DefineAttribute."sync_stops_on_reset" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
||||
|
||||
Class.Base."link_config" {
|
||||
DefineAttribute."id" {}
|
||||
|
||||
DefineAttribute."name" {
|
||||
type "string"
|
||||
}
|
||||
|
||||
#
|
||||
# Value for provider link clock source:
|
||||
#
|
||||
# XTAL 0
|
||||
# CARDINAL 1
|
||||
# PLL 2
|
||||
# MCLK 3
|
||||
# WOV_CRO 4
|
||||
#
|
||||
DefineAttribute."clock_source" {}
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"id"
|
||||
]
|
||||
|
||||
unique "name"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue