18#ifndef __SOF_IPC4_BASE_FW_H__
19#define __SOF_IPC4_BASE_FW_H__
28#define IPC4_MAX_CLK_STATES 0
31#define IPC4_MAX_SRC_QUEUE 8
34#define IPC4_MAX_DST_QUEUE 8
37#define IPC4_MAX_MODULE_INSTANCES 256
40#define IPC4_MAX_LL_TASKS_PER_PRI_COUNT 16
43#define IPC4_MAX_DP_TASKS_COUNT 16
46#define IPC4_MAX_LIBS_COUNT 16
49#define IPC4_MAX_PPL_COUNT 32
360} __attribute__((packed, aligned(4)));
363#define IPC4_UNDERRUN_AT_GATEWAY_NOTIFICATION_MASK_IDX 0
365#define IPC4_UNDERRUN_AT_MIXER_NOTIFICATION_MASK_IDX 1
367#define IPC4_BUDGET_VIOLATION_NOTIFICATION_MASK_IDX 2
369#define IPC4_OVERRUN_AT_GATEWAY_NOTIFICATION_MASK_IDX 3
383} __attribute__((packed, aligned(4)));
420} __attribute__((packed, aligned(4)));
431} __attribute__((packed, aligned(4)));
441} __attribute__((packed, aligned(4)));
465} __attribute__((packed, aligned(4)));
475} __attribute__((packed, aligned(4)));
484} __attribute__((packed, aligned(4)));
505} __attribute__((packed, aligned(4)));
514} __attribute__((packed, aligned(4)));
523} __attribute__((packed, aligned(4)));
565} __attribute__((packed, aligned(4)));
574} __attribute__((packed, aligned(4)));
586} __attribute__((packed, aligned(4)));
589#define IPC4_LPSRAM_STATE 0
591#define IPC4_HPSRAM_STATE 1
601} __attribute__((packed, aligned(4)));
613} __attribute__((packed, aligned(4)));
636} __packed __aligned(4);
645} __packed __aligned(4);
660} __attribute__((packed, aligned(4)));
679} __packed __aligned(4);
690} __packed __aligned(4);
699} __packed __aligned(4);
722} __packed __aligned(4);
739} __packed __aligned(4);
748} __packed __aligned(4);
761} __packed __aligned(4);
770} __packed __aligned(4);
#define IPC4_MAX_LIBS_COUNT
Maximum external libraries count supported by IPC4.
Definition base_fw.h:46
static const uint32_t I2S_VER_30_PTL
I2S IPC4 interface version for Panther Lake (PTL) platforms.
Definition base_fw.h:709
ipc4_fw_config_params
Firmware configuration parameter TLV IDs returned by IPC4_FW_CONFIG.
Definition base_fw.h:199
ipc4_perf_measurements_state_set
Performance measurement process states.
Definition base_fw.h:447
ipc4_clock_src
Hardware clock source selection.
Definition base_fw.h:389
ipc4_fw_sof_info_params
Tuple-based parameters for SOF specific info under IPC4_FW_SOF_INFO.
Definition base_fw.h:289
ipc4_power_state_type
Power state query types.
Definition base_fw.h:666
ipc4_basefw_params
IPC4 Base Firmware configuration and query parameter IDs.
Definition base_fw.h:58
ipc4_hw_config_params
Hardware configuration parameter TLV IDs returned by IPC4_HW_CONFIG_GET.
Definition base_fw.h:303
ipc4_alh_version
Audio Hub Link (ALH) interface versions.
Definition base_fw.h:619
ipc4_pipeline_attributes
Pipeline attributes flags.
Definition base_fw.h:542
ipc4_resource_state_request
DSP resource state request types.
Definition base_fw.h:348
ipc4_resource_allocation_type
Resource allocation request types.
Definition base_fw.h:553
ipc4_memory_type
SRAM power memory type.
Definition base_fw.h:337
ipc4_low_latency_interrupt_source
Low latency interrupt source types.
Definition base_fw.h:490
struct ipc4_system_time_info * basefw_get_system_time_info(void)
Get current DSP system time information for host-DSP clock synchronization.
@ IPC4_TRACE_LOG_BYTES_FW_CFG
Size of trace log buffer in bytes.
Definition base_fw.h:223
@ IPC4_LL_PRI_COUNT
Number of Low Latency (LL) scheduling priorities.
Definition base_fw.h:243
@ IPC4_FW_MIN_HOST_BUFFER_PERIODS
Minimum size of host buffer in milliseconds.
Definition base_fw.h:276
@ IPC4_ALH_SUPPORT_LEVEL_FW_CFG
Audio Hub Link (ALH) support level.
Definition base_fw.h:217
@ IPC4_SCHEDULER_CONFIGURATION
Configuration of system tick source and period.
Definition base_fw.h:249
@ IPC4_DMI_FORCE_L1_EXIT
Manual control of DMI L1 state exit.
Definition base_fw.h:272
@ IPC4_UL_MAILBOX_BYTES_FW_CFG
Size of IPC uplink mailbox in bytes.
Definition base_fw.h:221
@ IPC4_DEBUG_WINDOW_SIZE
Total memory size available in debug window.
Definition base_fw.h:268
@ IPC4_DL_MAILBOX_BYTES_FW_CFG
Size of IPC downlink mailbox in bytes.
Definition base_fw.h:219
@ IPC4_FW_CFG_PARAMS_COUNT
Total number of FW config parameters.
Definition base_fw.h:280
@ IPC4_MAX_LL_TASKS_PER_PRI_COUNT_FW_CFG
Maximum number of LL tasks that may be allocated with the same priority (specified by parent pipeline...
Definition base_fw.h:241
@ IPC4_DMA_BUFFER_CONFIG_FW_CFG
List of static and dynamic DMA buffer sizes.
Definition base_fw.h:212
@ IPC4_FW_VERSION_FW_CFG
Firmware version.
Definition base_fw.h:201
@ IPC4_CLOCKS_CONFIGURATION
Configuration of clocks.
Definition base_fw.h:253
@ IPC4_MAX_DP_TASKS_COUNT_FW_CFG
Maximum number of DP tasks that may be allocated on a single core.
Definition base_fw.h:245
@ IPC4_MAX_LIBS_COUNT_FW_CFG
Maximum number of external libraries that can be loaded into ADSP memory.
Definition base_fw.h:247
@ IPC4_UAOL_SUPPORT
USB Audio Offload (UAOL) support indicator.
Definition base_fw.h:255
@ IPC4_MEMORY_RECLAIMED_FW_CFG
Indicates whether legacy DMA memory is managed by FW.
Definition base_fw.h:203
@ IPC4_FAST_CLOCK_FREQ_HZ_FW_CFG
Frequency of PLL clock in Hz.
Definition base_fw.h:207
@ IPC4_POWER_GATING_POLICY
Configuration of Dynamic Power Gating Policy.
Definition base_fw.h:257
@ IPC4_FW_SOF_INFO
SOF specific decoder/encoder codec information.
Definition base_fw.h:278
@ IPC4_BUS_HARDWARE_ID
Hardware version and bus hardware identifier.
Definition base_fw.h:266
@ IPC4_MODULES_COUNT_FW_CFG
Current total number of module entries loaded into the DSP.
Definition base_fw.h:234
@ IPC4_ASSERT_MODE
Configuration of assert mode.
Definition base_fw.h:262
@ IPC4_XTAL_FREQ_HZ_FW_CFG
Frequency of XTAL oscillator clock in Hz.
Definition base_fw.h:251
@ IPC4_TELEMETRY_BUFFER_SIZE
Size of telemetry circular buffer in bytes (default 4KB).
Definition base_fw.h:264
@ IPC4_MAX_MOD_INST_COUNT_FW_CFG
Maximum number of module instances supported by FW.
Definition base_fw.h:236
@ IPC4_MAX_ASTATE_COUNT_FW_CFG
Maximum number of A-state table entries that may be configured by the driver.
Definition base_fw.h:230
@ IPC4_FW_CONTEXT_SAVE
Firmware context save on D3 power state entry.
Definition base_fw.h:274
@ IPC4_MAX_PPL_CNT_FW_CFG
Maximum number of pipelines that may be instantiated simultaneously.
Definition base_fw.h:225
@ IPC4_KPB_RT_SINK_COUNT
Number of real-time Key Phrase Buffer (KPB) output sink pins.
Definition base_fw.h:270
@ IPC4_MAX_FW_CFG_PARAM
Maximum FW config parameter ID value.
Definition base_fw.h:282
@ IPC4_MAX_MODULE_PIN_COUNT_FW_CFG
Maximum number of input or output pins supported by a module.
Definition base_fw.h:232
@ IPC4_SLOW_CLOCK_FREQ_HZ_FW_CFG
Frequency of oscillator clock in Hz.
Definition base_fw.h:205
@ IPC4_PERF_MEASUREMENTS_STARTED
Performance measurements actively running.
Definition base_fw.h:450
@ IPC4_PERF_MEASUREMENTS_PAUSED
Performance measurements paused.
Definition base_fw.h:451
@ IPC4_PERF_MEASUREMENTS_DISABLED
Performance measurements disabled.
Definition base_fw.h:448
@ IPC4_PERF_MEASUREMENTS_STOPPED
Performance measurements stopped.
Definition base_fw.h:449
@ IPC4_CLOCK_SRC_HP_RING_OSC
High Power Ring Oscillator (RO).
Definition base_fw.h:395
@ IPC4_CLOCK_SRC_MAX_IDX
Maximum valid clock source index.
Definition base_fw.h:404
@ IPC4_CLOCK_SRC_INVALID
Invalid clock source sentinel.
Definition base_fw.h:402
@ IPC4_CLOCK_SRC_LP_RING_OSC
Low Power Ring Oscillator (RO).
Definition base_fw.h:393
@ IPC4_CLOCK_SRC_XTAL
Low Power XTAL oscillator clock source.
Definition base_fw.h:391
@ IPC4_CLOCK_SRC_WOV_XTAL
Low Power Wake-on-Voice (WoV) XTAL oscillator.
Definition base_fw.h:400
@ IPC4_SOF_CODEC_INFO
Decoder/encoder codec information.
Definition base_fw.h:291
@ IPC4_SOF_CFG_PARAMS_COUNT
Total number of SOF config parameters.
Definition base_fw.h:294
@ IPC4_MAX_SOF_CFG_PARAM
Maximum SOF config parameter ID value.
Definition base_fw.h:296
@ IPC4_CORE_KCPS
Query core clock KCPS settings.
Definition base_fw.h:668
@ IPC4_ACTIVE_CORES_MASK
Query bitmask of currently active DSP cores.
Definition base_fw.h:667
@ IPC4_MEMORY_STATE_INFO_GET
Retrieve information about current DSP memory state via LARGE_CONFIG_GET.
Definition base_fw.h:132
@ IPC4_LIBRARIES_INFO_GET
Retrieve information about external libraries loaded into DSP memory.
Definition base_fw.h:138
@ IPC4_IO_GLOBAL_PERF_DATA
Retrieve I/O global performance statistics.
Definition base_fw.h:168
@ IPC4_DSP_PROPERTIES
Retrieve firmware properties as TLV structure with typeof AdspProperties via LARGE_CONFIG_GET.
Definition base_fw.h:63
@ IPC4_SCHEDULERS_INFO_GET
Retrieve list of task schedulers and tasks running on a core via LARGE_CONFIG_GET.
Definition base_fw.h:126
@ IPC4_SDW_OWNERSHIP
Configure SoundWire controller ownership via LARGE_CONFIG_SET.
Definition base_fw.h:186
@ IPC4_MIC_PRIVACY_HW_MANAGED_STATE_CHANGE
Notify firmware of hardware-managed microphone privacy state change.
Definition base_fw.h:189
@ IPC4_PIPELINE_PROPS_GET
Retrieve pipeline properties for a given pipeline ID via LARGE_CONFIG_GET.
Definition base_fw.h:120
@ IPC4_FW_CONFIG
Discover or set firmware configuration in TLV format (read/write via LARGE_CONFIG_GET / LARGE_CONFIG_...
Definition base_fw.h:99
@ IPC4_ASTATE_TABLE
Configure available power states according to the underlying platform.
Definition base_fw.h:81
@ IPC4_DSP_RESOURCE_STATE
Retrieve DSP resource state via LARGE_CONFIG_GET.
Definition base_fw.h:66
@ IPC4_PERF_MEASUREMENTS_STATE
Control global performance measurement state (MCPS monitoring).
Definition base_fw.h:141
@ IPC4_HW_CONFIG_GET
Discover underlying hardware configuration in TLV format via LARGE_CONFIG_GET.
Definition base_fw.h:105
@ IPC4_SYSTEM_TIME
Pass down host system time in microseconds (UTC, epoch 1601-01-01T00:00:00Z) to synchronize log and t...
Definition base_fw.h:153
@ IPC4_GLOBAL_PERF_DATA
Retrieve global performance data (KCPS sampled per tick/frame).
Definition base_fw.h:144
@ IPC4_GATEWAYS_INFO_GET
Retrieve gateway configuration information via LARGE_CONFIG_GET.
Definition base_fw.h:129
@ IPC4_DMA_CONTROL
Initialize or modify DMA gateway configuration outside stream lifetime.
Definition base_fw.h:87
@ IPC4_RESERVED
Reserved parameter identifier.
Definition base_fw.h:69
@ IPC4_EXTENDED_GLOBAL_PERF_DATA
Extended global performance data with per-module DSP cycle statistics.
Definition base_fw.h:183
@ IPC4_PIPELINE_LIST_INFO_GET
Retrieve list of instantiated pipeline IDs via LARGE_CONFIG_GET.
Definition base_fw.h:114
@ IPC4_NOTIFICATION_MASK
Enable or disable asynchronous notifications.
Definition base_fw.h:75
@ IPC4_GET_MODULE_ID
Retrieve module ID for a specified module UUID.
Definition base_fw.h:171
@ IPC4_RESOURCE_ALLOCATION_REQUEST
Request additional resource allocation via LARGE_CONFIG_SET.
Definition base_fw.h:162
@ IPC4_IO_PERF_MEASUREMENTS_STATE
Control I/O performance measurement state in firmware.
Definition base_fw.h:165
@ IPC4_TELEMETRY_DATA
Read data from circular telemetry buffer.
Definition base_fw.h:180
@ IPC4_MODULES_INFO_GET
Retrieve list of module entries loaded into firmware memory space (image manifest or library manifest...
Definition base_fw.h:111
@ IPC4_L2_CACHE_INFO_GET
Retrieve L2 cache state information.
Definition base_fw.h:147
@ IPC4_POWER_STATE_INFO_GET
Retrieve information about current DSP power state via LARGE_CONFIG_GET.
Definition base_fw.h:135
@ IPC4_SET_MIC_PRIVACY_FW_MANAGED_POLICY_MASK
Set policy mask for microphone privacy in firmware-managed mode.
Definition base_fw.h:192
@ IPC4_TELEMETRY_STATE
Control telemetry collection process state and thresholds.
Definition base_fw.h:177
@ IPC4_ENABLE_LOGS
Configure firmware logging state (enable/disable per core, log level, aging timer,...
Definition base_fw.h:93
@ IPC4_EXTENDED_SYSTEM_TIME
Retrieve current UTC, RTC, and ART timestamps (requires SYSTEM_TIME set first).
Definition base_fw.h:174
@ IPC4_REGISTER_KCPS
Register KCPS into power manager service per core 0 (negative values allowed).
Definition base_fw.h:159
@ IPC4_PERFORMANCE_CONFIGURATION
Configure firmware for performance mode via LARGE_CONFIG_SET.
Definition base_fw.h:156
@ IPC4_HP_EBB_COUNT_HW_CFG
Number of High Power (HP) SRAM memory banks (EBBs) manageable by DSP.
Definition base_fw.h:322
@ IPC4_CAVS_VER_HW_CFG
Version of CAVS/ACE architecture implemented by FW (from ROMInfo).
Definition base_fw.h:305
@ IPC4_DSP_CORES_HW_CFG
Number of DSP cores available in the audio subsystem.
Definition base_fw.h:307
@ IPC4_GATEWAY_COUNT_HW_CFG
Total number of DMA gateways of all types.
Definition base_fw.h:320
@ IPC4_I2S_CAPS_HW_CFG
I2S controller capabilities.
Definition base_fw.h:316
@ IPC4_UAOL_CAPS_HW_CFG
USB Audio Offload (UAOL) controller capabilities.
Definition base_fw.h:328
@ IPC4_TOTAL_PHYS_MEM_PAGES_HW_CFG
Total number of physical memory pages available for allocation.
Definition base_fw.h:311
@ IPC4_EBB_SIZE_BYTES_HW_CFG
Size of a single memory bank (EBB) in bytes.
Definition base_fw.h:326
@ IPC4_MEM_PAGE_BYTES_HW_CFG
Size of a single memory page in bytes (typically 4096).
Definition base_fw.h:309
@ IPC4_LP_EBB_COUNT_HW_CFG
Number of Low Power (LP) SRAM memory banks (EBBs) manageable by DSP.
Definition base_fw.h:324
@ IPC4_INTEL_MIC_PRIVACY_CAPS_HW_CFG
Microphone privacy hardware capabilities.
Definition base_fw.h:330
@ IPC4_GPDMA_CAPS_HW_CFG
General Purpose DMA (GPDMA) controller capabilities.
Definition base_fw.h:318
@ IPC4_ALH_CAVS_1_8
CAVS 1.8+ ALH implementation.
Definition base_fw.h:621
@ IPC4_ALH_NO_SUPPORT
ALH not supported.
Definition base_fw.h:620
@ IPC4_AUTONOMOUS_RESET
Pipeline contains modules capable of autonomous reset reporting.
Definition base_fw.h:546
@ IPC4_ULTRA_LOW_POWER
Pipeline contains modules with Ultra Low Power (ULP) capability.
Definition base_fw.h:544
@ IPC4_FREE_PHYS_MEM_PAGES
Query free physical HP SRAM memory pages available.
Definition base_fw.h:350
@ IPC4_RAT_DSP_KCPS
Allocate DSP processing capacity in KCPS.
Definition base_fw.h:554
@ IPC4_RAT_MEMORY
Allocate physical SRAM memory.
Definition base_fw.h:555
@ IPC4_LP_SRAM_MEMORY
Low Power (LP) SRAM memory.
Definition base_fw.h:341
@ IPC4_HP_SRAM_MEMORY
High Power (HP) SRAM memory.
Definition base_fw.h:339
@ IPC4_DMA_GATEWAY_INTERRUPT_SOURCE
DMA Gateway completion interrupt.
Definition base_fw.h:492
@ IPC4_LOW_POWER_TIMER_INTERRUPT_SOURCE
Low Power Timer interrupt.
Definition base_fw.h:491
Extended component performance metrics with DSP cycle counts.
Definition base_fw.h:728
uint32_t is_removed
0 if component exists, 1 if deleted.
Definition base_fw.h:732
uint64_t module_total_dsp_cycles_consumed
Total cumulative DSP cycles consumed.
Definition base_fw.h:734
uint64_t module_total_restricted_cycles_consumed
Total restricted cycles consumed.
Definition base_fw.h:737
uint64_t module_total_restricted_iterations
Total restricted iteration count.
Definition base_fw.h:738
uint32_t resource_id
Component resource identifier.
Definition base_fw.h:729
uint32_t rsvd
Reserved bits.
Definition base_fw.h:731
uint32_t power_mode
Power mode: 0 = D0, 1 = D0i3.
Definition base_fw.h:730
uint32_t module_peak_restricted_cycles
Peak restricted cycles against wall clock.
Definition base_fw.h:736
uint32_t module_peak_dsp_cycles
Peak DSP cycles used in a single run.
Definition base_fw.h:733
uint64_t module_total_dsp_iterations
Total execution iteration count.
Definition base_fw.h:735
Extended global performance data report (IPC4_EXTENDED_GLOBAL_PERF_DATA).
Definition base_fw.h:745
uint32_t perf_item_count
Number of items in perf_items array.
Definition base_fw.h:746
struct ext_perf_data_item perf_items[0]
Array of extended performance items.
Definition base_fw.h:747
Global DSP performance summary.
Definition base_fw.h:767
struct perf_data_item perf_items[0]
Array of performance items.
Definition base_fw.h:769
uint32_t perf_item_count
Number of items in perf_items array.
Definition base_fw.h:768
Power Manager A-State configuration table (IPC4_ASTATE_TABLE).
Definition base_fw.h:426
uint32_t astates_count_
Number of active entries in astates_ array.
Definition base_fw.h:428
struct ipc4_astate astates_[3]
Array of power states.
Definition base_fw.h:430
A-State frequency and load threshold entry.
Definition base_fw.h:411
enum ipc4_clock_src clock_src
Clock source associated with kcps threshold (enum ipc4_clock_src).
Definition base_fw.h:419
uint32_t kcps
Core load threshold in Kilo-Cycles Per Second (KCPS).
Definition base_fw.h:417
Direct DMA Gateway Control structure (IPC4_DMA_CONTROL).
Definition base_fw.h:437
uint32_t node_id
Target DMA gateway node ID (union ipc4_connector_node_id).
Definition base_fw.h:438
uint32_t config_length
Configuration blob length in DWORDS.
Definition base_fw.h:439
uint32_t config_data[0]
Gateway-specific configuration payload (NHLT blob / TLV).
Definition base_fw.h:440
Extended host/DSP system time with RTC and ART timestamps.
Definition base_fw.h:529
uint32_t rtc_u
Upper DWORD of Real Time Clock.
Definition base_fw.h:533
uint32_t art_u
Upper DWORD of Always Running Timer (ART).
Definition base_fw.h:535
uint32_t rtc_l
Lower DWORD of Real Time Clock.
Definition base_fw.h:532
uint32_t utc_u
Upper DWORD of UTC system time.
Definition base_fw.h:531
uint32_t art_l
Lower DWORD of Always Running Timer (ART).
Definition base_fw.h:534
uint32_t utc_l
Lower DWORD of UTC system time.
Definition base_fw.h:530
Global DSP performance report payload (IPC4_GLOBAL_PERF_DATA).
Definition base_fw.h:481
uint32_t perf_item_count
Number of items in perf_items array.
Definition base_fw.h:482
struct ipc4_perf_data_item perf_items[1]
Array of performance measurement items.
Definition base_fw.h:483
Library information report payload (IPC4_LIBRARIES_INFO_GET).
Definition base_fw.h:642
uint32_t library_count
Number of libraries reported.
Definition base_fw.h:643
struct ipc4_library_props libraries[0]
Array of library property structures.
Definition base_fw.h:644
Properties of a dynamic or preloaded external library.
Definition base_fw.h:628
uint16_t hotfix_version
Hotfix version number.
Definition base_fw.h:633
uint16_t build_version
Build version number.
Definition base_fw.h:634
uint32_t id
Library runtime ID (Base FW is always 0).
Definition base_fw.h:629
uint16_t minor_version
Minor version number.
Definition base_fw.h:632
uint16_t major_version
Major version number.
Definition base_fw.h:631
uint8_t name[8]
Library identifier name string.
Definition base_fw.h:630
uint32_t num_module_entries
Number of modules provided by this library.
Definition base_fw.h:635
Logging configuration and state control (IPC4_ENABLE_LOGS).
Definition base_fw.h:651
uint32_t fifo_full_timer_period
Latency in system ticks for logging dropped entries after buffer read.
Definition base_fw.h:655
uint32_t aging_timer_period
Aging timer period in system ticks for log buffer flush notification.
Definition base_fw.h:653
uint32_t enable
1 to enable logging, 0 to disable.
Definition base_fw.h:657
uint32_t logs_mask[IPC4_MAX_LIBS_COUNT]
Priority and component logging masks per library provider.
Definition base_fw.h:659
Notification mask configuration structure (IPC4_NOTIFICATION_MASK).
Definition base_fw.h:375
uint32_t ntfy_mask
Bitmask indicating which notifications are being modified.
Definition base_fw.h:377
uint32_t enabled_mask
Bitmask indicating enable (1) or disable (0) state for notifications selected in ntfy_mask.
Definition base_fw.h:382
Module instance performance data with internal iteration metrics.
Definition base_fw.h:471
struct ipc4_perf_data_item item
Base performance item header.
Definition base_fw.h:472
uint32_t total_iteration_count
Total execution iteration count of module instance.
Definition base_fw.h:473
uint64_t total_cycles_consumed
Total DSP cycles consumed by module instance.
Definition base_fw.h:474
Single component performance measurement data item.
Definition base_fw.h:458
uint32_t is_removed
1 if component was removed/uninstantiated.
Definition base_fw.h:462
uint32_t rsvd
Reserved padding.
Definition base_fw.h:461
uint32_t power_mode
Power mode: 0 = D0, 1 = D0i3.
Definition base_fw.h:460
uint32_t avg_kcps
Average Kilo Cycles Per Second measured.
Definition base_fw.h:464
uint32_t peak_kcps
Peak Kilo Cycles Per Second captured.
Definition base_fw.h:463
uint32_t resource_id
Resource ID: core ID or {module_id, instance_id}.
Definition base_fw.h:459
Free physical memory page descriptor.
Definition base_fw.h:357
uint32_t mem_type
Memory type (enum ipc4_memory_type).
Definition base_fw.h:358
uint32_t pages
Number of free memory pages available.
Definition base_fw.h:359
KCPS resource allocation descriptor.
Definition base_fw.h:562
int32_t kcps
KCPS capacity to allocate or release (signed).
Definition base_fw.h:564
uint32_t core_id
DSP core identifier.
Definition base_fw.h:563
Memory resource allocation descriptor.
Definition base_fw.h:571
uint32_t size
Size of memory allocation in bytes.
Definition base_fw.h:573
uint32_t address
Base physical address to allocate.
Definition base_fw.h:572
Resource allocation request structure (IPC4_RESOURCE_ALLOCATION_REQUEST).
Definition base_fw.h:580
struct ipc4_resource_kcps kcps
KCPS data when ra_type == RAT_DSP_KCPS.
Definition base_fw.h:583
struct ipc4_resource_memory memory
Memory data when ra_type == RAT_MEMORY.
Definition base_fw.h:584
uint32_t ra_type
Resource allocation type (enum ipc4_resource_allocation_type).
Definition base_fw.h:581
union ipc4_resource_request::@11 ra_data
Resource payload union.
Scheduler tick and timer configuration (IPC4_SCHEDULER_CONFIGURATION).
Definition base_fw.h:499
uint32_t sys_tick_multiplier
System tick multiplier factor.
Definition base_fw.h:500
uint32_t sys_tick_source
System tick source clock.
Definition base_fw.h:502
uint32_t sys_tick_divider
System tick divider factor.
Definition base_fw.h:501
uint32_t sys_tick_cfg[1]
Extra tick configuration data.
Definition base_fw.h:504
uint32_t sys_tick_cfg_length
Length of extra tick configuration.
Definition base_fw.h:503
Detailed SRAM state and power bank information (IPC4_MEMORY_STATE_INFO_GET).
Definition base_fw.h:607
uint32_t ebb_state[1]
Bit[i] indicates whether i-th EBB bank is powered up (1) or off (0).
Definition base_fw.h:611
struct ipc4_sram_state_page_alloc page_alloc_struct
Page allocation state.
Definition base_fw.h:612
uint32_t ebb_state_dword_count
Number of items in ebb_state array.
Definition base_fw.h:609
uint32_t free_phys_mem_pages
Number of free memory pages available.
Definition base_fw.h:608
SRAM page allocation bitmask array.
Definition base_fw.h:597
uint32_t page_alloc_count
Number of items in page_alloc array.
Definition base_fw.h:598
uint16_t page_alloc[1]
Bit[i] indicates whether i-th memory page is allocated.
Definition base_fw.h:600
Host and DSP system time pairing for clock synchronization.
Definition base_fw.h:520
struct ipc4_system_time host_time
Host CPU timestamp.
Definition base_fw.h:521
struct ipc4_system_time dsp_time
Corresponding DSP timestamp.
Definition base_fw.h:522
64-bit system timestamp split into lower and upper 32-bit words.
Definition base_fw.h:511
uint32_t val_u
Upper 32 bits of microsecond timestamp.
Definition base_fw.h:513
uint32_t val_l
Lower 32 bits of microsecond timestamp.
Definition base_fw.h:512
Component performance data with wall clock cycle metrics.
Definition base_fw.h:754
uint64_t restricted_total_cycles
Total restricted cycles consumed.
Definition base_fw.h:760
uint64_t restricted_total_iterations
Total restricted iteration count.
Definition base_fw.h:759
struct perf_data_item item
Base performance item header.
Definition base_fw.h:755
uint64_t total_cycles_consumed
Total DSP cycles consumed.
Definition base_fw.h:757
uint32_t total_iteration_count
Total module iteration count.
Definition base_fw.h:756
uint32_t restricted_peak_cycles
Peak cycles measured against wall clock.
Definition base_fw.h:758
FW component performance measurement item.
Definition base_fw.h:715
uint32_t is_removed
0 if component exists, 1 if deleted.
Definition base_fw.h:719
uint32_t rsvd
Reserved bits.
Definition base_fw.h:718
uint32_t power_mode
Power mode: 0 = D0, 1 = D0i3.
Definition base_fw.h:717
uint32_t resource_id
Component resource ID.
Definition base_fw.h:716
uint32_t avg_kcps
Average KCPS measured.
Definition base_fw.h:721
uint32_t peak_kcps
Peak KCPS captured.
Definition base_fw.h:720
Core scheduler properties and scheduled tasks.
Definition base_fw.h:685
uint32_t processing_domain
Domain: COMP_PROCESSING_DOMAIN_LL or DP.
Definition base_fw.h:686
struct task_props task_info[]
Array of task descriptor structures.
Definition base_fw.h:689
uint32_t task_count
Number of tasks managed by scheduler.
Definition base_fw.h:688
uint32_t core_id
Core ID the scheduler executes on.
Definition base_fw.h:687
Complete scheduler topology report (IPC4_SCHEDULERS_INFO_GET).
Definition base_fw.h:696
uint32_t scheduler_count
Number of schedulers reported.
Definition base_fw.h:697
struct scheduler_props scheduler_info[]
Array of scheduler properties.
Definition base_fw.h:698
Single task properties within scheduler information.
Definition base_fw.h:675
uint32_t module_instance_count
Number of module instances attached to task.
Definition base_fw.h:677
uint32_t module_instance_id[]
Array of module instance IDs executing in task.
Definition base_fw.h:678
uint32_t task_id
Unique identifier of the task.
Definition base_fw.h:676