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
 25	/* struct avs_tplg_library */
 26	AVS_TKN_LIBRARY_ID_U32				= 101,
 27	AVS_TKN_LIBRARY_NAME_STRING			= 102,
 28
 29	/* struct avs_audio_format */
 30	AVS_TKN_AFMT_ID_U32				= 201,
 31	AVS_TKN_AFMT_SAMPLE_RATE_U32			= 202,
 32	AVS_TKN_AFMT_BIT_DEPTH_U32			= 203,
 33	AVS_TKN_AFMT_CHANNEL_MAP_U32			= 204,
 34	AVS_TKN_AFMT_CHANNEL_CFG_U32			= 205,
 35	AVS_TKN_AFMT_INTERLEAVING_U32			= 206,
 36	AVS_TKN_AFMT_NUM_CHANNELS_U32			= 207,
 37	AVS_TKN_AFMT_VALID_BIT_DEPTH_U32		= 208,
 38	AVS_TKN_AFMT_SAMPLE_TYPE_U32			= 209,
 39
 40	/* struct avs_tplg_modcfg_base */
 41	AVS_TKN_MODCFG_BASE_ID_U32			= 301,
 42	AVS_TKN_MODCFG_BASE_CPC_U32			= 302,
 43	AVS_TKN_MODCFG_BASE_IBS_U32			= 303,
 44	AVS_TKN_MODCFG_BASE_OBS_U32			= 304,
 45	AVS_TKN_MODCFG_BASE_PAGES_U32			= 305,
 46
 47	/* struct avs_tplg_modcfg_ext */
 48	AVS_TKN_MODCFG_EXT_ID_U32			= 401,
 49	AVS_TKN_MODCFG_EXT_TYPE_UUID			= 402,
 50	AVS_TKN_MODCFG_CPR_OUT_AFMT_ID_U32		= 403,
 51	AVS_TKN_MODCFG_CPR_FEATURE_MASK_U32		= 404,
 52	AVS_TKN_MODCFG_CPR_DMA_TYPE_U32			= 405,
 53	AVS_TKN_MODCFG_CPR_DMABUFF_SIZE_U32		= 406,
 54	AVS_TKN_MODCFG_CPR_VINDEX_U8			= 407,
 55	AVS_TKN_MODCFG_CPR_BLOB_FMT_ID_U32		= 408,
 56	AVS_TKN_MODCFG_MICSEL_OUT_AFMT_ID_U32		= 409,
 57	AVS_TKN_MODCFG_INTELWOV_CPC_LP_MODE_U32		= 410,
 58	AVS_TKN_MODCFG_SRC_OUT_FREQ_U32			= 411,
 59	AVS_TKN_MODCFG_MUX_REF_AFMT_ID_U32		= 412,
 60	AVS_TKN_MODCFG_MUX_OUT_AFMT_ID_U32		= 413,
 61	AVS_TKN_MODCFG_AEC_REF_AFMT_ID_U32		= 414,
 62	AVS_TKN_MODCFG_AEC_OUT_AFMT_ID_U32		= 415,
 63	AVS_TKN_MODCFG_AEC_CPC_LP_MODE_U32		= 416,
 64	AVS_TKN_MODCFG_ASRC_OUT_FREQ_U32		= 417,
 65	AVS_TKN_MODCFG_ASRC_MODE_U8			= 418,
 66	AVS_TKN_MODCFG_ASRC_DISABLE_JITTER_U8		= 419,
 67	AVS_TKN_MODCFG_UPDOWN_MIX_OUT_CHAN_CFG_U32	= 420,
 68	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_SELECT_U32	= 421,
 69	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_0_S32		= 422,
 70	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_1_S32		= 423,
 71	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_2_S32		= 424,
 72	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_3_S32		= 425,
 73	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_4_S32		= 426,
 74	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_5_S32		= 427,
 75	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_6_S32		= 428,
 76	AVS_TKN_MODCFG_UPDOWN_MIX_COEFF_7_S32		= 429,
 77	AVS_TKN_MODCFG_UPDOWN_MIX_CHAN_MAP_U32		= 430,
 78	AVS_TKN_MODCFG_EXT_NUM_INPUT_PINS_U16		= 431,
 79	AVS_TKN_MODCFG_EXT_NUM_OUTPUT_PINS_U16		= 432,
 80	AVS_TKN_MODCFG_WHM_REF_AFMT_ID_U32		= 433,
 81	AVS_TKN_MODCFG_WHM_OUT_AFMT_ID_U32		= 434,
 82	AVS_TKN_MODCFG_WHM_WAKE_TICK_PERIOD_U32		= 435,
 83	AVS_TKN_MODCFG_WHM_VINDEX_U8			= 436,
 84	AVS_TKN_MODCFG_WHM_DMA_TYPE_U32			= 437,
 85	AVS_TKN_MODCFG_WHM_DMABUFF_SIZE_U32		= 438,
 86	AVS_TKN_MODCFG_WHM_BLOB_AFMT_ID_U32		= 439,
 87	AVS_TKN_MODCFG_PEAKVOL_VOLUME_U32		= 440,
 88	AVS_TKN_MODCFG_PEAKVOL_CHANNEL_ID_U32		= 441, /* reserved */
 89	AVS_TKN_MODCFG_PEAKVOL_CURVE_TYPE_U32		= 442,
 90	AVS_TKN_MODCFG_PEAKVOL_CURVE_DURATION_U32	= 443,
 91
 92	/* struct avs_tplg_pplcfg */
 93	AVS_TKN_PPLCFG_ID_U32				= 1401,
 94	AVS_TKN_PPLCFG_REQ_SIZE_U16			= 1402,
 95	AVS_TKN_PPLCFG_PRIORITY_U8			= 1403,
 96	AVS_TKN_PPLCFG_LOW_POWER_BOOL			= 1404,
 97	AVS_TKN_PPLCFG_ATTRIBUTES_U16			= 1405,
 98	AVS_TKN_PPLCFG_TRIGGER_U32			= 1406,
 99
100	/* struct avs_tplg_binding */
101	AVS_TKN_BINDING_ID_U32				= 1501,
102	AVS_TKN_BINDING_TARGET_TPLG_NAME_STRING		= 1502,
103	AVS_TKN_BINDING_TARGET_PATH_TMPL_ID_U32		= 1503,
104	AVS_TKN_BINDING_TARGET_PPL_ID_U32		= 1504,
105	AVS_TKN_BINDING_TARGET_MOD_ID_U32		= 1505,
106	AVS_TKN_BINDING_TARGET_MOD_PIN_U8		= 1506,
107	AVS_TKN_BINDING_MOD_ID_U32			= 1507,
108	AVS_TKN_BINDING_MOD_PIN_U8			= 1508,
109	AVS_TKN_BINDING_IS_SINK_U8			= 1509,
110
111	/* struct avs_tplg_pipeline */
112	AVS_TKN_PPL_ID_U32				= 1601,
113	AVS_TKN_PPL_PPLCFG_ID_U32			= 1602,
114	AVS_TKN_PPL_NUM_BINDING_IDS_U32			= 1603,
115	AVS_TKN_PPL_BINDING_ID_U32			= 1604,
116
117	/* struct avs_tplg_module */
118	AVS_TKN_MOD_ID_U32				= 1701,
119	AVS_TKN_MOD_MODCFG_BASE_ID_U32			= 1702,
120	AVS_TKN_MOD_IN_AFMT_ID_U32			= 1703,
121	AVS_TKN_MOD_CORE_ID_U8				= 1704,
122	AVS_TKN_MOD_PROC_DOMAIN_U8			= 1705,
123	AVS_TKN_MOD_MODCFG_EXT_ID_U32			= 1706,
124	AVS_TKN_MOD_KCONTROL_ID_U32			= 1707,
125	AVS_TKN_MOD_INIT_CONFIG_NUM_IDS_U32		= 1708,
126	AVS_TKN_MOD_INIT_CONFIG_ID_U32			= 1709,
127
128	/* struct avs_tplg_path_template */
129	AVS_TKN_PATH_TMPL_ID_U32			= 1801,
130
131	/* struct avs_tplg_path */
132	AVS_TKN_PATH_ID_U32				= 1901,
133	AVS_TKN_PATH_FE_FMT_ID_U32			= 1902,
134	AVS_TKN_PATH_BE_FMT_ID_U32			= 1903,
135
136	/* struct avs_tplg_pin_format */
137	AVS_TKN_PIN_FMT_INDEX_U32			= 2201,
138	AVS_TKN_PIN_FMT_IOBS_U32			= 2202,
139	AVS_TKN_PIN_FMT_AFMT_ID_U32			= 2203,
140
141	/* struct avs_tplg_kcontrol */
142	AVS_TKN_KCONTROL_ID_U32				= 2301,
143
144	/* struct avs_tplg_init_config */
145	AVS_TKN_INIT_CONFIG_ID_U32			= 2401,
146	AVS_TKN_INIT_CONFIG_PARAM_U8			= 2402,
147	AVS_TKN_INIT_CONFIG_LENGTH_U32			= 2403,
148};
149
150#endif