136ad9bf1SSrinivas Kandagatla /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
236ad9bf1SSrinivas Kandagatla 
336ad9bf1SSrinivas Kandagatla #ifndef __SND_AR_TOKENS_H__
436ad9bf1SSrinivas Kandagatla #define __SND_AR_TOKENS_H__
536ad9bf1SSrinivas Kandagatla 
636ad9bf1SSrinivas Kandagatla #define APM_SUB_GRAPH_PERF_MODE_LOW_POWER	0x1
736ad9bf1SSrinivas Kandagatla #define APM_SUB_GRAPH_PERF_MODE_LOW_LATENCY	0x2
836ad9bf1SSrinivas Kandagatla 
936ad9bf1SSrinivas Kandagatla #define APM_SUB_GRAPH_DIRECTION_TX		0x1
1036ad9bf1SSrinivas Kandagatla #define APM_SUB_GRAPH_DIRECTION_RX		0x2
1136ad9bf1SSrinivas Kandagatla 
1236ad9bf1SSrinivas Kandagatla /** Scenario ID Audio Playback */
1336ad9bf1SSrinivas Kandagatla #define APM_SUB_GRAPH_SID_AUDIO_PLAYBACK          0x1
1436ad9bf1SSrinivas Kandagatla /* Scenario ID Audio Record */
1536ad9bf1SSrinivas Kandagatla #define APM_SUB_GRAPH_SID_AUDIO_RECORD            0x2
1636ad9bf1SSrinivas Kandagatla /* Scenario ID Voice call. */
1736ad9bf1SSrinivas Kandagatla #define APM_SUB_GRAPH_SID_VOICE_CALL              0x3
1836ad9bf1SSrinivas Kandagatla 
1936ad9bf1SSrinivas Kandagatla /* container capability ID Pre/Post Processing (PP) */
2036ad9bf1SSrinivas Kandagatla #define APM_CONTAINER_CAP_ID_PP                   0x1
2136ad9bf1SSrinivas Kandagatla /* container capability ID Compression/Decompression (CD) */
2236ad9bf1SSrinivas Kandagatla #define APM_CONTAINER_CAP_ID_CD                   0x2
2336ad9bf1SSrinivas Kandagatla /* container capability ID End Point(EP) */
2436ad9bf1SSrinivas Kandagatla #define APM_CONTAINER_CAP_ID_EP                   0x3
2536ad9bf1SSrinivas Kandagatla /* container capability ID Offload (OLC) */
2636ad9bf1SSrinivas Kandagatla #define APM_CONTAINER_CAP_ID_OLC                  0x4
2736ad9bf1SSrinivas Kandagatla 
2836ad9bf1SSrinivas Kandagatla /* container graph position Stream */
2936ad9bf1SSrinivas Kandagatla #define APM_CONT_GRAPH_POS_STREAM                 0x1
3036ad9bf1SSrinivas Kandagatla /* container graph position Per Stream Per Device*/
3136ad9bf1SSrinivas Kandagatla #define APM_CONT_GRAPH_POS_PER_STR_PER_DEV        0x2
3236ad9bf1SSrinivas Kandagatla /* container graph position Stream-Device */
3336ad9bf1SSrinivas Kandagatla #define APM_CONT_GRAPH_POS_STR_DEV                0x3
3436ad9bf1SSrinivas Kandagatla /* container graph position Global Device */
3536ad9bf1SSrinivas Kandagatla #define APM_CONT_GRAPH_POS_GLOBAL_DEV             0x4
3636ad9bf1SSrinivas Kandagatla 
3736ad9bf1SSrinivas Kandagatla #define APM_PROC_DOMAIN_ID_MDSP			0x1
3836ad9bf1SSrinivas Kandagatla #define APM_PROC_DOMAIN_ID_ADSP			0x2
3936ad9bf1SSrinivas Kandagatla #define APM_PROC_DOMAIN_ID_SDSP			0x4
4036ad9bf1SSrinivas Kandagatla #define APM_PROC_DOMAIN_ID_CDSP			0x5
4136ad9bf1SSrinivas Kandagatla 
4236ad9bf1SSrinivas Kandagatla #define PCM_INTERLEAVED			1
4336ad9bf1SSrinivas Kandagatla #define PCM_DEINTERLEAVED_PACKED	2
4436ad9bf1SSrinivas Kandagatla #define PCM_DEINTERLEAVED_UNPACKED	3
4536ad9bf1SSrinivas Kandagatla #define AR_I2S_WS_SRC_EXTERNAL	0
4636ad9bf1SSrinivas Kandagatla #define AR_I2S_WS_SRC_INTERNAL	1
4736ad9bf1SSrinivas Kandagatla 
4836ad9bf1SSrinivas Kandagatla enum ar_event_types {
4936ad9bf1SSrinivas Kandagatla 	AR_EVENT_NONE = 0,
5036ad9bf1SSrinivas Kandagatla 	AR_PGA_DAPM_EVENT
5136ad9bf1SSrinivas Kandagatla };
5236ad9bf1SSrinivas Kandagatla 
5336ad9bf1SSrinivas Kandagatla /*
5436ad9bf1SSrinivas Kandagatla  * Kcontrol IDs
5536ad9bf1SSrinivas Kandagatla  */
5636ad9bf1SSrinivas Kandagatla #define SND_SOC_AR_TPLG_FE_BE_GRAPH_CTL_MIX	256
5736ad9bf1SSrinivas Kandagatla #define SND_SOC_AR_TPLG_VOL_CTL			257
5836ad9bf1SSrinivas Kandagatla 
5936ad9bf1SSrinivas Kandagatla /**
6036ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_SUB_GRAPH_INSTANCE_ID:		Sub Graph Instance Id
6136ad9bf1SSrinivas Kandagatla  *
6236ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_SUB_GRAPH_PERF_MODE:		Performance mode of subgraph
6336ad9bf1SSrinivas Kandagatla  *						APM_SUB_GRAPH_PERF_MODE_LOW_POWER = 1,
6436ad9bf1SSrinivas Kandagatla  *						APM_SUB_GRAPH_PERF_MODE_LOW_LATENCY = 2
6536ad9bf1SSrinivas Kandagatla  *
6636ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_SUB_GRAPH_DIRECTION:		Direction of subgraph
6736ad9bf1SSrinivas Kandagatla  *						APM_SUB_GRAPH_DIRECTION_TX = 1,
6836ad9bf1SSrinivas Kandagatla  *						APM_SUB_GRAPH_DIRECTION_RX = 2
6936ad9bf1SSrinivas Kandagatla  *
7036ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_SUB_GRAPH_SCENARIO_ID:		Scenario ID for subgraph
7136ad9bf1SSrinivas Kandagatla  *						APM_SUB_GRAPH_SID_AUDIO_PLAYBACK = 1,
7236ad9bf1SSrinivas Kandagatla  *						APM_SUB_GRAPH_SID_AUDIO_RECORD = 2,
7336ad9bf1SSrinivas Kandagatla  *						APM_SUB_GRAPH_SID_VOICE_CALL = 3
7436ad9bf1SSrinivas Kandagatla  *
7536ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_CONTAINER_INSTANCE_ID:		Container Instance ID
7636ad9bf1SSrinivas Kandagatla  *
7736ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_CONTAINER_CAPABILITY_ID:		Container capability ID
7836ad9bf1SSrinivas Kandagatla  *						APM_CONTAINER_CAP_ID_PP = 1,
7936ad9bf1SSrinivas Kandagatla  *						APM_CONTAINER_CAP_ID_CD = 2,
8036ad9bf1SSrinivas Kandagatla  *						APM_CONTAINER_CAP_ID_EP = 3,
8136ad9bf1SSrinivas Kandagatla  *						APM_CONTAINER_CAP_ID_OLC = 4
8236ad9bf1SSrinivas Kandagatla  *
8336ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_CONTAINER_STACK_SIZE:		Stack size in the container.
8436ad9bf1SSrinivas Kandagatla  *
8536ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_CONTAINER_GRAPH_POS:		Graph Position
8636ad9bf1SSrinivas Kandagatla  *						APM_CONT_GRAPH_POS_STREAM = 1,
8736ad9bf1SSrinivas Kandagatla  *						APM_CONT_GRAPH_POS_PER_STR_PER_DEV = 2,
8836ad9bf1SSrinivas Kandagatla  *						APM_CONT_GRAPH_POS_STR_DEV = 3,
8936ad9bf1SSrinivas Kandagatla  *						APM_CONT_GRAPH_POS_GLOBAL_DEV = 4
9036ad9bf1SSrinivas Kandagatla  *
9136ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_CONTAINER_PROC_DOMAIN:		Processor domain of container
9236ad9bf1SSrinivas Kandagatla  *						APM_PROC_DOMAIN_ID_MDSP = 1,
9336ad9bf1SSrinivas Kandagatla  *						APM_PROC_DOMAIN_ID_ADSP = 2,
9436ad9bf1SSrinivas Kandagatla  *						APM_PROC_DOMAIN_ID_SDSP = 4,
9536ad9bf1SSrinivas Kandagatla  *						APM_PROC_DOMAIN_ID_CDSP = 5
9636ad9bf1SSrinivas Kandagatla  *
9736ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_ID:			Module ID
9836ad9bf1SSrinivas Kandagatla  *
9936ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_INSTANCE_ID:		Module Instance ID.
10036ad9bf1SSrinivas Kandagatla  *
10136ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_MAX_IP_PORTS:		Module maximum input ports
10236ad9bf1SSrinivas Kandagatla  *
10336ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_MAX_OP_PORTS:		Module maximum output ports.
10436ad9bf1SSrinivas Kandagatla  *
10536ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_IN_PORTS:			Number of in ports
10636ad9bf1SSrinivas Kandagatla  *
10736ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_OUT_PORTS:		Number of out ports.
10836ad9bf1SSrinivas Kandagatla  *
10936ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_SRC_OP_PORT_ID:		Source module output port ID
11036ad9bf1SSrinivas Kandagatla  *
11136ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_DST_IN_PORT_ID:		Destination module input port ID
11236ad9bf1SSrinivas Kandagatla  *
11336ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_HW_IF_IDX:		Interface index types for I2S/LPAIF
11436ad9bf1SSrinivas Kandagatla  *
11536ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_HW_IF_TYPE:		Interface type
11636ad9bf1SSrinivas Kandagatla  *						LPAIF = 0,
11736ad9bf1SSrinivas Kandagatla  *						LPAIF_RXTX = 1,
11836ad9bf1SSrinivas Kandagatla  *						LPAIF_WSA = 2,
11936ad9bf1SSrinivas Kandagatla  *						LPAIF_VA = 3,
12036ad9bf1SSrinivas Kandagatla  *						LPAIF_AXI = 4
12136ad9bf1SSrinivas Kandagatla  *
12236ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_FMT_INTERLEAVE:		PCM Interleaving
12336ad9bf1SSrinivas Kandagatla  *						PCM_INTERLEAVED = 1,
12436ad9bf1SSrinivas Kandagatla  *						PCM_DEINTERLEAVED_PACKED = 2,
12536ad9bf1SSrinivas Kandagatla  *						PCM_DEINTERLEAVED_UNPACKED = 3
12636ad9bf1SSrinivas Kandagatla  *
12736ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_FMT_DATA:			data format
12836ad9bf1SSrinivas Kandagatla  *						FIXED POINT = 1,
12936ad9bf1SSrinivas Kandagatla  *						IEC60958 PACKETIZED = 3,
13036ad9bf1SSrinivas Kandagatla  *						IEC60958 PACKETIZED NON LINEAR = 8,
13136ad9bf1SSrinivas Kandagatla  *						COMPR OVER PCM PACKETIZED = 7,
13236ad9bf1SSrinivas Kandagatla  *						IEC61937 PACKETIZED = 2,
13336ad9bf1SSrinivas Kandagatla  *						GENERIC COMPRESSED = 5
13436ad9bf1SSrinivas Kandagatla  *
13536ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_FMT_SAMPLE_RATE:		sample rate
13636ad9bf1SSrinivas Kandagatla  *
13736ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_FMT_BIT_DEPTH:		bit depth
13836ad9bf1SSrinivas Kandagatla  *
13936ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_SD_LINE_IDX:		I2S serial data line idx
14036ad9bf1SSrinivas Kandagatla  *						I2S_SD0 = 1,
14136ad9bf1SSrinivas Kandagatla  *						I2S_SD1 = 2,
14236ad9bf1SSrinivas Kandagatla  *						I2S_SD2 = 3,
14336ad9bf1SSrinivas Kandagatla  *						I2S_SD3 = 4,
14436ad9bf1SSrinivas Kandagatla  *						I2S_QUAD01 = 5,
14536ad9bf1SSrinivas Kandagatla  *						I2S_QUAD23 = 6,
14636ad9bf1SSrinivas Kandagatla  *						I2S_6CHS = 7,
14736ad9bf1SSrinivas Kandagatla  *						I2S_8CHS = 8
14836ad9bf1SSrinivas Kandagatla  *
14936ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_WS_SRC:			Word Select Source
15036ad9bf1SSrinivas Kandagatla  *						AR_I2S_WS_SRC_EXTERNAL = 0,
15136ad9bf1SSrinivas Kandagatla  *						AR_I2S_WS_SRC_INTERNAL = 1,
15236ad9bf1SSrinivas Kandagatla  *
15336ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_FRAME_SZ_FACTOR:		Frame size factor
15436ad9bf1SSrinivas Kandagatla  *
15536ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_LOG_CODE:			Log Module Code
15636ad9bf1SSrinivas Kandagatla  *
15736ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_LOG_TAP_POINT_ID:		logging tap point of this module
15836ad9bf1SSrinivas Kandagatla  *
15936ad9bf1SSrinivas Kandagatla  * %AR_TKN_U32_MODULE_LOG_MODE:			logging mode
16036ad9bf1SSrinivas Kandagatla  *						LOG_WAIT = 0,
16136ad9bf1SSrinivas Kandagatla  *						LOG_IMMEDIATELY = 1
16236ad9bf1SSrinivas Kandagatla  *
16336ad9bf1SSrinivas Kandagatla  * %AR_TKN_DAI_INDEX:				dai index
16436ad9bf1SSrinivas Kandagatla  *
16536ad9bf1SSrinivas Kandagatla  */
16636ad9bf1SSrinivas Kandagatla 
16736ad9bf1SSrinivas Kandagatla /* DAI Tokens */
16836ad9bf1SSrinivas Kandagatla #define AR_TKN_DAI_INDEX			1
16936ad9bf1SSrinivas Kandagatla /* SUB GRAPH Tokens */
17036ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_SUB_GRAPH_INSTANCE_ID	2
17136ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_SUB_GRAPH_PERF_MODE		3
17236ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_SUB_GRAPH_DIRECTION		4
17336ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_SUB_GRAPH_SCENARIO_ID	5
17436ad9bf1SSrinivas Kandagatla 
17536ad9bf1SSrinivas Kandagatla /* Container Tokens */
17636ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_CONTAINER_INSTANCE_ID	100
17736ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_CONTAINER_CAPABILITY_ID	101
17836ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_CONTAINER_STACK_SIZE		102
17936ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_CONTAINER_GRAPH_POS		103
18036ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_CONTAINER_PROC_DOMAIN	104
18136ad9bf1SSrinivas Kandagatla 
18236ad9bf1SSrinivas Kandagatla /* Module Tokens */
18336ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_ID			200
18436ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_INSTANCE_ID		201
18536ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_MAX_IP_PORTS		202
18636ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_MAX_OP_PORTS		203
18736ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_IN_PORTS		204
18836ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_OUT_PORTS		205
18936ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID	206
19036ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID	207
19136ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_INSTANCE_ID	208
19236ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID	209
19336ad9bf1SSrinivas Kandagatla 
194*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID1	210
195*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID1	211
196*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID1	212
197*03365d6aSSrinivas Kandagatla 
198*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID2	213
199*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID2	214
200*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID2	215
201*03365d6aSSrinivas Kandagatla 
202*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID3	216
203*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID3	217
204*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID3	218
205*03365d6aSSrinivas Kandagatla 
206*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID4	219
207*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID4	220
208*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID4	221
209*03365d6aSSrinivas Kandagatla 
210*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID5	222
211*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID5	223
212*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID5	224
213*03365d6aSSrinivas Kandagatla 
214*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID6	225
215*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID6	226
216*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID6	227
217*03365d6aSSrinivas Kandagatla 
218*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID7	228
219*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_IN_PORT_ID7	229
220*03365d6aSSrinivas Kandagatla #define AR_TKN_U32_MODULE_DST_INSTANCE_ID7	230
22136ad9bf1SSrinivas Kandagatla 
22236ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_HW_IF_IDX		250
22336ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_HW_IF_TYPE		251
22436ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_FMT_INTERLEAVE	252
22536ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_FMT_DATA		253
22636ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_FMT_SAMPLE_RATE	254
22736ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_FMT_BIT_DEPTH		255
22836ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_SD_LINE_IDX		256
22936ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_WS_SRC		257
23036ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_FRAME_SZ_FACTOR	258
23136ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_LOG_CODE		259
23236ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_LOG_TAP_POINT_ID	260
23336ad9bf1SSrinivas Kandagatla #define AR_TKN_U32_MODULE_LOG_MODE		261
23436ad9bf1SSrinivas Kandagatla 
23536ad9bf1SSrinivas Kandagatla #endif /* __SND_AR_TOKENS_H__ */
236