|
Sound Open Firmware
|
Core 0 Base Firmware management, ADSP global properties, hardware capabilities, memory pools, power budget tables, and crash dump telemetry. More...

Files | |
| file | base_fw.h |
| IPC4 Base Firmware parameters, memory configuration, and status definitions. | |
| file | base_fw_vendor.h |
| Platform specific IPC4 base firmware functionality. | |
Data Structures | |
| struct | ipc4_phys_mem_pages |
| Free physical memory page descriptor. More... | |
| struct | ipc4_notification_mask_info |
| Notification mask configuration structure (IPC4_NOTIFICATION_MASK). More... | |
| struct | ipc4_astate |
| A-State frequency and load threshold entry. More... | |
| struct | ipc4_astate_table |
| Power Manager A-State configuration table (IPC4_ASTATE_TABLE). More... | |
| struct | ipc4_dma_control |
| Direct DMA Gateway Control structure (IPC4_DMA_CONTROL). More... | |
| struct | ipc4_perf_data_item |
| Single component performance measurement data item. More... | |
| struct | ipc4_perf_data_item_mi |
| Module instance performance data with internal iteration metrics. More... | |
| struct | ipc4_global_perf_data |
| Global DSP performance report payload (IPC4_GLOBAL_PERF_DATA). More... | |
| struct | ipc4_scheduler_config |
| Scheduler tick and timer configuration (IPC4_SCHEDULER_CONFIGURATION). More... | |
| struct | ipc4_system_time |
| 64-bit system timestamp split into lower and upper 32-bit words. More... | |
| struct | ipc4_system_time_info |
| Host and DSP system time pairing for clock synchronization. More... | |
| struct | ipc4_ext_system_time |
| Extended host/DSP system time with RTC and ART timestamps. More... | |
| struct | ipc4_resource_kcps |
| KCPS resource allocation descriptor. More... | |
| struct | ipc4_resource_memory |
| Memory resource allocation descriptor. More... | |
| struct | ipc4_resource_request |
| Resource allocation request structure (IPC4_RESOURCE_ALLOCATION_REQUEST). More... | |
| struct | ipc4_sram_state_page_alloc |
| SRAM page allocation bitmask array. More... | |
| struct | ipc4_sram_state_info |
| Detailed SRAM state and power bank information (IPC4_MEMORY_STATE_INFO_GET). More... | |
| struct | ipc4_library_props |
| Properties of a dynamic or preloaded external library. More... | |
| struct | ipc4_libraries_info |
| Library information report payload (IPC4_LIBRARIES_INFO_GET). More... | |
| struct | ipc4_log_state_info |
| Logging configuration and state control (IPC4_ENABLE_LOGS). More... | |
| struct | task_props |
| Single task properties within scheduler information. More... | |
| struct | scheduler_props |
| Core scheduler properties and scheduled tasks. More... | |
| struct | schedulers_info |
| Complete scheduler topology report (IPC4_SCHEDULERS_INFO_GET). More... | |
| struct | perf_data_item |
| FW component performance measurement item. More... | |
| struct | ext_perf_data_item |
| Extended component performance metrics with DSP cycle counts. More... | |
| struct | extended_global_perf_data |
| Extended global performance data report (IPC4_EXTENDED_GLOBAL_PERF_DATA). More... | |
| struct | perf_data_item_comp |
| Component performance data with wall clock cycle metrics. More... | |
| struct | global_perf_data |
| Global DSP performance summary. More... | |
Functions | |
| struct ipc4_system_time_info * | basefw_get_system_time_info (void) |
| Get current DSP system time information for host-DSP clock synchronization. | |
Core 0 Base Firmware management, ADSP global properties, hardware capabilities, memory pools, power budget tables, and crash dump telemetry.
| enum ipc4_alh_version |
| enum ipc4_basefw_params |
IPC4 Base Firmware configuration and query parameter IDs.
Parameter IDs used with LARGE_CONFIG_GET and LARGE_CONFIG_SET commands addressed to the Base FW module instance (module ID 0, instance ID 0).
| Enumerator | |
|---|---|
| IPC4_DSP_PROPERTIES | Retrieve firmware properties as TLV structure with typeof AdspProperties via LARGE_CONFIG_GET. |
| IPC4_DSP_RESOURCE_STATE | Retrieve DSP resource state via LARGE_CONFIG_GET. |
| IPC4_RESERVED | Reserved parameter identifier. |
| IPC4_NOTIFICATION_MASK | Enable or disable asynchronous notifications. Used in debug mode to prevent flooding the host with underrun notifications during breakpoints. |
| IPC4_ASTATE_TABLE | Configure available power states according to the underlying platform. Driver sends A-State table data right after Base FW is up. |
| IPC4_DMA_CONTROL | Initialize or modify DMA gateway configuration outside stream lifetime. Starts with struct ipc4_dma_control followed by optional gateway-specific data. |
| IPC4_ENABLE_LOGS | Configure firmware logging state (enable/disable per core, log level, aging timer, FIFO full timer). |
| IPC4_FW_CONFIG | Discover or set firmware configuration in TLV format (read/write via LARGE_CONFIG_GET / LARGE_CONFIG_SET). |
| IPC4_HW_CONFIG_GET | Discover underlying hardware configuration in TLV format via LARGE_CONFIG_GET. |
| IPC4_MODULES_INFO_GET | Retrieve list of module entries loaded into firmware memory space (image manifest or library manifest) via LARGE_CONFIG_GET. |
| IPC4_PIPELINE_LIST_INFO_GET | Retrieve list of instantiated pipeline IDs via LARGE_CONFIG_GET. |
| IPC4_PIPELINE_PROPS_GET | Retrieve pipeline properties for a given pipeline ID via LARGE_CONFIG_GET. |
| IPC4_SCHEDULERS_INFO_GET | Retrieve list of task schedulers and tasks running on a core via LARGE_CONFIG_GET. |
| IPC4_GATEWAYS_INFO_GET | Retrieve gateway configuration information via LARGE_CONFIG_GET. |
| IPC4_MEMORY_STATE_INFO_GET | Retrieve information about current DSP memory state via LARGE_CONFIG_GET. |
| IPC4_POWER_STATE_INFO_GET | Retrieve information about current DSP power state via LARGE_CONFIG_GET. |
| IPC4_LIBRARIES_INFO_GET | Retrieve information about external libraries loaded into DSP memory. |
| IPC4_PERF_MEASUREMENTS_STATE | Control global performance measurement state (MCPS monitoring). |
| IPC4_GLOBAL_PERF_DATA | Retrieve global performance data (KCPS sampled per tick/frame). |
| IPC4_L2_CACHE_INFO_GET | Retrieve L2 cache state information. |
| IPC4_SYSTEM_TIME | Pass down host system time in microseconds (UTC, epoch 1601-01-01T00:00:00Z) to synchronize log and trace timestamps. |
| IPC4_PERFORMANCE_CONFIGURATION | Configure firmware for performance mode via LARGE_CONFIG_SET. |
| IPC4_REGISTER_KCPS | Register KCPS into power manager service per core 0 (negative values allowed). |
| IPC4_RESOURCE_ALLOCATION_REQUEST | Request additional resource allocation via LARGE_CONFIG_SET. |
| IPC4_IO_PERF_MEASUREMENTS_STATE | Control I/O performance measurement state in firmware. |
| IPC4_IO_GLOBAL_PERF_DATA | Retrieve I/O global performance statistics. |
| IPC4_GET_MODULE_ID | Retrieve module ID for a specified module UUID. |
| IPC4_EXTENDED_SYSTEM_TIME | Retrieve current UTC, RTC, and ART timestamps (requires SYSTEM_TIME set first). |
| IPC4_TELEMETRY_STATE | Control telemetry collection process state and thresholds. |
| IPC4_TELEMETRY_DATA | Read data from circular telemetry buffer. |
| IPC4_EXTENDED_GLOBAL_PERF_DATA | Extended global performance data with per-module DSP cycle statistics. |
| IPC4_SDW_OWNERSHIP | Configure SoundWire controller ownership via LARGE_CONFIG_SET. |
| IPC4_MIC_PRIVACY_HW_MANAGED_STATE_CHANGE | Notify firmware of hardware-managed microphone privacy state change. |
| IPC4_SET_MIC_PRIVACY_FW_MANAGED_POLICY_MASK | Set policy mask for microphone privacy in firmware-managed mode. |
| enum ipc4_clock_src |
Hardware clock source selection.
Firmware configuration parameter TLV IDs returned by IPC4_FW_CONFIG.
Hardware configuration parameter TLV IDs returned by IPC4_HW_CONFIG_GET.
| enum ipc4_memory_type |
Performance measurement process states.
| struct ipc4_system_time_info * basefw_get_system_time_info | ( | void | ) |
Get current DSP system time information for host-DSP clock synchronization.