Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/uapi/sound/snd_ar_tokens.h
26289 views
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
#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID1 210
195
#define AR_TKN_U32_MODULE_DST_IN_PORT_ID1 211
196
#define AR_TKN_U32_MODULE_DST_INSTANCE_ID1 212
197
198
#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID2 213
199
#define AR_TKN_U32_MODULE_DST_IN_PORT_ID2 214
200
#define AR_TKN_U32_MODULE_DST_INSTANCE_ID2 215
201
202
#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID3 216
203
#define AR_TKN_U32_MODULE_DST_IN_PORT_ID3 217
204
#define AR_TKN_U32_MODULE_DST_INSTANCE_ID3 218
205
206
#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID4 219
207
#define AR_TKN_U32_MODULE_DST_IN_PORT_ID4 220
208
#define AR_TKN_U32_MODULE_DST_INSTANCE_ID4 221
209
210
#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID5 222
211
#define AR_TKN_U32_MODULE_DST_IN_PORT_ID5 223
212
#define AR_TKN_U32_MODULE_DST_INSTANCE_ID5 224
213
214
#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID6 225
215
#define AR_TKN_U32_MODULE_DST_IN_PORT_ID6 226
216
#define AR_TKN_U32_MODULE_DST_INSTANCE_ID6 227
217
218
#define AR_TKN_U32_MODULE_SRC_OP_PORT_ID7 228
219
#define AR_TKN_U32_MODULE_DST_IN_PORT_ID7 229
220
#define AR_TKN_U32_MODULE_DST_INSTANCE_ID7 230
221
222
#define AR_TKN_U32_MODULE_HW_IF_IDX 250
223
#define AR_TKN_U32_MODULE_HW_IF_TYPE 251
224
#define AR_TKN_U32_MODULE_FMT_INTERLEAVE 252
225
#define AR_TKN_U32_MODULE_FMT_DATA 253
226
#define AR_TKN_U32_MODULE_FMT_SAMPLE_RATE 254
227
#define AR_TKN_U32_MODULE_FMT_BIT_DEPTH 255
228
#define AR_TKN_U32_MODULE_SD_LINE_IDX 256
229
#define AR_TKN_U32_MODULE_WS_SRC 257
230
#define AR_TKN_U32_MODULE_FRAME_SZ_FACTOR 258
231
#define AR_TKN_U32_MODULE_LOG_CODE 259
232
#define AR_TKN_U32_MODULE_LOG_TAP_POINT_ID 260
233
#define AR_TKN_U32_MODULE_LOG_MODE 261
234
235
#endif /* __SND_AR_TOKENS_H__ */
236
237