Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
0002 /*
0003  * This file is provided under a dual BSD/GPLv2 license.  When using or
0004  * redistributing this file, you may do so under either license.
0005  *
0006  * Copyright(c) 2018 Intel Corporation. All rights reserved.
0007  * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
0008  *         Keyon Jie <yang.jie@linux.intel.com>
0009  */
0010 
0011 /*
0012  * Topology IDs and tokens.
0013  *
0014  * ** MUST BE ALIGNED WITH TOPOLOGY CONFIGURATION TOKEN VALUES **
0015  */
0016 
0017 #ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__
0018 #define __INCLUDE_UAPI_SOF_TOPOLOGY_H__
0019 
0020 /*
0021  * Kcontrol IDs
0022  */
0023 #define SOF_TPLG_KCTL_VOL_ID    256
0024 #define SOF_TPLG_KCTL_ENUM_ID   257
0025 #define SOF_TPLG_KCTL_BYTES_ID  258
0026 #define SOF_TPLG_KCTL_SWITCH_ID 259
0027 #define SOF_TPLG_KCTL_BYTES_VOLATILE_RO 260
0028 #define SOF_TPLG_KCTL_BYTES_VOLATILE_RW 261
0029 #define SOF_TPLG_KCTL_BYTES_WO_ID 262
0030 
0031 /*
0032  * Tokens - must match values in topology configurations
0033  */
0034 
0035 /* buffers */
0036 #define SOF_TKN_BUF_SIZE            100
0037 #define SOF_TKN_BUF_CAPS            101
0038 
0039 /* DAI */
0040 /* Token retired with ABI 3.2, do not use for new capabilities
0041  * #define  SOF_TKN_DAI_DMAC_CONFIG         153
0042  */
0043 #define SOF_TKN_DAI_TYPE            154
0044 #define SOF_TKN_DAI_INDEX           155
0045 #define SOF_TKN_DAI_DIRECTION           156
0046 
0047 /* scheduling */
0048 #define SOF_TKN_SCHED_PERIOD            200
0049 #define SOF_TKN_SCHED_PRIORITY          201
0050 #define SOF_TKN_SCHED_MIPS          202
0051 #define SOF_TKN_SCHED_CORE          203
0052 #define SOF_TKN_SCHED_FRAMES            204
0053 #define SOF_TKN_SCHED_TIME_DOMAIN       205
0054 #define SOF_TKN_SCHED_DYNAMIC_PIPELINE      206
0055 #define SOF_TKN_SCHED_LP_MODE           207
0056 #define SOF_TKN_SCHED_MEM_USAGE         208
0057 
0058 /* volume */
0059 #define SOF_TKN_VOLUME_RAMP_STEP_TYPE       250
0060 #define SOF_TKN_VOLUME_RAMP_STEP_MS     251
0061 
0062 #define SOF_TKN_GAIN_RAMP_TYPE          260
0063 #define SOF_TKN_GAIN_RAMP_DURATION      261
0064 #define SOF_TKN_GAIN_VAL            262
0065 
0066 /* SRC */
0067 #define SOF_TKN_SRC_RATE_IN         300
0068 #define SOF_TKN_SRC_RATE_OUT            301
0069 
0070 /* ASRC */
0071 #define SOF_TKN_ASRC_RATE_IN            320
0072 #define SOF_TKN_ASRC_RATE_OUT           321
0073 #define SOF_TKN_ASRC_ASYNCHRONOUS_MODE      322
0074 #define SOF_TKN_ASRC_OPERATION_MODE     323
0075 
0076 /* PCM */
0077 #define SOF_TKN_PCM_DMAC_CONFIG         353
0078 
0079 /* Generic components */
0080 #define SOF_TKN_COMP_PERIOD_SINK_COUNT      400
0081 #define SOF_TKN_COMP_PERIOD_SOURCE_COUNT    401
0082 #define SOF_TKN_COMP_FORMAT         402
0083 /* Token retired with ABI 3.2, do not use for new capabilities
0084  * #define SOF_TKN_COMP_PRELOAD_COUNT       403
0085  */
0086 #define SOF_TKN_COMP_CORE_ID            404
0087 #define SOF_TKN_COMP_UUID                       405
0088 #define SOF_TKN_COMP_CPC            406
0089 #define SOF_TKN_COMP_IS_PAGES           409
0090 #define SOF_TKN_COMP_NUM_AUDIO_FORMATS      410
0091 
0092 /* SSP */
0093 #define SOF_TKN_INTEL_SSP_CLKS_CONTROL      500
0094 #define SOF_TKN_INTEL_SSP_MCLK_ID       501
0095 #define SOF_TKN_INTEL_SSP_SAMPLE_BITS       502
0096 #define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503
0097 #define SOF_TKN_INTEL_SSP_QUIRKS        504
0098 #define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT  505
0099 #define SOF_TKN_INTEL_SSP_BCLK_DELAY        506
0100 
0101 /* DMIC */
0102 #define SOF_TKN_INTEL_DMIC_DRIVER_VERSION   600
0103 #define SOF_TKN_INTEL_DMIC_CLK_MIN      601
0104 #define SOF_TKN_INTEL_DMIC_CLK_MAX      602
0105 #define SOF_TKN_INTEL_DMIC_DUTY_MIN     603
0106 #define SOF_TKN_INTEL_DMIC_DUTY_MAX     604
0107 #define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE   605
0108 #define SOF_TKN_INTEL_DMIC_SAMPLE_RATE      608
0109 #define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH 609
0110 #define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS  610
0111 
0112 /* DMIC PDM */
0113 #define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID      700
0114 #define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable 701
0115 #define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable 702
0116 #define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A   703
0117 #define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B   704
0118 #define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE     705
0119 #define SOF_TKN_INTEL_DMIC_PDM_SKEW     706
0120 
0121 /* Tone */
0122 #define SOF_TKN_TONE_SAMPLE_RATE        800
0123 
0124 /* Processing Components */
0125 #define SOF_TKN_PROCESS_TYPE                    900
0126 
0127 /* for backward compatibility */
0128 #define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE
0129 
0130 /* SAI */
0131 #define SOF_TKN_IMX_SAI_MCLK_ID         1000
0132 
0133 /* ESAI */
0134 #define SOF_TKN_IMX_ESAI_MCLK_ID        1100
0135 
0136 /* Stream */
0137 #define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200
0138 #define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3  1201
0139 
0140 /* Led control for mute switches */
0141 #define SOF_TKN_MUTE_LED_USE            1300
0142 #define SOF_TKN_MUTE_LED_DIRECTION      1301
0143 
0144 /* ALH */
0145 #define SOF_TKN_INTEL_ALH_RATE          1400
0146 #define SOF_TKN_INTEL_ALH_CH            1401
0147 
0148 /* HDA */
0149 #define SOF_TKN_INTEL_HDA_RATE          1500
0150 #define SOF_TKN_INTEL_HDA_CH            1501
0151 
0152 /* AFE */
0153 #define SOF_TKN_MEDIATEK_AFE_RATE       1600
0154 #define SOF_TKN_MEDIATEK_AFE_CH         1601
0155 #define SOF_TKN_MEDIATEK_AFE_FORMAT     1602
0156 
0157 /* MIXER */
0158 #define SOF_TKN_MIXER_TYPE          1700
0159 
0160 /* ACPDMIC */
0161 #define SOF_TKN_AMD_ACPDMIC_RATE        1800
0162 #define SOF_TKN_AMD_ACPDMIC_CH          1801
0163 
0164 /* CAVS AUDIO FORMAT */
0165 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_RATE   1900
0166 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_BIT_DEPTH  1901
0167 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_VALID_BIT  1902
0168 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CHANNELS   1903
0169 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_MAP 1904
0170 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_CFG 1905
0171 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_INTERLEAVING_STYLE 1906
0172 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_FMT_CFG    1907
0173 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_SAMPLE_TYPE    1908
0174 /* intentional token numbering discontinuity, reserved for future use */
0175 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_RATE  1930
0176 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_BIT_DEPTH 1931
0177 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_VALID_BIT 1932
0178 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CHANNELS  1933
0179 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_MAP    1934
0180 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_CFG    1935
0181 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_INTERLEAVING_STYLE    1936
0182 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_FMT_CFG   1937
0183 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_SAMPLE_TYPE   1938
0184 /* intentional token numbering discontinuity, reserved for future use */
0185 #define SOF_TKN_CAVS_AUDIO_FORMAT_IBS       1970
0186 #define SOF_TKN_CAVS_AUDIO_FORMAT_OBS       1971
0187 #define SOF_TKN_CAVS_AUDIO_FORMAT_DMA_BUFFER_SIZE   1972
0188 
0189 /* COPIER */
0190 #define SOF_TKN_INTEL_COPIER_NODE_TYPE      1980
0191 
0192 #endif