Sound Open Firmware
Loading...
Searching...
No Matches
header.h File Reference

IPC command header. More...

Include dependency graph for header.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sof_ipc_hdr
 Structure Header - Header for all IPC structures except command structs. More...
struct  sof_ipc_cmd_hdr
 Command Header - Header for all IPC commands. More...
struct  sof_ipc_reply
 Generic reply message. More...
struct  sof_ipc_compound_hdr
 Compound commands - SOF_IPC_GLB_COMPOUND. More...
struct  sof_ipc_dsp_oops_arch_hdr
 OOPS header architecture specific data. More...
struct  sof_ipc_dsp_oops_plat_hdr
 OOPS header platform specific data. More...

Macros

#define ipc_to_hdr(x)
Global Message - Generic
#define SOF_GLB_TYPE_SHIFT   28
 Shift-left bits to extract the global cmd type.
#define SOF_GLB_TYPE_MASK   (0xfUL << SOF_GLB_TYPE_SHIFT)
#define SOF_GLB_TYPE(x)
Command Message - Generic
#define SOF_CMD_TYPE_SHIFT   16
 Shift-left bits to extract the command type.
#define SOF_CMD_TYPE_MASK   (0xfffL << SOF_CMD_TYPE_SHIFT)
#define SOF_CMD_TYPE(x)
Global Message Types
#define SOF_IPC_GLB_REPLY   SOF_GLB_TYPE(0x1U)
#define SOF_IPC_GLB_COMPOUND   SOF_GLB_TYPE(0x2U)
#define SOF_IPC_GLB_TPLG_MSG   SOF_GLB_TYPE(0x3U)
#define SOF_IPC_GLB_PM_MSG   SOF_GLB_TYPE(0x4U)
#define SOF_IPC_GLB_COMP_MSG   SOF_GLB_TYPE(0x5U)
#define SOF_IPC_GLB_STREAM_MSG   SOF_GLB_TYPE(0x6U)
#define SOF_IPC_FW_READY   SOF_GLB_TYPE(0x7U)
#define SOF_IPC_GLB_DAI_MSG   SOF_GLB_TYPE(0x8U)
#define SOF_IPC_GLB_TRACE_MSG   SOF_GLB_TYPE(0x9U)
#define SOF_IPC_GLB_GDB_DEBUG   SOF_GLB_TYPE(0xAU)
#define SOF_IPC_GLB_TEST   SOF_GLB_TYPE(0xBU)
#define SOF_IPC_GLB_PROBE   SOF_GLB_TYPE(0xCU)
#define SOF_IPC_GLB_DEBUG   SOF_GLB_TYPE(0xDU)
DSP Command: Topology

#define SOF_IPC_TPLG_COMP_NEW   SOF_CMD_TYPE(0x001)
#define SOF_IPC_TPLG_COMP_FREE   SOF_CMD_TYPE(0x002)
#define SOF_IPC_TPLG_COMP_CONNECT   SOF_CMD_TYPE(0x003)
#define SOF_IPC_TPLG_PIPE_NEW   SOF_CMD_TYPE(0x010)
#define SOF_IPC_TPLG_PIPE_FREE   SOF_CMD_TYPE(0x011)
#define SOF_IPC_TPLG_PIPE_CONNECT   SOF_CMD_TYPE(0x012)
#define SOF_IPC_TPLG_PIPE_COMPLETE   SOF_CMD_TYPE(0x013)
#define SOF_IPC_TPLG_BUFFER_NEW   SOF_CMD_TYPE(0x020)
#define SOF_IPC_TPLG_BUFFER_FREE   SOF_CMD_TYPE(0x021)
DSP Command: PM
#define SOF_IPC_PM_CTX_SAVE   SOF_CMD_TYPE(0x001)
#define SOF_IPC_PM_CTX_RESTORE   SOF_CMD_TYPE(0x002)
#define SOF_IPC_PM_CTX_SIZE   SOF_CMD_TYPE(0x003)
#define SOF_IPC_PM_CLK_SET   SOF_CMD_TYPE(0x004)
#define SOF_IPC_PM_CLK_GET   SOF_CMD_TYPE(0x005)
#define SOF_IPC_PM_CLK_REQ   SOF_CMD_TYPE(0x006)
#define SOF_IPC_PM_CORE_ENABLE   SOF_CMD_TYPE(0x007)
#define SOF_IPC_PM_GATE   SOF_CMD_TYPE(0x008)
DSP Command: Component runtime config - multiple different types
#define SOF_IPC_COMP_SET_VALUE   SOF_CMD_TYPE(0x001)
#define SOF_IPC_COMP_GET_VALUE   SOF_CMD_TYPE(0x002)
#define SOF_IPC_COMP_SET_DATA   SOF_CMD_TYPE(0x003)
#define SOF_IPC_COMP_GET_DATA   SOF_CMD_TYPE(0x004)
#define SOF_IPC_COMP_NOTIFICATION   SOF_CMD_TYPE(0x005)
DSP Command: DAI messages
#define SOF_IPC_DAI_CONFIG   SOF_CMD_TYPE(0x001)
#define SOF_IPC_DAI_LOOPBACK   SOF_CMD_TYPE(0x002)
DSP Command: Stream
#define SOF_IPC_STREAM_PCM_PARAMS   SOF_CMD_TYPE(0x001)
#define SOF_IPC_STREAM_PCM_PARAMS_REPLY   SOF_CMD_TYPE(0x002)
#define SOF_IPC_STREAM_PCM_FREE   SOF_CMD_TYPE(0x003)
#define SOF_IPC_STREAM_TRIG_START   SOF_CMD_TYPE(0x004)
#define SOF_IPC_STREAM_TRIG_STOP   SOF_CMD_TYPE(0x005)
#define SOF_IPC_STREAM_TRIG_PAUSE   SOF_CMD_TYPE(0x006)
#define SOF_IPC_STREAM_TRIG_RELEASE   SOF_CMD_TYPE(0x007)
#define SOF_IPC_STREAM_TRIG_DRAIN   SOF_CMD_TYPE(0x008)
#define SOF_IPC_STREAM_TRIG_XRUN   SOF_CMD_TYPE(0x009)
#define SOF_IPC_STREAM_POSITION   SOF_CMD_TYPE(0x00a)
#define SOF_IPC_STREAM_VORBIS_PARAMS   SOF_CMD_TYPE(0x010)
#define SOF_IPC_STREAM_VORBIS_FREE   SOF_CMD_TYPE(0x011)
DSP Command: Trace and debug
#define SOF_IPC_TRACE_DMA_PARAMS   SOF_CMD_TYPE(0x001)
#define SOF_IPC_TRACE_DMA_POSITION   SOF_CMD_TYPE(0x002)
#define SOF_IPC_TRACE_DMA_PARAMS_EXT   SOF_CMD_TYPE(0x003)
#define SOF_IPC_TRACE_FILTER_UPDATE   SOF_CMD_TYPE(0x004)
 ABI3.17.
#define SOF_IPC_TRACE_DMA_FREE   SOF_CMD_TYPE(0x005)
 ABI3.20.
DSP Command: Probes
#define SOF_IPC_PROBE_INIT   SOF_CMD_TYPE(0x001)
#define SOF_IPC_PROBE_DEINIT   SOF_CMD_TYPE(0x002)
#define SOF_IPC_PROBE_DMA_ADD   SOF_CMD_TYPE(0x003)
#define SOF_IPC_PROBE_DMA_INFO   SOF_CMD_TYPE(0x004)
#define SOF_IPC_PROBE_DMA_REMOVE   SOF_CMD_TYPE(0x005)
#define SOF_IPC_PROBE_POINT_ADD   SOF_CMD_TYPE(0x006)
#define SOF_IPC_PROBE_POINT_INFO   SOF_CMD_TYPE(0x007)
#define SOF_IPC_PROBE_POINT_REMOVE   SOF_CMD_TYPE(0x008)
DSP Command: Debug - additional services
#define SOF_IPC_DEBUG_MEM_USAGE   SOF_CMD_TYPE(0x001)
DSP Command: Test - Debug build only
#define SOF_IPC_TEST_IPC_FLOOD   SOF_CMD_TYPE(0x001)
IPC Message Definitions
#define SOF_IPC_MESSAGE_ID(x)
 Get message component id.
#define SOF_IPC_MSG_MAX_SIZE   384
 Maximum message size for mailbox Tx/Rx.

Detailed Description

Macro Definition Documentation

◆ ipc_to_hdr

#define ipc_to_hdr ( x)
Value:
((struct ipc_cmd_hdr *)x)