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#define SOF_TPLG_KCTL_BYTES_VOLATILE_RO 260
  28#define SOF_TPLG_KCTL_BYTES_VOLATILE_RW 261
  29#define SOF_TPLG_KCTL_BYTES_WO_ID 262
  30
  31/*
  32 * Tokens - must match values in topology configurations
  33 */
  34
  35/* buffers */
  36#define SOF_TKN_BUF_SIZE                        100
  37#define SOF_TKN_BUF_CAPS                        101
  38
  39/* DAI */
  40/* Token retired with ABI 3.2, do not use for new capabilities
  41 * #define      SOF_TKN_DAI_DMAC_CONFIG                 153
  42 */
  43#define SOF_TKN_DAI_TYPE                        154
  44#define SOF_TKN_DAI_INDEX                       155
  45#define SOF_TKN_DAI_DIRECTION                   156
  46
  47/* scheduling */
  48#define SOF_TKN_SCHED_PERIOD                    200
  49#define SOF_TKN_SCHED_PRIORITY                  201
  50#define SOF_TKN_SCHED_MIPS                      202
  51#define SOF_TKN_SCHED_CORE                      203
  52#define SOF_TKN_SCHED_FRAMES                    204
  53#define SOF_TKN_SCHED_TIME_DOMAIN               205
  54
  55/* volume */
  56#define SOF_TKN_VOLUME_RAMP_STEP_TYPE           250
  57#define SOF_TKN_VOLUME_RAMP_STEP_MS             251
  58
  59/* SRC */
  60#define SOF_TKN_SRC_RATE_IN                     300
  61#define SOF_TKN_SRC_RATE_OUT                    301
  62
  63/* ASRC */
  64#define SOF_TKN_ASRC_RATE_IN                    320
  65#define SOF_TKN_ASRC_RATE_OUT                   321
  66#define SOF_TKN_ASRC_ASYNCHRONOUS_MODE          322
  67#define SOF_TKN_ASRC_OPERATION_MODE             323
  68
  69/* PCM */
  70#define SOF_TKN_PCM_DMAC_CONFIG                 353
  71
  72/* Generic components */
  73#define SOF_TKN_COMP_PERIOD_SINK_COUNT          400
  74#define SOF_TKN_COMP_PERIOD_SOURCE_COUNT        401
  75#define SOF_TKN_COMP_FORMAT                     402
  76/* Token retired with ABI 3.2, do not use for new capabilities
  77 * #define SOF_TKN_COMP_PRELOAD_COUNT           403
  78 */
  79#define SOF_TKN_COMP_CORE_ID                    404
  80#define SOF_TKN_COMP_UUID                       405
  81
  82/* SSP */
  83#define SOF_TKN_INTEL_SSP_CLKS_CONTROL          500
  84#define SOF_TKN_INTEL_SSP_MCLK_ID               501
  85#define SOF_TKN_INTEL_SSP_SAMPLE_BITS           502
  86#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH     503
  87#define SOF_TKN_INTEL_SSP_QUIRKS                504
  88#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT  505
  89#define SOF_TKN_INTEL_SSP_BCLK_DELAY            506
  90
  91/* DMIC */
  92#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION       600
  93#define SOF_TKN_INTEL_DMIC_CLK_MIN              601
  94#define SOF_TKN_INTEL_DMIC_CLK_MAX              602
  95#define SOF_TKN_INTEL_DMIC_DUTY_MIN             603
  96#define SOF_TKN_INTEL_DMIC_DUTY_MAX             604
  97#define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE       605
  98#define SOF_TKN_INTEL_DMIC_SAMPLE_RATE          608
  99#define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH     609
 100#define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS  610
 101
 102/* DMIC PDM */
 103#define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID          700
 104#define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable     701
 105#define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable     702
 106#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A       703
 107#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B       704
 108#define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE         705
 109#define SOF_TKN_INTEL_DMIC_PDM_SKEW             706
 110
 111/* Tone */
 112#define SOF_TKN_TONE_SAMPLE_RATE                800
 113
 114/* Processing Components */
 115#define SOF_TKN_PROCESS_TYPE                    900
 116
 117/* for backward compatibility */
 118#define SOF_TKN_EFFECT_TYPE     SOF_TKN_PROCESS_TYPE
 119
 120/* SAI */
 121#define SOF_TKN_IMX_SAI_MCLK_ID                 1000
 122
 123/* ESAI */
 124#define SOF_TKN_IMX_ESAI_MCLK_ID                1100
 125
 126/* Stream */
 127#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200
 128#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3  1201
 129
 130/* Led control for mute switches */
 131#define SOF_TKN_MUTE_LED_USE                    1300
 132#define SOF_TKN_MUTE_LED_DIRECTION              1301
 133
 134/* ALH */
 135#define SOF_TKN_INTEL_ALH_RATE                  1400
 136#define SOF_TKN_INTEL_ALH_CH                    1401
 137
 138/* HDA */
 139#define SOF_TKN_INTEL_HDA_RATE                  1500
 140#define SOF_TKN_INTEL_HDA_CH                    1501
 141
 142#endif
 143