/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) *//* * This file is provided under a dual BSD/GPLv2 license. When using or * redistributing this file, you may do so under either license. * * Copyright(c) 2018 Intel Corporation * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> * Keyon Jie <yang.jie@linux.intel.com> */ /* * Topology IDs and tokens. * * ** MUST BE ALIGNED WITH TOPOLOGY CONFIGURATION TOKEN VALUES ** */ #ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__#define __INCLUDE_UAPI_SOF_TOPOLOGY_H__ /* * Kcontrol IDs */#define SOF_TPLG_KCTL_VOL_ID 256#define SOF_TPLG_KCTL_ENUM_ID 257#define SOF_TPLG_KCTL_BYTES_ID 258#define SOF_TPLG_KCTL_SWITCH_ID 259#define SOF_TPLG_KCTL_BYTES_VOLATILE_RO 260#define SOF_TPLG_KCTL_BYTES_VOLATILE_RW 261#define SOF_TPLG_KCTL_BYTES_WO_ID 262 /* * Tokens - must match values in topology configurations */ /* buffers */#define SOF_TKN_BUF_SIZE 100#define SOF_TKN_BUF_CAPS 101#define SOF_TKN_BUF_FLAGS 102 /* DAI *//* Token retired with ABI 3.2, do not use for new capabilities * #define SOF_TKN_DAI_DMAC_CONFIG 153 */#define SOF_TKN_DAI_TYPE 154#define SOF_TKN_DAI_INDEX 155#define SOF_TKN_DAI_DIRECTION 156 /* scheduling */#define SOF_TKN_SCHED_PERIOD 200#define SOF_TKN_SCHED_PRIORITY 201#define SOF_TKN_SCHED_MIPS 202#define SOF_TKN_SCHED_CORE 203#define SOF_TKN_SCHED_FRAMES 204#define SOF_TKN_SCHED_TIME_DOMAIN 205#define SOF_TKN_SCHED_DYNAMIC_PIPELINE 206#define SOF_TKN_SCHED_LP_MODE 207#define SOF_TKN_SCHED_MEM_USAGE 208#define SOF_TKN_SCHED_USE_CHAIN_DMA 209#define SOF_TKN_SCHED_KCPS 210#define SOF_TKN_SCHED_DIRECTION 211#define SOF_TKN_SCHED_DIRECTION_VALID 212 /* volume */#define SOF_TKN_VOLUME_RAMP_STEP_TYPE 250#define SOF_TKN_VOLUME_RAMP_STEP_MS 251 #define SOF_TKN_GAIN_RAMP_TYPE 260#define SOF_TKN_GAIN_RAMP_DURATION 261#define SOF_TKN_GAIN_VAL 262 /* SRC */#define SOF_TKN_SRC_RATE_IN 300#define SOF_TKN_SRC_RATE_OUT 301 /* ASRC */#define SOF_TKN_ASRC_RATE_IN 320#define SOF_TKN_ASRC_RATE_OUT 321#define SOF_TKN_ASRC_ASYNCHRONOUS_MODE 322#define SOF_TKN_ASRC_OPERATION_MODE 323 /* PCM */#define SOF_TKN_PCM_DMAC_CONFIG 353 /* Generic components */#define SOF_TKN_COMP_PERIOD_SINK_COUNT 400#define SOF_TKN_COMP_PERIOD_SOURCE_COUNT 401#define SOF_TKN_COMP_FORMAT 402/* Token retired with ABI 3.2, do not use for new capabilities * #define SOF_TKN_COMP_PRELOAD_COUNT 403 */#define SOF_TKN_COMP_CORE_ID 404#define SOF_TKN_COMP_UUID 405#define SOF_TKN_COMP_CPC 406#define SOF_TKN_COMP_IS_PAGES 409#define SOF_TKN_COMP_NUM_AUDIO_FORMATS 410#define SOF_TKN_COMP_NUM_INPUT_PINS 411#define SOF_TKN_COMP_NUM_OUTPUT_PINS 412/* * The token for input/output pin binding, it specifies the widget * name that the input/output pin is connected from/to. */#define SOF_TKN_COMP_INPUT_PIN_BINDING_WNAME 413#define SOF_TKN_COMP_OUTPUT_PIN_BINDING_WNAME 414#define SOF_TKN_COMP_NUM_INPUT_AUDIO_FORMATS 415#define SOF_TKN_COMP_NUM_OUTPUT_AUDIO_FORMATS 416/* * The token value is copied to the dapm_widget's * no_wname_in_kcontrol_name. */#define SOF_TKN_COMP_NO_WNAME_IN_KCONTROL_NAME 417 #define SOF_TKN_COMP_SCHED_DOMAIN 418#define SOF_TKN_COMP_DOMAIN_ID 419#define SOF_TKN_COMP_STACK_BYTES_REQUIREMENT 420#define SOF_TKN_COMP_HEAP_BYTES_REQUIREMENT 421 /* SSP */#define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500#define SOF_TKN_INTEL_SSP_MCLK_ID 501#define SOF_TKN_INTEL_SSP_SAMPLE_BITS 502#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503#define SOF_TKN_INTEL_SSP_QUIRKS 504#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505#define SOF_TKN_INTEL_SSP_BCLK_DELAY 506 /* DMIC */#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600#define SOF_TKN_INTEL_DMIC_CLK_MIN 601#define SOF_TKN_INTEL_DMIC_CLK_MAX 602#define SOF_TKN_INTEL_DMIC_DUTY_MIN 603#define SOF_TKN_INTEL_DMIC_DUTY_MAX 604#define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE 605#define SOF_TKN_INTEL_DMIC_SAMPLE_RATE 608#define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH 609#define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS 610 /* DMIC PDM */#define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID 700#define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable 701#define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable 702#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A 703#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B 704#define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE 705#define SOF_TKN_INTEL_DMIC_PDM_SKEW 706 /* Tone */#define SOF_TKN_TONE_SAMPLE_RATE 800 /* Processing Components */#define SOF_TKN_PROCESS_TYPE 900 /* for backward compatibility */#define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE /* SAI */#define SOF_TKN_IMX_SAI_MCLK_ID 1000 /* ESAI */#define SOF_TKN_IMX_ESAI_MCLK_ID 1100 /* Stream */#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201#define SOF_TKN_STREAM_PLAYBACK_PAUSE_SUPPORTED 1202#define SOF_TKN_STREAM_CAPTURE_PAUSE_SUPPORTED 1203 /* Led control for mute switches */#define SOF_TKN_MUTE_LED_USE 1300#define SOF_TKN_MUTE_LED_DIRECTION 1301 /* ALH */#define SOF_TKN_INTEL_ALH_RATE 1400#define SOF_TKN_INTEL_ALH_CH 1401 /* HDA */#define SOF_TKN_INTEL_HDA_RATE 1500#define SOF_TKN_INTEL_HDA_CH 1501 /* AFE */#define SOF_TKN_MEDIATEK_AFE_RATE 1600#define SOF_TKN_MEDIATEK_AFE_CH 1601#define SOF_TKN_MEDIATEK_AFE_FORMAT 1602 /* MIXER */#define SOF_TKN_MIXER_TYPE 1700 /* ACPDMIC */#define SOF_TKN_AMD_ACPDMIC_RATE 1800#define SOF_TKN_AMD_ACPDMIC_CH 1801 /* CAVS AUDIO FORMAT */#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_RATE 1900#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_BIT_DEPTH 1901#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_VALID_BIT_DEPTH 1902#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CHANNELS 1903#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_MAP 1904#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_CFG 1905#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_INTERLEAVING_STYLE 1906#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_FMT_CFG 1907#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_SAMPLE_TYPE 1908#define SOF_TKN_CAVS_AUDIO_FORMAT_INPUT_PIN_INDEX 1909/* intentional token numbering discontinuity, reserved for future use */#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_RATE 1930#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_BIT_DEPTH 1931#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_VALID_BIT_DEPTH 1932#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CHANNELS 1933#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_MAP 1934#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_CFG 1935#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_INTERLEAVING_STYLE 1936#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_FMT_CFG 1937#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_SAMPLE_TYPE 1938#define SOF_TKN_CAVS_AUDIO_FORMAT_OUTPUT_PIN_INDEX 1939/* intentional token numbering discontinuity, reserved for future use */#define SOF_TKN_CAVS_AUDIO_FORMAT_IBS 1970#define SOF_TKN_CAVS_AUDIO_FORMAT_OBS 1971#define SOF_TKN_CAVS_AUDIO_FORMAT_DMA_BUFFER_SIZE 1972 /* COPIER */#define SOF_TKN_INTEL_COPIER_NODE_TYPE 1980#define SOF_TKN_INTEL_COPIER_DEEP_BUFFER_DMA_MS 1981 /* ACP I2S */#define SOF_TKN_AMD_ACPI2S_RATE 1700#define SOF_TKN_AMD_ACPI2S_CH 1701#define SOF_TKN_AMD_ACPI2S_TDM_MODE 1702#define SOF_TKN_AMD_ACPI2S_FORMAT 1703 /* MICFIL PDM */#define SOF_TKN_IMX_MICFIL_RATE 2000#define SOF_TKN_IMX_MICFIL_CH 2001 /* ACP SDW */#define SOF_TKN_AMD_ACP_SDW_RATE 2100#define SOF_TKN_AMD_ACP_SDW_CH 2101 #endif
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
/*
* This file is provided under a dual BSD/GPLv2 license. When using or
* redistributing this file, you may do so under either license.
*
* Copyright(c) 2018 Intel Corporation
* Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
* Keyon Jie <yang.jie@linux.intel.com>
*/
/*
* Topology IDs and tokens.
*
* ** MUST BE ALIGNED WITH TOPOLOGY CONFIGURATION TOKEN VALUES **
*/
#ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__
#define __INCLUDE_UAPI_SOF_TOPOLOGY_H__
/*
* Kcontrol IDs
*/
#define SOF_TPLG_KCTL_VOL_ID 256
#define SOF_TPLG_KCTL_ENUM_ID 257
#define SOF_TPLG_KCTL_BYTES_ID 258
#define SOF_TPLG_KCTL_SWITCH_ID 259
#define SOF_TPLG_KCTL_BYTES_VOLATILE_RO 260
#define SOF_TPLG_KCTL_BYTES_VOLATILE_RW 261
#define SOF_TPLG_KCTL_BYTES_WO_ID 262
/*
* Tokens - must match values in topology configurations
*/
/* buffers */
#define SOF_TKN_BUF_SIZE 100
#define SOF_TKN_BUF_CAPS 101
#define SOF_TKN_BUF_FLAGS 102
/* DAI */
/* Token retired with ABI 3.2, do not use for new capabilities
* #define SOF_TKN_DAI_DMAC_CONFIG 153
*/
#define SOF_TKN_DAI_TYPE 154
#define SOF_TKN_DAI_INDEX 155
#define SOF_TKN_DAI_DIRECTION 156
/* scheduling */
#define SOF_TKN_SCHED_PERIOD 200
#define SOF_TKN_SCHED_PRIORITY 201
#define SOF_TKN_SCHED_MIPS 202
#define SOF_TKN_SCHED_CORE 203
#define SOF_TKN_SCHED_FRAMES 204
#define SOF_TKN_SCHED_TIME_DOMAIN 205
#define SOF_TKN_SCHED_DYNAMIC_PIPELINE 206
#define SOF_TKN_SCHED_LP_MODE 207
#define SOF_TKN_SCHED_MEM_USAGE 208
#define SOF_TKN_SCHED_USE_CHAIN_DMA 209
#define SOF_TKN_SCHED_KCPS 210
#define SOF_TKN_SCHED_DIRECTION 211
#define SOF_TKN_SCHED_DIRECTION_VALID 212
/* volume */
#define SOF_TKN_VOLUME_RAMP_STEP_TYPE 250
#define SOF_TKN_VOLUME_RAMP_STEP_MS 251
#define SOF_TKN_GAIN_RAMP_TYPE 260
#define SOF_TKN_GAIN_RAMP_DURATION 261
#define SOF_TKN_GAIN_VAL 262
/* SRC */
#define SOF_TKN_SRC_RATE_IN 300
#define SOF_TKN_SRC_RATE_OUT 301
/* ASRC */
#define SOF_TKN_ASRC_RATE_IN 320
#define SOF_TKN_ASRC_RATE_OUT 321
#define SOF_TKN_ASRC_ASYNCHRONOUS_MODE 322
#define SOF_TKN_ASRC_OPERATION_MODE 323
/* PCM */
#define SOF_TKN_PCM_DMAC_CONFIG 353
/* Generic components */
#define SOF_TKN_COMP_PERIOD_SINK_COUNT 400
#define SOF_TKN_COMP_PERIOD_SOURCE_COUNT 401
#define SOF_TKN_COMP_FORMAT 402
/* Token retired with ABI 3.2, do not use for new capabilities
* #define SOF_TKN_COMP_PRELOAD_COUNT 403
*/
#define SOF_TKN_COMP_CORE_ID 404
#define SOF_TKN_COMP_UUID 405
#define SOF_TKN_COMP_CPC 406
#define SOF_TKN_COMP_IS_PAGES 409
#define SOF_TKN_COMP_NUM_AUDIO_FORMATS 410
#define SOF_TKN_COMP_NUM_INPUT_PINS 411
#define SOF_TKN_COMP_NUM_OUTPUT_PINS 412
/*
* The token for input/output pin binding, it specifies the widget
* name that the input/output pin is connected from/to.
*/
#define SOF_TKN_COMP_INPUT_PIN_BINDING_WNAME 413
#define SOF_TKN_COMP_OUTPUT_PIN_BINDING_WNAME 414
#define SOF_TKN_COMP_NUM_INPUT_AUDIO_FORMATS 415
#define SOF_TKN_COMP_NUM_OUTPUT_AUDIO_FORMATS 416
/*
* The token value is copied to the dapm_widget's
* no_wname_in_kcontrol_name.
*/
#define SOF_TKN_COMP_NO_WNAME_IN_KCONTROL_NAME 417
#define SOF_TKN_COMP_SCHED_DOMAIN 418
#define SOF_TKN_COMP_DOMAIN_ID 419
#define SOF_TKN_COMP_STACK_BYTES_REQUIREMENT 420
#define SOF_TKN_COMP_HEAP_BYTES_REQUIREMENT 421
/* SSP */
#define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500
#define SOF_TKN_INTEL_SSP_MCLK_ID 501
#define SOF_TKN_INTEL_SSP_SAMPLE_BITS 502
#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503
#define SOF_TKN_INTEL_SSP_QUIRKS 504
#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505
#define SOF_TKN_INTEL_SSP_BCLK_DELAY 506
/* DMIC */
#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600
#define SOF_TKN_INTEL_DMIC_CLK_MIN 601
#define SOF_TKN_INTEL_DMIC_CLK_MAX 602
#define SOF_TKN_INTEL_DMIC_DUTY_MIN 603
#define SOF_TKN_INTEL_DMIC_DUTY_MAX 604
#define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE 605
#define SOF_TKN_INTEL_DMIC_SAMPLE_RATE 608
#define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH 609
#define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS 610
/* DMIC PDM */
#define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID 700
#define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable 701
#define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable 702
#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A 703
#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B 704
#define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE 705
#define SOF_TKN_INTEL_DMIC_PDM_SKEW 706
/* Tone */
#define SOF_TKN_TONE_SAMPLE_RATE 800
/* Processing Components */
#define SOF_TKN_PROCESS_TYPE 900
/* for backward compatibility */
#define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE
/* SAI */
#define SOF_TKN_IMX_SAI_MCLK_ID 1000
/* ESAI */
#define SOF_TKN_IMX_ESAI_MCLK_ID 1100
/* Stream */
#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200
#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201
#define SOF_TKN_STREAM_PLAYBACK_PAUSE_SUPPORTED 1202
#define SOF_TKN_STREAM_CAPTURE_PAUSE_SUPPORTED 1203
/* Led control for mute switches */
#define SOF_TKN_MUTE_LED_USE 1300
#define SOF_TKN_MUTE_LED_DIRECTION 1301
/* ALH */
#define SOF_TKN_INTEL_ALH_RATE 1400
#define SOF_TKN_INTEL_ALH_CH 1401
/* HDA */
#define SOF_TKN_INTEL_HDA_RATE 1500
#define SOF_TKN_INTEL_HDA_CH 1501
/* AFE */
#define SOF_TKN_MEDIATEK_AFE_RATE 1600
#define SOF_TKN_MEDIATEK_AFE_CH 1601
#define SOF_TKN_MEDIATEK_AFE_FORMAT 1602
/* MIXER */
#define SOF_TKN_MIXER_TYPE 1700
/* ACPDMIC */
#define SOF_TKN_AMD_ACPDMIC_RATE 1800
#define SOF_TKN_AMD_ACPDMIC_CH 1801
/* CAVS AUDIO FORMAT */
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_RATE 1900
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_BIT_DEPTH 1901
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_VALID_BIT_DEPTH 1902
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CHANNELS 1903
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_MAP 1904
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_CFG 1905
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_INTERLEAVING_STYLE 1906
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_FMT_CFG 1907
#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_SAMPLE_TYPE 1908
#define SOF_TKN_CAVS_AUDIO_FORMAT_INPUT_PIN_INDEX 1909
/* intentional token numbering discontinuity, reserved for future use */
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_RATE 1930
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_BIT_DEPTH 1931
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_VALID_BIT_DEPTH 1932
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CHANNELS 1933
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_MAP 1934
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_CFG 1935
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_INTERLEAVING_STYLE 1936
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_FMT_CFG 1937
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_SAMPLE_TYPE 1938
#define SOF_TKN_CAVS_AUDIO_FORMAT_OUTPUT_PIN_INDEX 1939
/* intentional token numbering discontinuity, reserved for future use */
#define SOF_TKN_CAVS_AUDIO_FORMAT_IBS 1970
#define SOF_TKN_CAVS_AUDIO_FORMAT_OBS 1971
#define SOF_TKN_CAVS_AUDIO_FORMAT_DMA_BUFFER_SIZE 1972
/* COPIER */
#define SOF_TKN_INTEL_COPIER_NODE_TYPE 1980
#define SOF_TKN_INTEL_COPIER_DEEP_BUFFER_DMA_MS 1981
/* ACP I2S */
#define SOF_TKN_AMD_ACPI2S_RATE 1700
#define SOF_TKN_AMD_ACPI2S_CH 1701
#define SOF_TKN_AMD_ACPI2S_TDM_MODE 1702
#define SOF_TKN_AMD_ACPI2S_FORMAT 1703
/* MICFIL PDM */
#define SOF_TKN_IMX_MICFIL_RATE 2000
#define SOF_TKN_IMX_MICFIL_CH 2001
/* ACP SDW */
#define SOF_TKN_AMD_ACP_SDW_RATE 2100
#define SOF_TKN_AMD_ACP_SDW_CH 2101
#endif