blob: 440c0725660b7deca1ae5352f9ab5ce3a13f24df [file] [log] [blame]
Srinivas Kandagatla36ad9bf2021-10-26 12:16:51 +01001/* 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
48enum 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__ */