1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 #ifndef __SND_AR_TOKENS_H__
4 #define __SND_AR_TOKENS_H__
6 #define APM_SUB_GRAPH_PERF_MODE_LOW_POWER 0x1
7 #define APM_SUB_GRAPH_PERF_MODE_LOW_LATENCY 0x2
9 #define APM_SUB_GRAPH_DIRECTION_TX 0x1
10 #define APM_SUB_GRAPH_DIRECTION_RX 0x2
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
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
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
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
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
56 #define SND_SOC_AR_TPLG_FE_BE_GRAPH_CTL_MIX 256
57 #define SND_SOC_AR_TPLG_VOL_CTL 257
60 * %AR_TKN_U32_SUB_GRAPH_INSTANCE_ID: Sub Graph Instance Id
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
66 * %AR_TKN_U32_SUB_GRAPH_DIRECTION: Direction of subgraph
67 * APM_SUB_GRAPH_DIRECTION_TX = 1,
68 * APM_SUB_GRAPH_DIRECTION_RX = 2
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
75 * %AR_TKN_U32_CONTAINER_INSTANCE_ID: Container Instance ID
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
83 * %AR_TKN_U32_CONTAINER_STACK_SIZE: Stack size in the container.
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
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
97 * %AR_TKN_U32_MODULE_ID: Module ID
99 * %AR_TKN_U32_MODULE_INSTANCE_ID: Module Instance ID.
101 * %AR_TKN_U32_MODULE_MAX_IP_PORTS: Module maximum input ports
103 * %AR_TKN_U32_MODULE_MAX_OP_PORTS: Module maximum output ports.
105 * %AR_TKN_U32_MODULE_IN_PORTS: Number of in ports
107 * %AR_TKN_U32_MODULE_OUT_PORTS: Number of out ports.
109 * %AR_TKN_U32_MODULE_SRC_OP_PORT_ID: Source module output port ID
111 * %AR_TKN_U32_MODULE_DST_IN_PORT_ID: Destination module input port ID
113 * %AR_TKN_U32_MODULE_HW_IF_IDX: Interface index types for I2S/LPAIF
115 * %AR_TKN_U32_MODULE_HW_IF_TYPE: Interface type
122 * %AR_TKN_U32_MODULE_FMT_INTERLEAVE: PCM Interleaving
123 * PCM_INTERLEAVED = 1,
124 * PCM_DEINTERLEAVED_PACKED = 2,
125 * PCM_DEINTERLEAVED_UNPACKED = 3
127 * %AR_TKN_U32_MODULE_FMT_DATA: data format
129 * IEC60958 PACKETIZED = 3,
130 * IEC60958 PACKETIZED NON LINEAR = 8,
131 * COMPR OVER PCM PACKETIZED = 7,
132 * IEC61937 PACKETIZED = 2,
133 * GENERIC COMPRESSED = 5
135 * %AR_TKN_U32_MODULE_FMT_SAMPLE_RATE: sample rate
137 * %AR_TKN_U32_MODULE_FMT_BIT_DEPTH: bit depth
139 * %AR_TKN_U32_MODULE_SD_LINE_IDX: I2S serial data line idx
149 * %AR_TKN_U32_MODULE_WS_SRC: Word Select Source
150 * AR_I2S_WS_SRC_EXTERNAL = 0,
151 * AR_I2S_WS_SRC_INTERNAL = 1,
153 * %AR_TKN_U32_MODULE_FRAME_SZ_FACTOR: Frame size factor
155 * %AR_TKN_U32_MODULE_LOG_CODE: Log Module Code
157 * %AR_TKN_U32_MODULE_LOG_TAP_POINT_ID: logging tap point of this module
159 * %AR_TKN_U32_MODULE_LOG_MODE: logging mode
161 * LOG_IMMEDIATELY = 1
163 * %AR_TKN_DAI_INDEX: dai index
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
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
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
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
208 #endif /* __SND_AR_TOKENS_H__ */