1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * Copyright(c) 2021 Intel Corporation
4 *
5 * Authors: Cezary Rojewski <cezary.rojewski@intel.com>
6 * Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com>
7 */
8
9#ifndef __UAPI_SOUND_INTEL_AVS_TOKENS_H
10#define __UAPI_SOUND_INTEL_AVS_TOKENS_H
11
12enum avs_tplg_token {
13 /* struct avs_tplg */
14 AVS_TKN_MANIFEST_NAME_STRING = 1,
15 AVS_TKN_MANIFEST_VERSION_U32 = 2,
16 AVS_TKN_MANIFEST_NUM_LIBRARIES_U32 = 3,
17 AVS_TKN_MANIFEST_NUM_AFMTS_U32 = 4,
18 AVS_TKN_MANIFEST_NUM_MODCFGS_BASE_U32 = 5,
19 AVS_TKN_MANIFEST_NUM_MODCFGS_EXT_U32 = 6,
20 AVS_TKN_MANIFEST_NUM_PPLCFGS_U32 = 7,
21 AVS_TKN_MANIFEST_NUM_BINDINGS_U32 = 8,
22 AVS_TKN_MANIFEST_NUM_CONDPATH_TMPLS_U32 = 9,
23 AVS_TKN_MANIFEST_NUM_INIT_CONFIGS_U32 = 10,
24 AVS_TKN_MANIFEST_NUM_NHLT_CONFIGS_U32 = 11,
25
26 /* struct avs_tplg_library */
27 AVS_TKN_LIBRARY_ID_U32 = 101,
28 AVS_TKN_LIBRARY_NAME_STRING = 102,
29
30 /* struct avs_audio_format */
31 AVS_TKN_AFMT_ID_U32 = 201,
32 AVS_TKN_AFMT_SAMPLE_RATE_U32 = 202,
33 AVS_TKN_AFMT_BIT_DEPTH_U32 = 203,
34 AVS_TKN_AFMT_CHANNEL_MAP_U32 = 204,
35 AVS_TKN_AFMT_CHANNEL_CFG_U32 = 205,
36 AVS_TKN_AFMT_INTERLEAVING_U32 = 206,
37 AVS_TKN_AFMT_NUM_CHANNELS_U32 = 207,
38 AVS_TKN_AFMT_VALID_BIT_DEPTH_U32 = 208,
39 AVS_TKN_AFMT_SAMPLE_TYPE_U32 = 209,
40
41 /* struct avs_tplg_modcfg_base */
42 AVS_TKN_MODCFG_BASE_ID_U32 = 301,
43 AVS_TKN_MODCFG_BASE_CPC_U32 = 302,
44 AVS_TKN_MODCFG_BASE_IBS_U32 = 303,
45 AVS_TKN_MODCFG_BASE_OBS_U32 = 304,
46 AVS_TKN_MODCFG_BASE_PAGES_U32 = 305,
47
48 /* struct avs_tplg_modcfg_ext */
49 AVS_TKN_MODCFG_EXT_ID_U32 = 401,
50 AVS_TKN_MODCFG_EXT_TYPE_UUID = 402,
51 AVS_TKN_MODCFG_CPR_OUT_AFMT_ID_U32 = 403,
52 AVS_TKN_MODCFG_CPR_FEATURE_MASK_U32 = 404,
53 AVS_TKN_MODCFG_CPR_DMA_TYPE_U32 = 405,
54 AVS_TKN_MODCFG_CPR_DMABUFF_SIZE_U32 = 406,
55 AVS_TKN_MODCFG_CPR_VINDEX_U8 = 407,
56 AVS_TKN_MODCFG_CPR_BLOB_FMT_ID_U32 = 408,
57 AVS_TKN_MODCFG_MICSEL_OUT_AFMT_ID_U32 = 409,
58 AVS_TKN_MODCFG_INTELWOV_CPC_LP_MODE_U32 = 410,
59 AVS_TKN_MODCFG_SRC_OUT_FREQ_U32 = 411,
60 AVS_TKN_MODCFG_MUX_REF_AFMT_ID_U32 = 412,
61 AVS_TKN_MODCFG_MUX_OUT_AFMT_ID_U32 = 413,
62 AVS_TKN_MODCFG_AEC_REF_AFMT_ID_U32 = 414,
63 AVS_TKN_MODCFG_AEC_OUT_AFMT_ID_U32 = 415,
64 AVS_TKN_MODCFG_AEC_CPC_LP_MODE_U32 = 416,
65 AVS_TKN_MODCFG_ASRC_OUT_FREQ_U32 = 417,
66 AVS_TKN_MODCFG_ASRC_MODE_U8 = 418,
67 AVS_TKN_MODCFG_ASRC_DISABLE_JITTER_U8 = 419,
68 AVS_TKN_MODCFG_UPDOWN_MIX_OUT_CHAN_CFG_U32 = 420,
69 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_SELECT_U32 = 421,
70 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_0_S32 = 422,
71 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_1_S32 = 423,
72 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_2_S32 = 424,
73 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_3_S32 = 425,
74 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_4_S32 = 426,
75 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_5_S32 = 427,
76 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_6_S32 = 428,
77 AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_7_S32 = 429,
78 AVS_TKN_MODCFG_UPDOWN_MIX_CHAN_MAP_U32 = 430,
79 AVS_TKN_MODCFG_EXT_NUM_INPUT_PINS_U16 = 431,
80 AVS_TKN_MODCFG_EXT_NUM_OUTPUT_PINS_U16 = 432,
81 AVS_TKN_MODCFG_WHM_REF_AFMT_ID_U32 = 433,
82 AVS_TKN_MODCFG_WHM_OUT_AFMT_ID_U32 = 434,
83 AVS_TKN_MODCFG_WHM_WAKE_TICK_PERIOD_U32 = 435,
84 AVS_TKN_MODCFG_WHM_VINDEX_U8 = 436,
85 AVS_TKN_MODCFG_WHM_DMA_TYPE_U32 = 437,
86 AVS_TKN_MODCFG_WHM_DMABUFF_SIZE_U32 = 438,
87 AVS_TKN_MODCFG_WHM_BLOB_AFMT_ID_U32 = 439,
88 AVS_TKN_MODCFG_PEAKVOL_VOLUME_U32 = 440,
89 AVS_TKN_MODCFG_PEAKVOL_CHANNEL_ID_U32 = 441, /* reserved */
90 AVS_TKN_MODCFG_PEAKVOL_CURVE_TYPE_U32 = 442,
91 AVS_TKN_MODCFG_PEAKVOL_CURVE_DURATION_U32 = 443,
92
93 /* struct avs_tplg_pplcfg */
94 AVS_TKN_PPLCFG_ID_U32 = 1401,
95 AVS_TKN_PPLCFG_REQ_SIZE_U16 = 1402,
96 AVS_TKN_PPLCFG_PRIORITY_U8 = 1403,
97 AVS_TKN_PPLCFG_LOW_POWER_BOOL = 1404,
98 AVS_TKN_PPLCFG_ATTRIBUTES_U16 = 1405,
99 AVS_TKN_PPLCFG_TRIGGER_U32 = 1406,
100
101 /* struct avs_tplg_binding */
102 AVS_TKN_BINDING_ID_U32 = 1501,
103 AVS_TKN_BINDING_TARGET_TPLG_NAME_STRING = 1502,
104 AVS_TKN_BINDING_TARGET_PATH_TMPL_ID_U32 = 1503,
105 AVS_TKN_BINDING_TARGET_PPL_ID_U32 = 1504,
106 AVS_TKN_BINDING_TARGET_MOD_ID_U32 = 1505,
107 AVS_TKN_BINDING_TARGET_MOD_PIN_U8 = 1506,
108 AVS_TKN_BINDING_MOD_ID_U32 = 1507,
109 AVS_TKN_BINDING_MOD_PIN_U8 = 1508,
110 AVS_TKN_BINDING_IS_SINK_U8 = 1509,
111
112 /* struct avs_tplg_pipeline */
113 AVS_TKN_PPL_ID_U32 = 1601,
114 AVS_TKN_PPL_PPLCFG_ID_U32 = 1602,
115 AVS_TKN_PPL_NUM_BINDING_IDS_U32 = 1603,
116 AVS_TKN_PPL_BINDING_ID_U32 = 1604,
117
118 /* struct avs_tplg_module */
119 AVS_TKN_MOD_ID_U32 = 1701,
120 AVS_TKN_MOD_MODCFG_BASE_ID_U32 = 1702,
121 AVS_TKN_MOD_IN_AFMT_ID_U32 = 1703,
122 AVS_TKN_MOD_CORE_ID_U8 = 1704,
123 AVS_TKN_MOD_PROC_DOMAIN_U8 = 1705,
124 AVS_TKN_MOD_MODCFG_EXT_ID_U32 = 1706,
125 AVS_TKN_MOD_KCONTROL_ID_U32 = 1707,
126 AVS_TKN_MOD_INIT_CONFIG_NUM_IDS_U32 = 1708,
127 AVS_TKN_MOD_INIT_CONFIG_ID_U32 = 1709,
128 AVS_TKN_MOD_NHLT_CONFIG_ID_U32 = 1710,
129
130 /* struct avs_tplg_path_template */
131 AVS_TKN_PATH_TMPL_ID_U32 = 1801,
132
133 /* struct avs_tplg_path */
134 AVS_TKN_PATH_ID_U32 = 1901,
135 AVS_TKN_PATH_FE_FMT_ID_U32 = 1902,
136 AVS_TKN_PATH_BE_FMT_ID_U32 = 1903,
137
138 /* struct avs_tplg_path_template (conditional) */
139 AVS_TKN_CONDPATH_TMPL_ID_U32 = 1801,
140 AVS_TKN_CONDPATH_TMPL_SOURCE_TPLG_NAME_STRING = 2002,
141 AVS_TKN_CONDPATH_TMPL_SOURCE_PATH_TMPL_ID_U32 = 2003,
142 AVS_TKN_CONDPATH_TMPL_SINK_TPLG_NAME_STRING = 2004,
143 AVS_TKN_CONDPATH_TMPL_SINK_PATH_TMPL_ID_U32 = 2005,
144 AVS_TKN_CONDPATH_TMPL_COND_TYPE_U32 = 2006,
145 AVS_TKN_CONDPATH_TMPL_OVERRIDABLE_BOOL = 2007,
146 AVS_TKN_CONDPATH_TMPL_PRIORITY_U8 = 2008,
147
148 /* struct avs_tplg_path (conditional) */
149 AVS_TKN_CONDPATH_ID_U32 = 1901,
150 AVS_TKN_CONDPATH_SOURCE_PATH_ID_U32 = 2102,
151 AVS_TKN_CONDPATH_SINK_PATH_ID_U32 = 2103,
152
153 /* struct avs_tplg_pin_format */
154 AVS_TKN_PIN_FMT_INDEX_U32 = 2201,
155 AVS_TKN_PIN_FMT_IOBS_U32 = 2202,
156 AVS_TKN_PIN_FMT_AFMT_ID_U32 = 2203,
157
158 /* struct avs_tplg_kcontrol */
159 AVS_TKN_KCONTROL_ID_U32 = 2301,
160
161 /* struct avs_tplg_init_config */
162 AVS_TKN_INIT_CONFIG_ID_U32 = 2401,
163 AVS_TKN_INIT_CONFIG_PARAM_U8 = 2402,
164 AVS_TKN_INIT_CONFIG_LENGTH_U32 = 2403,
165
166 /* struct avs_tplg_nhlt_config */
167 AVS_TKN_NHLT_CONFIG_ID_U32 = 2501,
168 AVS_TKN_NHLT_CONFIG_SIZE_U32 = 2502,
169};
170
171#endif