linux/include/uapi/sound/sof/tokens.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
   2/*
   3 * This file is provided under a dual BSD/GPLv2 license.  When using or
   4 * redistributing this file, you may do so under either license.
   5 *
   6 * Copyright(c) 2018 Intel Corporation. All rights reserved.
   7 * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
   8 *         Keyon Jie <yang.jie@linux.intel.com>
   9 */
  10
  11/*
  12 * Topology IDs and tokens.
  13 *
  14 * ** MUST BE ALIGNED WITH TOPOLOGY CONFIGURATION TOKEN VALUES **
  15 */
  16
  17#ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__
  18#define __INCLUDE_UAPI_SOF_TOPOLOGY_H__
  19
  20/*
  21 * Kcontrol IDs
  22 */
  23#define SOF_TPLG_KCTL_VOL_ID    256
  24#define SOF_TPLG_KCTL_ENUM_ID   257
  25#define SOF_TPLG_KCTL_BYTES_ID  258
  26#define SOF_TPLG_KCTL_SWITCH_ID 259
  27
  28/*
  29 * Tokens - must match values in topology configurations
  30 */
  31
  32/* buffers */
  33#define SOF_TKN_BUF_SIZE                        100
  34#define SOF_TKN_BUF_CAPS                        101
  35
  36/* DAI */
  37/* Token retired with ABI 3.2, do not use for new capabilities
  38 * #define      SOF_TKN_DAI_DMAC_CONFIG                 153
  39 */
  40#define SOF_TKN_DAI_TYPE                        154
  41#define SOF_TKN_DAI_INDEX                       155
  42#define SOF_TKN_DAI_DIRECTION                   156
  43
  44/* scheduling */
  45#define SOF_TKN_SCHED_PERIOD                    200
  46#define SOF_TKN_SCHED_PRIORITY                  201
  47#define SOF_TKN_SCHED_MIPS                      202
  48#define SOF_TKN_SCHED_CORE                      203
  49#define SOF_TKN_SCHED_FRAMES                    204
  50#define SOF_TKN_SCHED_TIME_DOMAIN               205
  51
  52/* volume */
  53#define SOF_TKN_VOLUME_RAMP_STEP_TYPE           250
  54#define SOF_TKN_VOLUME_RAMP_STEP_MS             251
  55
  56/* SRC */
  57#define SOF_TKN_SRC_RATE_IN                     300
  58#define SOF_TKN_SRC_RATE_OUT                    301
  59
  60/* PCM */
  61#define SOF_TKN_PCM_DMAC_CONFIG                 353
  62
  63/* Generic components */
  64#define SOF_TKN_COMP_PERIOD_SINK_COUNT          400
  65#define SOF_TKN_COMP_PERIOD_SOURCE_COUNT        401
  66#define SOF_TKN_COMP_FORMAT                     402
  67/* Token retired with ABI 3.2, do not use for new capabilities
  68 * #define SOF_TKN_COMP_PRELOAD_COUNT           403
  69 */
  70
  71/* SSP */
  72#define SOF_TKN_INTEL_SSP_CLKS_CONTROL          500
  73#define SOF_TKN_INTEL_SSP_MCLK_ID               501
  74#define SOF_TKN_INTEL_SSP_SAMPLE_BITS           502
  75#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH     503
  76#define SOF_TKN_INTEL_SSP_QUIRKS                504
  77#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT  505
  78
  79/* DMIC */
  80#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION       600
  81#define SOF_TKN_INTEL_DMIC_CLK_MIN              601
  82#define SOF_TKN_INTEL_DMIC_CLK_MAX              602
  83#define SOF_TKN_INTEL_DMIC_DUTY_MIN             603
  84#define SOF_TKN_INTEL_DMIC_DUTY_MAX             604
  85#define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE       605
  86#define SOF_TKN_INTEL_DMIC_SAMPLE_RATE          608
  87#define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH     609
  88#define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS  610
  89
  90/* DMIC PDM */
  91#define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID          700
  92#define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable     701
  93#define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable     702
  94#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A       703
  95#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B       704
  96#define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE         705
  97#define SOF_TKN_INTEL_DMIC_PDM_SKEW             706
  98
  99/* Tone */
 100#define SOF_TKN_TONE_SAMPLE_RATE                800
 101
 102/* Processing Components */
 103#define SOF_TKN_PROCESS_TYPE                    900
 104
 105/* for backward compatibility */
 106#define SOF_TKN_EFFECT_TYPE     SOF_TKN_PROCESS_TYPE
 107
 108#endif
 109