16#ifndef __IPC_TOPOLOGY_H__
17#define __IPC_TOPOLOGY_H__
57#define SOF_XRUN_STOP 1
58#define SOF_XRUN_UNDER_ZERO 2
59#define SOF_XRUN_OVER_NULL 4
72} __attribute__((packed, aligned(4)));
81#define SOF_MEM_CAPS_RAM BIT(0)
82#define SOF_MEM_CAPS_ROM BIT(1)
83#define SOF_MEM_CAPS_EXT BIT(2)
84#define SOF_MEM_CAPS_LP BIT(3)
85#define SOF_MEM_CAPS_HP BIT(4)
86#define SOF_MEM_CAPS_DMA BIT(5)
87#define SOF_MEM_CAPS_CACHE BIT(6)
88#define SOF_MEM_CAPS_EXEC BIT(7)
89#define SOF_MEM_CAPS_L3 BIT(8)
91#define SOF_MEM_CAPS_LOWEST_INVALID BIT(9)
96#define SOF_BUF_OVERRUN_PERMITTED BIT(0)
101#define SOF_BUF_UNDERRUN_PERMITTED BIT(1)
104#define SOF_UUID_SIZE 16
113} __attribute__((packed, aligned(4)));
126} __attribute__((packed, aligned(4)));
135} __attribute__((packed, aligned(4)));
145} __attribute__((packed, aligned(4)));
151} __attribute__((packed, aligned(4)));
172} __attribute__((packed, aligned(4)));
182} __attribute__((packed, aligned(4)));
208} __attribute__((packed, aligned(4)));
214} __attribute__((packed, aligned(4)));
229} __attribute__((packed, aligned(4)));
242} __attribute__((packed, aligned(4)));
262} __attribute__((packed, aligned(4)));
270} __attribute__((packed, aligned(4)));
276} __attribute__((packed, aligned(4)));
301} __attribute__((packed, aligned(4)));
307} __attribute__((packed, aligned(4)));
312} __attribute__((packed, aligned(4)));
319} __attribute__((packed, aligned(4)));
324} __attribute__((packed, aligned(4)));
sof_volume_ramp
Definition topology.h:154
@ SOF_VOLUME_WINDOWS_NO_FADE
Definition topology.h:160
@ SOF_VOLUME_LOG
Definition topology.h:156
@ SOF_VOLUME_LOG_ZC
Definition topology.h:158
@ SOF_VOLUME_LINEAR
Definition topology.h:155
@ SOF_VOLUME_LINEAR_ZC
Definition topology.h:157
@ SOF_VOLUME_WINDOWS_FADE
Definition topology.h:159
sof_ipc_pipe_sched_time_domain
Types of pipeline scheduling time domains.
Definition topology.h:283
@ SOF_TIME_DOMAIN_DMA
DMA interrupt.
Definition topology.h:284
@ SOF_TIME_DOMAIN_TIMER
Timer interrupt.
Definition topology.h:285
sof_comp_type
Definition topology.h:27
@ SOF_COMP_FILEWRITE
host test based file IO
Definition topology.h:53
@ SOF_COMP_SMART_AMP
smart amplifier component
Definition topology.h:49
@ SOF_COMP_DAI
Definition topology.h:30
@ SOF_COMP_DEPRECATED0
Definition topology.h:37
@ SOF_COMP_ASRC
Asynchronous sample rate converter.
Definition topology.h:47
@ SOF_COMP_VOLUME
Definition topology.h:33
@ SOF_COMP_KPB
Definition topology.h:44
@ SOF_COMP_SG_HOST
scatter gather variant
Definition topology.h:31
@ SOF_COMP_MUX
Definition topology.h:35
@ SOF_COMP_TONE
Definition topology.h:38
@ SOF_COMP_EQ_FIR
Definition topology.h:42
@ SOF_COMP_SELECTOR
channel selector component
Definition topology.h:45
@ SOF_COMP_MIXER
Definition topology.h:34
@ SOF_COMP_DEPRECATED1
Definition topology.h:39
@ SOF_COMP_KEYWORD_DETECT
Definition topology.h:43
@ SOF_COMP_FILEREAD
host test based file IO
Definition topology.h:52
@ SOF_COMP_BUFFER
Definition topology.h:40
@ SOF_COMP_MODULE_ADAPTER
module adapter
Definition topology.h:50
@ SOF_COMP_SG_DAI
scatter gather variant
Definition topology.h:32
@ SOF_COMP_DEMUX
Definition topology.h:46
@ SOF_COMP_SRC
Definition topology.h:36
@ SOF_COMP_HOST
Definition topology.h:29
@ SOF_COMP_EQ_IIR
Definition topology.h:41
@ SOF_COMP_DCBLOCK
Definition topology.h:48
@ SOF_COMP_NONE
Definition topology.h:28
#define SOF_UUID_SIZE
Definition topology.h:104
Definition topology.h:107
struct sof_ipc_comp comp
Definition topology.h:108
uint32_t reserved
reserved for future use
Definition topology.h:112
uint32_t caps
SOF_MEM_CAPS_.
Definition topology.h:110
uint32_t size
buffer size in bytes
Definition topology.h:109
uint32_t flags
SOF_BUF_ flags defined above.
Definition topology.h:111
Command Header - Header for all IPC commands.
Definition header.h:357
Definition topology.h:185
struct sof_ipc_comp comp
Definition topology.h:186
uint32_t operation_mode
push 0, pull 1, In push mode the
Definition topology.h:198
uint32_t source_rate
Define fixed source rate or.
Definition topology.h:189
struct sof_ipc_comp_config config
Definition topology.h:187
uint32_t asynchronous_mode
synchronous 0, asynchronous 1
Definition topology.h:195
uint32_t sink_rate
Define fixed sink rate or.
Definition topology.h:192
uint32_t reserved[4]
Definition topology.h:207
Definition topology.h:116
uint32_t frame_fmt
SOF_IPC_FRAME_.
Definition topology.h:121
uint32_t periods_sink
0 means variable
Definition topology.h:118
uint32_t reserved1
reserved
Definition topology.h:120
struct sof_ipc_cmd_hdr hdr
Definition topology.h:117
uint32_t periods_source
0 means variable
Definition topology.h:119
uint32_t reserved[2]
Definition topology.h:125
uint32_t xrun_action
Definition topology.h:122
Definition topology.h:138
uint32_t dai_index
index of this type dai
Definition topology.h:142
struct sof_ipc_comp comp
Definition topology.h:139
uint32_t type
DAI type - SOF_DAI_.
Definition topology.h:143
uint32_t reserved
reserved
Definition topology.h:144
uint32_t direction
SOF_IPC_STREAM_.
Definition topology.h:141
struct sof_ipc_comp_config config
Definition topology.h:140
Definition topology.h:322
uint8_t uuid[SOF_UUID_SIZE]
Definition topology.h:323
Definition topology.h:245
uint32_t rate
Definition topology.h:256
char * fn
Definition topology.h:258
uint32_t mode
Definition topology.h:259
uint32_t frame_fmt
Definition topology.h:260
struct sof_ipc_comp_config config
Definition topology.h:248
uint32_t direction
SOF_IPC_STREAM_.
Definition topology.h:261
uint32_t channels
Definition topology.h:257
uint32_t type
sof_ipc_process_type
Definition topology.h:250
struct sof_ipc_comp comp
Definition topology.h:247
uint32_t reserved[7]
Definition topology.h:253
uint32_t size
size of bespoke data section in bytes
Definition topology.h:249
Definition topology.h:129
struct sof_ipc_comp_config config
Definition topology.h:131
uint32_t direction
SOF_IPC_STREAM_.
Definition topology.h:132
uint32_t no_irq
don't send periodic IRQ to host/DSP
Definition topology.h:133
uint32_t dmac_config
DMA engine specific.
Definition topology.h:134
struct sof_ipc_comp comp
Definition topology.h:130
Definition topology.h:148
struct sof_ipc_comp comp
Definition topology.h:149
struct sof_ipc_comp_config config
Definition topology.h:150
Definition topology.h:211
struct sof_ipc_comp_config config
Definition topology.h:213
struct sof_ipc_comp comp
Definition topology.h:212
Definition topology.h:232
struct sof_ipc_comp comp
Definition topology.h:233
struct sof_ipc_comp_config config
Definition topology.h:234
uint32_t reserved[7]
Definition topology.h:239
unsigned char data[]
Definition topology.h:241
uint32_t type
sof_ipc_process_type
Definition topology.h:236
uint32_t size
size of bespoke data section in bytes
Definition topology.h:235
Definition topology.h:272
uint32_t offset
Definition topology.h:275
struct sof_ipc_reply rhdr
Definition topology.h:273
uint32_t id
Definition topology.h:274
Definition topology.h:175
uint32_t source_rate
source rate or 0 for variable
Definition topology.h:179
struct sof_ipc_comp comp
Definition topology.h:176
uint32_t rate_mask
SOF_RATE_ supported rates.
Definition topology.h:181
struct sof_ipc_comp_config config
Definition topology.h:177
uint32_t sink_rate
sink rate or 0 for variable
Definition topology.h:180
Definition topology.h:217
int32_t sample_rate
Definition topology.h:220
struct sof_ipc_comp_config config
Definition topology.h:219
int32_t period
Definition topology.h:226
int32_t freq_mult
Definition topology.h:223
int32_t ampl_mult
Definition topology.h:224
int32_t frequency
Definition topology.h:221
int32_t amplitude
Definition topology.h:222
int32_t repeats
Definition topology.h:227
int32_t length
Definition topology.h:225
int32_t ramp_step
Definition topology.h:228
struct sof_ipc_comp comp
Definition topology.h:218
Definition topology.h:164
uint32_t initial_ramp
ramp space in ms
Definition topology.h:171
uint32_t min_value
Definition topology.h:168
uint32_t channels
Definition topology.h:167
struct sof_ipc_comp_config config
Definition topology.h:166
uint32_t ramp
SOF_VOLUME_.
Definition topology.h:170
uint32_t max_value
Definition topology.h:169
struct sof_ipc_comp comp
Definition topology.h:165
uint32_t pipeline_id
Definition topology.h:67
struct sof_ipc_cmd_hdr hdr
Definition topology.h:63
uint32_t id
Definition topology.h:64
uint32_t ext_data_length
extended data length, 0 if no extended data (ABI3.17)
Definition topology.h:71
uint32_t type
Definition topology.h:66
uint32_t core
Definition topology.h:68
Definition topology.h:267
uint32_t id
Definition topology.h:269
struct sof_ipc_cmd_hdr hdr
Definition topology.h:268
Definition topology.h:315
uint32_t source_id
Definition topology.h:317
struct sof_ipc_cmd_hdr hdr
Definition topology.h:316
uint32_t sink_id
Definition topology.h:318
Definition topology.h:309
uint32_t comp_id
Definition topology.h:311
struct sof_ipc_cmd_hdr hdr
Definition topology.h:310
Definition topology.h:289
uint32_t core
core we run on
Definition topology.h:294
struct sof_ipc_cmd_hdr hdr
Definition topology.h:290
uint32_t frames_per_sched
output frames of pipeline, 0 is variable
Definition topology.h:298
uint32_t pipeline_id
pipeline id
Definition topology.h:292
uint32_t period_mips
worst case instruction count per period
Definition topology.h:297
uint32_t time_domain
scheduling time domain
Definition topology.h:300
uint32_t sched_id
Scheduling component id.
Definition topology.h:293
uint32_t xrun_limit_usecs
report xruns greater than limit
Definition topology.h:299
uint32_t priority
priority level 0 (low) to 10 (max)
Definition topology.h:296
uint32_t comp_id
component id for pipeline
Definition topology.h:291
uint32_t period
execution period in us
Definition topology.h:295
Definition topology.h:304
uint32_t comp_id
Definition topology.h:306
struct sof_ipc_cmd_hdr hdr
Definition topology.h:305
Generic reply message.
Definition header.h:366