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

IPC4 Audio Hub Link (ALH) and SoundWire multi-gateway definitions. More...

Include dependency graph for alh.h:

Go to the source code of this file.

Data Structures

struct  ipc4_alh_multi_gtw_cfg
 Multi-gateway channel aggregation configuration. More...
 
struct  sof_alh_configuration_blob
 Full configuration blob for Audio Hub Link (ALH) gateways. More...
 

Macros

#define IPC4_ALH_MAX_NUMBER_OF_GTW   16
 Maximum number of single ALH channels supported in multi-gateway aggregation.
 
#define IPC4_ALH_DAI_INDEX_OFFSET   0
 DAI index offset for non-GPDMA platforms.
 
#define IPC4_DAI_NUM_ALH_BI_DIR_LINKS   0
 Number of bidirectional ALH links on non-CAVS platforms.
 
#define IPC4_DAI_NUM_ALH_BI_DIR_LINKS_GROUP   0
 Number of bidirectional ALH link groups on non-CAVS platforms.
 
#define IPC4_ALH_DAI_INDEX(x)
 Compute ALH DAI index from group and codec identifiers.
 
#define IPC4_ALH_MULTI_GTW_BASE   0x50
 Base virtual index marking the beginning of aggregated multi-gateway addressing.
 

Functions

static bool is_multi_gateway (const union ipc4_connector_node_id node_id)
 Check if an IPC4 connector node ID corresponds to an aggregated multi-gateway.
 
static size_t get_alh_config_size (const struct sof_alh_configuration_blob *alh_blob)
 Calculate the serialized size of an ALH configuration blob.
 

Detailed Description

IPC4 Audio Hub Link (ALH) and SoundWire multi-gateway definitions.

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

Macro Definition Documentation

◆ IPC4_ALH_DAI_INDEX

#define IPC4_ALH_DAI_INDEX (   x)
Value:
((((x) & 0xF0) << IPC4_DAI_NUM_ALH_BI_DIR_LINKS_GROUP) + \
(((x) & 0xF) - IPC4_ALH_DAI_INDEX_OFFSET))
#define IPC4_ALH_DAI_INDEX_OFFSET
DAI index offset for non-GPDMA platforms.
Definition alh.h:40
#define IPC4_DAI_NUM_ALH_BI_DIR_LINKS_GROUP
Number of bidirectional ALH link groups on non-CAVS platforms.
Definition alh.h:53

Compute ALH DAI index from group and codec identifiers.

copier id = (group id << 4) + codec id + IPC4_ALH_DAI_INDEX_OFFSET dai_index = (group id << 8) + codec id;

◆ IPC4_ALH_DAI_INDEX_OFFSET

#define IPC4_ALH_DAI_INDEX_OFFSET   0

DAI index offset for non-GPDMA platforms.

◆ IPC4_ALH_MAX_NUMBER_OF_GTW

#define IPC4_ALH_MAX_NUMBER_OF_GTW   16

Maximum number of single ALH channels supported in multi-gateway aggregation.

◆ IPC4_ALH_MULTI_GTW_BASE

#define IPC4_ALH_MULTI_GTW_BASE   0x50

Base virtual index marking the beginning of aggregated multi-gateway addressing.

◆ IPC4_DAI_NUM_ALH_BI_DIR_LINKS

#define IPC4_DAI_NUM_ALH_BI_DIR_LINKS   0

Number of bidirectional ALH links on non-CAVS platforms.

◆ IPC4_DAI_NUM_ALH_BI_DIR_LINKS_GROUP

#define IPC4_DAI_NUM_ALH_BI_DIR_LINKS_GROUP   0

Number of bidirectional ALH link groups on non-CAVS platforms.