tokens.h 6.6 KB

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