1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * Copyright(c) 2021 Intel Corporation. All rights reserved.
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
23	/* struct avs_tplg_library */
24	AVS_TKN_LIBRARY_ID_U32				= 101,
25	AVS_TKN_LIBRARY_NAME_STRING			= 102,
26
27	/* struct avs_audio_format */
28	AVS_TKN_AFMT_ID_U32				= 201,
29	AVS_TKN_AFMT_SAMPLE_RATE_U32			= 202,
30	AVS_TKN_AFMT_BIT_DEPTH_U32			= 203,
31	AVS_TKN_AFMT_CHANNEL_MAP_U32			= 204,
32	AVS_TKN_AFMT_CHANNEL_CFG_U32			= 205,
33	AVS_TKN_AFMT_INTERLEAVING_U32			= 206,
34	AVS_TKN_AFMT_NUM_CHANNELS_U32			= 207,
35	AVS_TKN_AFMT_VALID_BIT_DEPTH_U32		= 208,
36	AVS_TKN_AFMT_SAMPLE_TYPE_U32			= 209,
37
38	/* struct avs_tplg_modcfg_base */
39	AVS_TKN_MODCFG_BASE_ID_U32			= 301,
40	AVS_TKN_MODCFG_BASE_CPC_U32			= 302,
41	AVS_TKN_MODCFG_BASE_IBS_U32			= 303,
42	AVS_TKN_MODCFG_BASE_OBS_U32			= 304,
43	AVS_TKN_MODCFG_BASE_PAGES_U32			= 305,
44
45	/* struct avs_tplg_modcfg_ext */
46	AVS_TKN_MODCFG_EXT_ID_U32			= 401,
47	AVS_TKN_MODCFG_EXT_TYPE_UUID			= 402,
48	AVS_TKN_MODCFG_CPR_OUT_AFMT_ID_U32		= 403,
49	AVS_TKN_MODCFG_CPR_FEATURE_MASK_U32		= 404,
50	AVS_TKN_MODCFG_CPR_DMA_TYPE_U32			= 405,
51	AVS_TKN_MODCFG_CPR_DMABUFF_SIZE_U32		= 406,
52	AVS_TKN_MODCFG_CPR_VINDEX_U8			= 407,
53	AVS_TKN_MODCFG_CPR_BLOB_FMT_ID_U32		= 408,
54	AVS_TKN_MODCFG_MICSEL_OUT_AFMT_ID_U32		= 409,
55	AVS_TKN_MODCFG_INTELWOV_CPC_LP_MODE_U32		= 410,
56	AVS_TKN_MODCFG_SRC_OUT_FREQ_U32			= 411,
57	AVS_TKN_MODCFG_MUX_REF_AFMT_ID_U32		= 412,
58	AVS_TKN_MODCFG_MUX_OUT_AFMT_ID_U32		= 413,
59	AVS_TKN_MODCFG_AEC_REF_AFMT_ID_U32		= 414,
60	AVS_TKN_MODCFG_AEC_OUT_AFMT_ID_U32		= 415,
61	AVS_TKN_MODCFG_AEC_CPC_LP_MODE_U32		= 416,
62	AVS_TKN_MODCFG_ASRC_OUT_FREQ_U32		= 417,
63	AVS_TKN_MODCFG_ASRC_MODE_U8			= 418,
64	AVS_TKN_MODCFG_ASRC_DISABLE_JITTER_U8		= 419,
65	AVS_TKN_MODCFG_UPDOWN_MIX_OUT_CHAN_CFG_U32	= 420,
66	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_SELECT_U32	= 421,
67	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_0_S32		= 422,
68	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_1_S32		= 423,
69	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_2_S32		= 424,
70	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_3_S32		= 425,
71	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_4_S32		= 426,
72	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_5_S32		= 427,
73	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_6_S32		= 428,
74	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_7_S32		= 429,
75	AVS_TKN_MODCFG_UPDOWN_MIX_CHAN_MAP_U32		= 430,
76	AVS_TKN_MODCFG_EXT_NUM_INPUT_PINS_U16		= 431,
77	AVS_TKN_MODCFG_EXT_NUM_OUTPUT_PINS_U16		= 432,
78
79	/* struct avs_tplg_pplcfg */
80	AVS_TKN_PPLCFG_ID_U32				= 1401,
81	AVS_TKN_PPLCFG_REQ_SIZE_U16			= 1402,
82	AVS_TKN_PPLCFG_PRIORITY_U8			= 1403,
83	AVS_TKN_PPLCFG_LOW_POWER_BOOL			= 1404,
84	AVS_TKN_PPLCFG_ATTRIBUTES_U16			= 1405,
85	AVS_TKN_PPLCFG_TRIGGER_U32			= 1406,
86
87	/* struct avs_tplg_binding */
88	AVS_TKN_BINDING_ID_U32				= 1501,
89	AVS_TKN_BINDING_TARGET_TPLG_NAME_STRING		= 1502,
90	AVS_TKN_BINDING_TARGET_PATH_TMPL_ID_U32		= 1503,
91	AVS_TKN_BINDING_TARGET_PPL_ID_U32		= 1504,
92	AVS_TKN_BINDING_TARGET_MOD_ID_U32		= 1505,
93	AVS_TKN_BINDING_TARGET_MOD_PIN_U8		= 1506,
94	AVS_TKN_BINDING_MOD_ID_U32			= 1507,
95	AVS_TKN_BINDING_MOD_PIN_U8			= 1508,
96	AVS_TKN_BINDING_IS_SINK_U8			= 1509,
97
98	/* struct avs_tplg_pipeline */
99	AVS_TKN_PPL_ID_U32				= 1601,
100	AVS_TKN_PPL_PPLCFG_ID_U32			= 1602,
101	AVS_TKN_PPL_NUM_BINDING_IDS_U32			= 1603,
102	AVS_TKN_PPL_BINDING_ID_U32			= 1604,
103
104	/* struct avs_tplg_module */
105	AVS_TKN_MOD_ID_U32				= 1701,
106	AVS_TKN_MOD_MODCFG_BASE_ID_U32			= 1702,
107	AVS_TKN_MOD_IN_AFMT_ID_U32			= 1703,
108	AVS_TKN_MOD_CORE_ID_U8				= 1704,
109	AVS_TKN_MOD_PROC_DOMAIN_U8			= 1705,
110	AVS_TKN_MOD_MODCFG_EXT_ID_U32			= 1706,
111	AVS_TKN_MOD_KCONTROL_ID_U32			= 1707,
112
113	/* struct avs_tplg_path_template */
114	AVS_TKN_PATH_TMPL_ID_U32			= 1801,
115
116	/* struct avs_tplg_path */
117	AVS_TKN_PATH_ID_U32				= 1901,
118	AVS_TKN_PATH_FE_FMT_ID_U32			= 1902,
119	AVS_TKN_PATH_BE_FMT_ID_U32			= 1903,
120
121	/* struct avs_tplg_pin_format */
122	AVS_TKN_PIN_FMT_INDEX_U32			= 2201,
123	AVS_TKN_PIN_FMT_IOBS_U32			= 2202,
124	AVS_TKN_PIN_FMT_AFMT_ID_U32			= 2203,
125
126	/* struct avs_tplg_kcontrol */
127	AVS_TKN_KCONTROL_ID_U32				= 2301,
128};
129
130#endif
131