Sound Open Firmware
Loading...
Searching...
No Matches

IPC4 audio gateway attributes, ALH, HDA, and SoundWire gateway definitions. More...

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

Go to the source code of this file.

Data Structures

union  ipc4_connector_node_id
 Audio gateway addressing descriptor (connector node ID). More...
 
union  ipc4_gateway_attributes
 Gateway buffer allocation attributes. More...
 
struct  ipc4_gateway_config_data
 Generic gateway configuration blob container. More...
 
struct  ipc4_ipc_gateway_config_blob
 Configuration parameters for IPC Host Gateway. More...
 

Macros

#define IPC4_INVALID_NODE_ID   0xffffffff
 Invalid raw node identifier sentinel.
 
#define IPC4_NODE_ID_MASK   0x1fff
 Bitmask covering virtual index and DMA type bits.
 
#define IPC4_HW_HOST_OUTPUT_NODE_ID_BASE   0x00
 Base node ID for host output DMA channels.
 
#define IPC4_HW_CODE_LOADER_NODE_ID   0x0F
 Node ID assigned to firmware code loader DMA.
 
#define IPC4_HW_LINK_INPUT_NODE_ID_BASE   0x10
 Base node ID for link input DMA channels.
 
#define IPC4_DIRECTION(x)   BIT(x)
 Helper macro to construct direction bitmask from index.
 

Enumerations

enum  ipc4_connector_node_id_type {
  ipc4_hda_host_output_class = 0 , ipc4_hda_host_input_class = 1 , ipc4_hda_host_inout_class = 2 , ipc4_hda_link_output_class = 8 ,
  ipc4_hda_link_input_class = 9 , ipc4_hda_link_inout_class = 10 , ipc4_dmic_link_input_class = 11 , ipc4_i2s_link_output_class = 12 ,
  ipc4_i2s_link_input_class = 13 , ipc4_alh_link_output_class = 16 , ipc4_alh_link_input_class = 17 , ipc4_alh_snd_wire_stream_link_output_class = 16 ,
  ipc4_alh_snd_wire_stream_link_input_class = 17 , ipc4_alh_uaol_stream_link_output_class = 18 , ipc4_alh_uaol_stream_link_input_class = 19 , ipc4_ipc_output_class = 20 ,
  ipc4_ipc_input_class = 21 , ipc4_i2s_multi_link_output_class = 22 , ipc4_i2s_multi_link_input_class = 23 , ipc4_gpio_class = 24 ,
  ipc4_spi_output_class = 25 , ipc4_spi_input_class = 26 , ipc4_max_connector_node_id_type
}
 Hardware and virtual audio gateway connector types. More...
 
enum  ipc4_gateway_type {
  ipc4_gtw_none = BIT(0) , ipc4_gtw_host = BIT(1) , ipc4_gtw_dmic = BIT(2) , ipc4_gtw_link = BIT(3) ,
  ipc4_gtw_alh = BIT(4) , ipc4_gtw_ssp = BIT(5) , ipc4_gtw_all = BIT(6) - 1
}
 Gateway peripheral category bitmask. More...
 
enum  ipc4_direction_type { ipc4_playback = BIT(0) , ipc4_capture = BIT(1) , ipc4_bidirection = BIT(0) | BIT(1) }
 Audio data stream direction flags. More...
 

Detailed Description

IPC4 audio gateway attributes, ALH, HDA, and SoundWire gateway definitions.

NOTE: This ABI uses bit fields and is non portable.

Macro Definition Documentation

◆ IPC4_DIRECTION

#define IPC4_DIRECTION (   x)    BIT(x)

Helper macro to construct direction bitmask from index.

◆ IPC4_HW_CODE_LOADER_NODE_ID

#define IPC4_HW_CODE_LOADER_NODE_ID   0x0F

Node ID assigned to firmware code loader DMA.

◆ IPC4_HW_HOST_OUTPUT_NODE_ID_BASE

#define IPC4_HW_HOST_OUTPUT_NODE_ID_BASE   0x00

Base node ID for host output DMA channels.

◆ IPC4_HW_LINK_INPUT_NODE_ID_BASE

#define IPC4_HW_LINK_INPUT_NODE_ID_BASE   0x10

Base node ID for link input DMA channels.

◆ IPC4_INVALID_NODE_ID

#define IPC4_INVALID_NODE_ID   0xffffffff

Invalid raw node identifier sentinel.

◆ IPC4_NODE_ID_MASK

#define IPC4_NODE_ID_MASK   0x1fff

Bitmask covering virtual index and DMA type bits.