FILE
snd_ar_tokens.h
File preview with syntax highlighting.
linux-6.19.14/include/uapi/sound/snd_ar_tokens.h
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 3#ifndef __SND_AR_TOKENS_H__ 4#define __SND_AR_TOKENS_H__ 5 6#include <linux/types.h> 7 8#define APM_SUB_GRAPH_PERF_MODE_LOW_POWER 0x1 9#define APM_SUB_GRAPH_PERF_MODE_LOW_LATENCY 0x2 10 11#define APM_SUB_GRAPH_DIRECTION_TX 0x1 12#define APM_SUB_GRAPH_DIRECTION_RX 0x2 13 14/** Scenario ID Audio Playback */ 15#define APM_SUB_GRAPH_SID_AUDIO_PLAYBACK 0x1 16/* Scenario ID Audio Record */ 17#define APM_SUB_GRAPH_SID_AUDIO_RECORD 0x2 18/* Scenario ID Voice call. */ 19#define APM_SUB_GRAPH_SID_VOICE_CALL 0x3 20 21/* container capability ID Pre/Post Processing (PP) */ 22#define APM_CONTAINER_CAP_ID_PP 0x1 23/* container capability ID Compression/Decompression (CD) */ 24#define APM_CONTAINER_CAP_ID_CD 0x2 25/* container capability ID End Point(EP) */ 26#define APM_CONTAINER_CAP_ID_EP 0x3 27/* container capability ID Offload (OLC) */ 28#define APM_CONTAINER_CAP_ID_OLC 0x4 29 30/* container graph position Stream */ 31#define APM_CONT_GRAPH_POS_STREAM 0x1 32/* container graph position Per Stream Per Device*/ 33#define APM_CONT_GRAPH_POS_PER_STR_PER_DEV 0x2 34/* container graph position Stream-Device */ 35#define APM_CONT_GRAPH_POS_STR_DEV 0x3 36/* container graph position Global Device */ 37#define APM_CONT_GRAPH_POS_GLOBAL_DEV 0x4 38 39#define APM_PROC_DOMAIN_ID_MDSP 0x1 40#define APM_PROC_DOMAIN_ID_ADSP 0x2 41#define APM_PROC_DOMAIN_ID_SDSP 0x4 42#define APM_PROC_DOMAIN_ID_CDSP 0x5 43 44#define PCM_INTERLEAVED 1 45#define PCM_DEINTERLEAVED_PACKED 2 46#define PCM_DEINTERLEAVED_UNPACKED 3 47#define AR_I2S_WS_SRC_EXTERNAL 0 48#define AR_I2S_WS_SRC_INTERNAL 1 49 50enum ar_event_types { 51 AR_EVENT_NONE = 0, 52 AR_PGA_DAPM_EVENT 53}; 54 55/* 56 * Kcontrol IDs 57 */ 58#define SND_SOC_AR_TPLG_FE_BE_GRAPH_CTL_MIX 256 59#define SND_SOC_AR_TPLG_VOL_CTL 257 60 61/** 62 * %AR_TKN_U32_SUB_GRAPH_INSTANCE_ID: Sub Graph Instance Id 63 * 64 * %AR_TKN_U32_SUB_GRAPH_PERF_MODE: Performance mode of subgraph 65 * APM_SUB_GRAPH_PERF_MODE_LOW_POWER = 1, 66 * APM_SUB_GRAPH_PERF_MODE_LOW_LATENCY = 2 67 * 68 * %AR_TKN_U32_SUB_GRAPH_DIRECTION: Direction of subgraph 69 * APM_SUB_GRAPH_DIRECTION_TX = 1, 70 * APM_SUB_GRAPH_DIRECTION_RX = 2 71 * 72 * %AR_TKN_U32_SUB_GRAPH_SCENARIO_ID: Scenario ID for subgraph 73 * APM_SUB_GRAPH_SID_AUDIO_PLAYBACK = 1, 74 * APM_SUB_GRAPH_SID_AUDIO_RECORD = 2, 75 * APM_SUB_GRAPH_SID_VOICE_CALL = 3 76 * 77 * %AR_TKN_U32_CONTAINER_INSTANCE_ID: Container Instance ID 78 * 79 * %AR_TKN_U32_CONTAINER_CAPABILITY_ID: Container capability ID 80 * APM_CONTAINER_CAP_ID_PP = 1, 81 * APM_CONTAINER_CAP_ID_CD = 2, 82 * APM_CONTAINER_CAP_ID_EP = 3, 83 * APM_CONTAINER_CAP_ID_OLC = 4 84 * 85 * %AR_TKN_U32_CONTAINER_STACK_SIZE: Stack size in the container. 86 * 87 * %AR_TKN_U32_CONTAINER_GRAPH_POS: Graph Position 88 * APM_CONT_GRAPH_POS_STREAM = 1, 89 * APM_CONT_GRAPH_POS_PER_STR_PER_DEV = 2, 90 * APM_CONT_GRAPH_POS_STR_DEV = 3, 91 * APM_CONT_GRAPH_POS_GLOBAL_DEV = 4 92 * 93 * %AR_TKN_U32_CONTAINER_PROC_DOMAIN: Processor domain of container 94 * APM_PROC_DOMAIN_ID_MDSP = 1, 95 * APM_PROC_DOMAIN_ID_ADSP = 2, 96 * APM_PROC_DOMAIN_ID_SDSP = 4, 97 * APM_PROC_DOMAIN_ID_CDSP = 5 98 * 99 * %AR_TKN_U32_MODULE_ID: Module ID 100 * 101 * %AR_TKN_U32_MODULE_INSTANCE_ID: Module Instance ID. 102 * 103 * %AR_TKN_U32_MODULE_MAX_IP_PORTS: Module maximum input ports 104 * 105 * %AR_TKN_U32_MODULE_MAX_OP_PORTS: Module maximum output ports. 106 * 107 * %AR_TKN_U32_MODULE_IN_PORTS: Number of in ports 108 * 109 * %AR_TKN_U32_MODULE_OUT_PORTS: Number of out ports. 110 * 111 * %AR_TKN_U32_MODULE_SRC_OP_PORT_ID: Source module output port ID 112 * 113 * %AR_TKN_U32_MODULE_DST_IN_PORT_ID: Destination module input port ID 114 * 115 * %AR_TKN_U32_MODULE_HW_IF_IDX: Interface index types for I2S/LPAIF 116 * 117 * %AR_TKN_U32_MODULE_HW_IF_TYPE: Interface type 118 * LPAIF = 0, 119 * LPAIF_RXTX = 1, 120 * LPAIF_WSA = 2, 121 * LPAIF_VA = 3, 122 * LPAIF_AXI = 4 123 * Possible values for MI2S 124 * I2S_INTF_TYPE_PRIMARY = 0, 125 * I2S_INTF_TYPE_SECONDARY = 1, 126 * I2S_INTF_TYPE_TERTIARY = 2, 127 * I2S_INTF_TYPE_QUATERNARY = 3, 128 * I2S_INTF_TYPE_QUINARY = 4, 129 * 130 * %AR_TKN_U32_MODULE_FMT_INTERLEAVE: PCM Interleaving 131 * PCM_INTERLEAVED = 1, 132 * PCM_DEINTERLEAVED_PACKED = 2, 133 * PCM_DEINTERLEAVED_UNPACKED = 3 134 * 135 * %AR_TKN_U32_MODULE_FMT_DATA: data format 136 * FIXED POINT = 1, 137 * IEC60958 PACKETIZED = 3, 138 * IEC60958 PACKETIZED NON LINEAR = 8, 139 * COMPR OVER PCM PACKETIZED = 7, 140 * IEC61937 PACKETIZED = 2, 141 * GENERIC COMPRESSED = 5 142 * 143 * %AR_TKN_U32_MODULE_FMT_SAMPLE_RATE: sample rate 144 * 145 * %AR_TKN_U32_MODULE_FMT_BIT_DEPTH: bit depth 146 * 147 * %AR_TKN_U32_MODULE_SD_LINE_IDX: I2S serial data line idx 148 * I2S_SD0 = 1, 149 * I2S_SD1 = 2, 150 * I2S_SD2 = 3, 151 * I2S_SD3 = 4, 152 * I2S_QUAD01 = 5, 153 * I2S_QUAD23 = 6, 154 * I2S_6CHS = 7, 155 * I2S_8CHS = 8 156 * 157 * %AR_TKN_U32_MODULE_WS_SRC: Word Select Source 158 * AR_I2S_WS_SRC_EXTERNAL = 0, 159 * AR_I2S_WS_SRC_INTERNAL = 1, 160 * 161 * %AR_TKN_U32_MODULE_FRAME_SZ_FACTOR: Frame size factor 162 * 163 * %AR_TKN_U32_MODULE_LOG_CODE: Log Module Code 164 * 165 * %AR_TKN_U32_MODULE_LOG_TAP_POINT_ID: logging tap point of this module 166 * 167 * %AR_TKN_U32_MODULE_LOG_MODE: logging mode 168 * LOG_WAIT = 0, 169 * LOG_IMMEDIATELY = 1 170 * 171 * %AR_TKN_DAI_INDEX: dai index 172 * 173 */ 174 175/* DAI Tokens */ 176#define AR_TKN_DAI_INDEX 1 177/* SUB GRAPH Tokens */ 178#define AR_TKN_U32_SUB_GRAPH_INSTANCE_ID 2 179#define AR_TKN_U32_SUB_GRAPH_PERF_MODE 3 180#define AR_TKN_U32_SUB_GRAPH_DIRECTION 4 181#define AR_TKN_U32_SUB_GRAPH_SCENARIO_ID 5 182 183/* Container Tokens */ 184#define AR_TKN_U32_CONTAINER_INSTANCE_ID 100 185#define AR_TKN_U32_CONTAINER_CAPABILITY_ID 101 186#define AR_TKN_U32_CONTAINER_STACK_SIZE 102 187#define AR_TKN_U32_CONTAINER_GRAPH_POS 103 188#define AR_TKN_U32_CONTAINER_PROC_DOMAIN 104 189 190/* Module Tokens */ 191#define AR_TKN_U32_MODULE_ID 200 192#define AR_TKN_U32_MODULE_INSTANCE_ID 201 193#define AR_TKN_U32_MODULE_MAX_IP_PORTS 202 194#define AR_TKN_U32_MODULE_MAX_OP_PORTS 203 195#define AR_TKN_U32_MODULE_IN_PORTS 204 /* deprecated */ 196#define AR_TKN_U32_MODULE_OUT_PORTS 205 /* deprecated */ 197#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID 206 198#define AR_TKN_U32_MODULE_DST_IN_PORT_ID 207 199#define AR_TKN_U32_MODULE_SRC_INSTANCE_ID 208 200#define AR_TKN_U32_MODULE_DST_INSTANCE_ID 209 201 202#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID1 210 203#define AR_TKN_U32_MODULE_DST_IN_PORT_ID1 211 204#define AR_TKN_U32_MODULE_DST_INSTANCE_ID1 212 205 206#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID2 213 207#define AR_TKN_U32_MODULE_DST_IN_PORT_ID2 214 208#define AR_TKN_U32_MODULE_DST_INSTANCE_ID2 215 209 210#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID3 216 211#define AR_TKN_U32_MODULE_DST_IN_PORT_ID3 217 212#define AR_TKN_U32_MODULE_DST_INSTANCE_ID3 218 213 214#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID4 219 215#define AR_TKN_U32_MODULE_DST_IN_PORT_ID4 220 216#define AR_TKN_U32_MODULE_DST_INSTANCE_ID4 221 217 218#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID5 222 219#define AR_TKN_U32_MODULE_DST_IN_PORT_ID5 223 220#define AR_TKN_U32_MODULE_DST_INSTANCE_ID5 224 221 222#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID6 225 223#define AR_TKN_U32_MODULE_DST_IN_PORT_ID6 226 224#define AR_TKN_U32_MODULE_DST_INSTANCE_ID6 227 225 226#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID7 228 227#define AR_TKN_U32_MODULE_DST_IN_PORT_ID7 229 228#define AR_TKN_U32_MODULE_DST_INSTANCE_ID7 230 229 230#define AR_TKN_U32_MODULE_HW_IF_IDX 250 231#define AR_TKN_U32_MODULE_HW_IF_TYPE 251 232#define AR_TKN_U32_MODULE_FMT_INTERLEAVE 252 233#define AR_TKN_U32_MODULE_FMT_DATA 253 234#define AR_TKN_U32_MODULE_FMT_SAMPLE_RATE 254 235#define AR_TKN_U32_MODULE_FMT_BIT_DEPTH 255 236#define AR_TKN_U32_MODULE_SD_LINE_IDX 256 237#define AR_TKN_U32_MODULE_WS_SRC 257 238#define AR_TKN_U32_MODULE_FRAME_SZ_FACTOR 258 239#define AR_TKN_U32_MODULE_LOG_CODE 259 240#define AR_TKN_U32_MODULE_LOG_TAP_POINT_ID 260 241#define AR_TKN_U32_MODULE_LOG_MODE 261 242 243#define SND_SOC_AR_TPLG_MODULE_CFG_TYPE 0x01001006 244struct audioreach_module_priv_data { 245 __le32 size; /* size in bytes of the array, including all elements */ 246 __le32 type; /* SND_SOC_AR_TPLG_MODULE_CFG_TYPE */ 247 __le32 priv[2]; /* Private data for future expansion */ 248 __le32 data[0]; /* config data */ 249}; 250 251#endif /* __SND_AR_TOKENS_H__ */
~/
Read-only file preview.