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 #define APM_SUB_GRAPH_PERF_MODE_LOW_POWER 0x1 7 #define APM_SUB_GRAPH_PERF_MODE_LOW_LATENCY 0x2 8 9 #define APM_SUB_GRAPH_DIRECTION_TX 0x1 10 #define APM_SUB_GRAPH_DIRECTION_RX 0x2 11 12 /** Scenario ID Audio Playback */ 13 #define APM_SUB_GRAPH_SID_AUDIO_PLAYBACK 0x1 14 /* Scenario ID Audio Record */ 15 #define APM_SUB_GRAPH_SID_AUDIO_RECORD 0x2 16 /* Scenario ID Voice call. */ 17 #define APM_SUB_GRAPH_SID_VOICE_CALL 0x3 18 19 /* container capability ID Pre/Post Processing (PP) */ 20 #define APM_CONTAINER_CAP_ID_PP 0x1 21 /* container capability ID Compression/Decompression (CD) */ 22 #define APM_CONTAINER_CAP_ID_CD 0x2 23 /* container capability ID End Point(EP) */ 24 #define APM_CONTAINER_CAP_ID_EP 0x3 25 /* container capability ID Offload (OLC) */ 26 #define APM_CONTAINER_CAP_ID_OLC 0x4 27 28 /* container graph position Stream */ 29 #define APM_CONT_GRAPH_POS_STREAM 0x1 30 /* container graph position Per Stream Per Device*/ 31 #define APM_CONT_GRAPH_POS_PER_STR_PER_DEV 0x2 32 /* container graph position Stream-Device */ 33 #define APM_CONT_GRAPH_POS_STR_DEV 0x3 34 /* container graph position Global Device */ 35 #define APM_CONT_GRAPH_POS_GLOBAL_DEV 0x4 36 37 #define APM_PROC_DOMAIN_ID_MDSP 0x1 38 #define APM_PROC_DOMAIN_ID_ADSP 0x2 39 #define APM_PROC_DOMAIN_ID_SDSP 0x4 40 #define APM_PROC_DOMAIN_ID_CDSP 0x5 41 42 #define PCM_INTERLEAVED 1 43 #define PCM_DEINTERLEAVED_PACKED 2 44 #define PCM_DEINTERLEAVED_UNPACKED 3 45 #define AR_I2S_WS_SRC_EXTERNAL 0 46 #define AR_I2S_WS_SRC_INTERNAL 1 47 48 enum ar_event_types { 49 AR_EVENT_NONE = 0, 50 AR_PGA_DAPM_EVENT 51 }; 52 53 /* 54 * Kcontrol IDs 55 */ 56 #define SND_SOC_AR_TPLG_FE_BE_GRAPH_CTL_MIX 256 57 #define SND_SOC_AR_TPLG_VOL_CTL 257 58 59 /** 60 * %AR_TKN_U32_SUB_GRAPH_INSTANCE_ID: Sub Graph Instance Id 61 * 62 * %AR_TKN_U32_SUB_GRAPH_PERF_MODE: Performance mode of subgraph 63 * APM_SUB_GRAPH_PERF_MODE_LOW_POWER = 1, 64 * APM_SUB_GRAPH_PERF_MODE_LOW_LATENCY = 2 65 * 66 * %AR_TKN_U32_SUB_GRAPH_DIRECTION: Direction of subgraph 67 * APM_SUB_GRAPH_DIRECTION_TX = 1, 68 * APM_SUB_GRAPH_DIRECTION_RX = 2 69 * 70 * %AR_TKN_U32_SUB_GRAPH_SCENARIO_ID: Scenario ID for subgraph 71 * APM_SUB_GRAPH_SID_AUDIO_PLAYBACK = 1, 72 * APM_SUB_GRAPH_SID_AUDIO_RECORD = 2, 73 * APM_SUB_GRAPH_SID_VOICE_CALL = 3 74 * 75 * %AR_TKN_U32_CONTAINER_INSTANCE_ID: Container Instance ID 76 * 77 * %AR_TKN_U32_CONTAINER_CAPABILITY_ID: Container capability ID 78 * APM_CONTAINER_CAP_ID_PP = 1, 79 * APM_CONTAINER_CAP_ID_CD = 2, 80 * APM_CONTAINER_CAP_ID_EP = 3, 81 * APM_CONTAINER_CAP_ID_OLC = 4 82 * 83 * %AR_TKN_U32_CONTAINER_STACK_SIZE: Stack size in the container. 84 * 85 * %AR_TKN_U32_CONTAINER_GRAPH_POS: Graph Position 86 * APM_CONT_GRAPH_POS_STREAM = 1, 87 * APM_CONT_GRAPH_POS_PER_STR_PER_DEV = 2, 88 * APM_CONT_GRAPH_POS_STR_DEV = 3, 89 * APM_CONT_GRAPH_POS_GLOBAL_DEV = 4 90 * 91 * %AR_TKN_U32_CONTAINER_PROC_DOMAIN: Processor domain of container 92 * APM_PROC_DOMAIN_ID_MDSP = 1, 93 * APM_PROC_DOMAIN_ID_ADSP = 2, 94 * APM_PROC_DOMAIN_ID_SDSP = 4, 95 * APM_PROC_DOMAIN_ID_CDSP = 5 96 * 97 * %AR_TKN_U32_MODULE_ID: Module ID 98 * 99 * %AR_TKN_U32_MODULE_INSTANCE_ID: Module Instance ID. 100 * 101 * %AR_TKN_U32_MODULE_MAX_IP_PORTS: Module maximum input ports 102 * 103 * %AR_TKN_U32_MODULE_MAX_OP_PORTS: Module maximum output ports. 104 * 105 * %AR_TKN_U32_MODULE_IN_PORTS: Number of in ports 106 * 107 * %AR_TKN_U32_MODULE_OUT_PORTS: Number of out ports. 108 * 109 * %AR_TKN_U32_MODULE_SRC_OP_PORT_ID: Source module output port ID 110 * 111 * %AR_TKN_U32_MODULE_DST_IN_PORT_ID: Destination module input port ID 112 * 113 * %AR_TKN_U32_MODULE_HW_IF_IDX: Interface index types for I2S/LPAIF 114 * 115 * %AR_TKN_U32_MODULE_HW_IF_TYPE: Interface type 116 * LPAIF = 0, 117 * LPAIF_RXTX = 1, 118 * LPAIF_WSA = 2, 119 * LPAIF_VA = 3, 120 * LPAIF_AXI = 4 121 * 122 * %AR_TKN_U32_MODULE_FMT_INTERLEAVE: PCM Interleaving 123 * PCM_INTERLEAVED = 1, 124 * PCM_DEINTERLEAVED_PACKED = 2, 125 * PCM_DEINTERLEAVED_UNPACKED = 3 126 * 127 * %AR_TKN_U32_MODULE_FMT_DATA: data format 128 * FIXED POINT = 1, 129 * IEC60958 PACKETIZED = 3, 130 * IEC60958 PACKETIZED NON LINEAR = 8, 131 * COMPR OVER PCM PACKETIZED = 7, 132 * IEC61937 PACKETIZED = 2, 133 * GENERIC COMPRESSED = 5 134 * 135 * %AR_TKN_U32_MODULE_FMT_SAMPLE_RATE: sample rate 136 * 137 * %AR_TKN_U32_MODULE_FMT_BIT_DEPTH: bit depth 138 * 139 * %AR_TKN_U32_MODULE_SD_LINE_IDX: I2S serial data line idx 140 * I2S_SD0 = 1, 141 * I2S_SD1 = 2, 142 * I2S_SD2 = 3, 143 * I2S_SD3 = 4, 144 * I2S_QUAD01 = 5, 145 * I2S_QUAD23 = 6, 146 * I2S_6CHS = 7, 147 * I2S_8CHS = 8 148 * 149 * %AR_TKN_U32_MODULE_WS_SRC: Word Select Source 150 * AR_I2S_WS_SRC_EXTERNAL = 0, 151 * AR_I2S_WS_SRC_INTERNAL = 1, 152 * 153 * %AR_TKN_U32_MODULE_FRAME_SZ_FACTOR: Frame size factor 154 * 155 * %AR_TKN_U32_MODULE_LOG_CODE: Log Module Code 156 * 157 * %AR_TKN_U32_MODULE_LOG_TAP_POINT_ID: logging tap point of this module 158 * 159 * %AR_TKN_U32_MODULE_LOG_MODE: logging mode 160 * LOG_WAIT = 0, 161 * LOG_IMMEDIATELY = 1 162 * 163 * %AR_TKN_DAI_INDEX: dai index 164 * 165 */ 166 167 /* DAI Tokens */ 168 #define AR_TKN_DAI_INDEX 1 169 /* SUB GRAPH Tokens */ 170 #define AR_TKN_U32_SUB_GRAPH_INSTANCE_ID 2 171 #define AR_TKN_U32_SUB_GRAPH_PERF_MODE 3 172 #define AR_TKN_U32_SUB_GRAPH_DIRECTION 4 173 #define AR_TKN_U32_SUB_GRAPH_SCENARIO_ID 5 174 175 /* Container Tokens */ 176 #define AR_TKN_U32_CONTAINER_INSTANCE_ID 100 177 #define AR_TKN_U32_CONTAINER_CAPABILITY_ID 101 178 #define AR_TKN_U32_CONTAINER_STACK_SIZE 102 179 #define AR_TKN_U32_CONTAINER_GRAPH_POS 103 180 #define AR_TKN_U32_CONTAINER_PROC_DOMAIN 104 181 182 /* Module Tokens */ 183 #define AR_TKN_U32_MODULE_ID 200 184 #define AR_TKN_U32_MODULE_INSTANCE_ID 201 185 #define AR_TKN_U32_MODULE_MAX_IP_PORTS 202 186 #define AR_TKN_U32_MODULE_MAX_OP_PORTS 203 187 #define AR_TKN_U32_MODULE_IN_PORTS 204 188 #define AR_TKN_U32_MODULE_OUT_PORTS 205 189 #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID 206 190 #define AR_TKN_U32_MODULE_DST_IN_PORT_ID 207 191 #define AR_TKN_U32_MODULE_SRC_INSTANCE_ID 208 192 #define AR_TKN_U32_MODULE_DST_INSTANCE_ID 209 193 194 195 #define AR_TKN_U32_MODULE_HW_IF_IDX 250 196 #define AR_TKN_U32_MODULE_HW_IF_TYPE 251 197 #define AR_TKN_U32_MODULE_FMT_INTERLEAVE 252 198 #define AR_TKN_U32_MODULE_FMT_DATA 253 199 #define AR_TKN_U32_MODULE_FMT_SAMPLE_RATE 254 200 #define AR_TKN_U32_MODULE_FMT_BIT_DEPTH 255 201 #define AR_TKN_U32_MODULE_SD_LINE_IDX 256 202 #define AR_TKN_U32_MODULE_WS_SRC 257 203 #define AR_TKN_U32_MODULE_FRAME_SZ_FACTOR 258 204 #define AR_TKN_U32_MODULE_LOG_CODE 259 205 #define AR_TKN_U32_MODULE_LOG_TAP_POINT_ID 260 206 #define AR_TKN_U32_MODULE_LOG_MODE 261 207 208 #endif /* __SND_AR_TOKENS_H__ */ 209