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