xref: /openbmc/linux/include/uapi/sound/sof/tokens.h (revision 56ce7b79)
14483151eSLiam Girdwood /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
24483151eSLiam Girdwood /*
34483151eSLiam Girdwood  * This file is provided under a dual BSD/GPLv2 license.  When using or
44483151eSLiam Girdwood  * redistributing this file, you may do so under either license.
54483151eSLiam Girdwood  *
64483151eSLiam Girdwood  * Copyright(c) 2018 Intel Corporation. All rights reserved.
74483151eSLiam Girdwood  * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
84483151eSLiam Girdwood  *         Keyon Jie <yang.jie@linux.intel.com>
94483151eSLiam Girdwood  */
104483151eSLiam Girdwood 
114483151eSLiam Girdwood /*
124483151eSLiam Girdwood  * Topology IDs and tokens.
134483151eSLiam Girdwood  *
144483151eSLiam Girdwood  * ** MUST BE ALIGNED WITH TOPOLOGY CONFIGURATION TOKEN VALUES **
154483151eSLiam Girdwood  */
164483151eSLiam Girdwood 
174483151eSLiam Girdwood #ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__
184483151eSLiam Girdwood #define __INCLUDE_UAPI_SOF_TOPOLOGY_H__
194483151eSLiam Girdwood 
204483151eSLiam Girdwood /*
214483151eSLiam Girdwood  * Kcontrol IDs
224483151eSLiam Girdwood  */
234483151eSLiam Girdwood #define SOF_TPLG_KCTL_VOL_ID	256
244483151eSLiam Girdwood #define SOF_TPLG_KCTL_ENUM_ID	257
254483151eSLiam Girdwood #define SOF_TPLG_KCTL_BYTES_ID	258
264483151eSLiam Girdwood #define SOF_TPLG_KCTL_SWITCH_ID	259
27783560d0SDharageswari R #define SOF_TPLG_KCTL_BYTES_VOLATILE_RO 260
28783560d0SDharageswari R #define SOF_TPLG_KCTL_BYTES_VOLATILE_RW 261
29783560d0SDharageswari R #define SOF_TPLG_KCTL_BYTES_WO_ID 262
304483151eSLiam Girdwood 
314483151eSLiam Girdwood /*
324483151eSLiam Girdwood  * Tokens - must match values in topology configurations
334483151eSLiam Girdwood  */
344483151eSLiam Girdwood 
354483151eSLiam Girdwood /* buffers */
364483151eSLiam Girdwood #define SOF_TKN_BUF_SIZE			100
374483151eSLiam Girdwood #define SOF_TKN_BUF_CAPS			101
384483151eSLiam Girdwood 
394483151eSLiam Girdwood /* DAI */
404483151eSLiam Girdwood /* Token retired with ABI 3.2, do not use for new capabilities
414483151eSLiam Girdwood  * #define	SOF_TKN_DAI_DMAC_CONFIG			153
424483151eSLiam Girdwood  */
434483151eSLiam Girdwood #define SOF_TKN_DAI_TYPE			154
444483151eSLiam Girdwood #define SOF_TKN_DAI_INDEX			155
454483151eSLiam Girdwood #define SOF_TKN_DAI_DIRECTION			156
464483151eSLiam Girdwood 
474483151eSLiam Girdwood /* scheduling */
484483151eSLiam Girdwood #define SOF_TKN_SCHED_PERIOD			200
494483151eSLiam Girdwood #define SOF_TKN_SCHED_PRIORITY			201
504483151eSLiam Girdwood #define SOF_TKN_SCHED_MIPS			202
514483151eSLiam Girdwood #define SOF_TKN_SCHED_CORE			203
524483151eSLiam Girdwood #define SOF_TKN_SCHED_FRAMES			204
534483151eSLiam Girdwood #define SOF_TKN_SCHED_TIME_DOMAIN		205
542c28ecadSRanjani Sridharan #define SOF_TKN_SCHED_DYNAMIC_PIPELINE		206
55bd10cd5eSRanjani Sridharan #define SOF_TKN_SCHED_LP_MODE			207
56bd10cd5eSRanjani Sridharan #define SOF_TKN_SCHED_MEM_USAGE			208
57ca5ce0caSJyri Sarha #define SOF_TKN_SCHED_USE_CHAIN_DMA		209
584483151eSLiam Girdwood 
594483151eSLiam Girdwood /* volume */
604483151eSLiam Girdwood #define SOF_TKN_VOLUME_RAMP_STEP_TYPE		250
614483151eSLiam Girdwood #define SOF_TKN_VOLUME_RAMP_STEP_MS		251
624483151eSLiam Girdwood 
63bd10cd5eSRanjani Sridharan #define SOF_TKN_GAIN_RAMP_TYPE			260
64bd10cd5eSRanjani Sridharan #define SOF_TKN_GAIN_RAMP_DURATION		261
65bd10cd5eSRanjani Sridharan #define SOF_TKN_GAIN_VAL			262
66bd10cd5eSRanjani Sridharan 
674483151eSLiam Girdwood /* SRC */
684483151eSLiam Girdwood #define SOF_TKN_SRC_RATE_IN			300
694483151eSLiam Girdwood #define SOF_TKN_SRC_RATE_OUT			301
704483151eSLiam Girdwood 
71433363e7SSeppo Ingalsuo /* ASRC */
72433363e7SSeppo Ingalsuo #define SOF_TKN_ASRC_RATE_IN			320
73433363e7SSeppo Ingalsuo #define SOF_TKN_ASRC_RATE_OUT			321
74433363e7SSeppo Ingalsuo #define SOF_TKN_ASRC_ASYNCHRONOUS_MODE		322
75433363e7SSeppo Ingalsuo #define SOF_TKN_ASRC_OPERATION_MODE		323
76433363e7SSeppo Ingalsuo 
774483151eSLiam Girdwood /* PCM */
784483151eSLiam Girdwood #define SOF_TKN_PCM_DMAC_CONFIG			353
794483151eSLiam Girdwood 
804483151eSLiam Girdwood /* Generic components */
814483151eSLiam Girdwood #define SOF_TKN_COMP_PERIOD_SINK_COUNT		400
824483151eSLiam Girdwood #define SOF_TKN_COMP_PERIOD_SOURCE_COUNT	401
834483151eSLiam Girdwood #define SOF_TKN_COMP_FORMAT			402
844483151eSLiam Girdwood /* Token retired with ABI 3.2, do not use for new capabilities
854483151eSLiam Girdwood  * #define SOF_TKN_COMP_PRELOAD_COUNT		403
864483151eSLiam Girdwood  */
87d1c6c4a9SGuennadi Liakhovetski #define SOF_TKN_COMP_CORE_ID			404
8843fbb086SKeyon Jie #define SOF_TKN_COMP_UUID                       405
89bd10cd5eSRanjani Sridharan #define SOF_TKN_COMP_CPC			406
90bd10cd5eSRanjani Sridharan #define SOF_TKN_COMP_IS_PAGES			409
91bd10cd5eSRanjani Sridharan #define SOF_TKN_COMP_NUM_AUDIO_FORMATS		410
92bb79f2a6SRanjani Sridharan #define SOF_TKN_COMP_NUM_INPUT_PINS		411
93bb79f2a6SRanjani Sridharan #define SOF_TKN_COMP_NUM_OUTPUT_PINS		412
943b3acedbSChao Song /*
95bb79f2a6SRanjani Sridharan  * The token for input/output pin binding, it specifies the widget
96bb79f2a6SRanjani Sridharan  * name that the input/output pin is connected from/to.
973b3acedbSChao Song  */
98bb79f2a6SRanjani Sridharan #define SOF_TKN_COMP_INPUT_PIN_BINDING_WNAME	413
99bb79f2a6SRanjani Sridharan #define SOF_TKN_COMP_OUTPUT_PIN_BINDING_WNAME	414
1004fdef47aSRanjani Sridharan #define SOF_TKN_COMP_NUM_INPUT_AUDIO_FORMATS	415
1014fdef47aSRanjani Sridharan #define SOF_TKN_COMP_NUM_OUTPUT_AUDIO_FORMATS	416
102*56ce7b79SJyri Sarha /*
103*56ce7b79SJyri Sarha  * The token value is copied to the dapm_widget's
104*56ce7b79SJyri Sarha  * no_wname_in_kcontrol_name.
105*56ce7b79SJyri Sarha  */
106*56ce7b79SJyri Sarha #define SOF_TKN_COMP_NO_WNAME_IN_KCONTROL_NAME	417
1074483151eSLiam Girdwood 
1084483151eSLiam Girdwood /* SSP */
1094483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_CLKS_CONTROL		500
1104483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_MCLK_ID		501
1114483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_SAMPLE_BITS		502
1124483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH	503
1134483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_QUIRKS		504
1144483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT	505
1156298b787SJanusz Jankowski #define SOF_TKN_INTEL_SSP_BCLK_DELAY		506
1164483151eSLiam Girdwood 
1174483151eSLiam Girdwood /* DMIC */
1184483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_DRIVER_VERSION	600
1194483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_CLK_MIN		601
1204483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_CLK_MAX		602
1214483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_DUTY_MIN		603
1224483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_DUTY_MAX		604
1234483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE	605
1244483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_SAMPLE_RATE		608
1254483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH	609
1267df43911SSeppo Ingalsuo #define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS  610
1274483151eSLiam Girdwood 
1284483151eSLiam Girdwood /* DMIC PDM */
1294483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID		700
1304483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable	701
1314483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable	702
1324483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A	703
1334483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B	704
1344483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE		705
1354483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_SKEW		706
1364483151eSLiam Girdwood 
1374483151eSLiam Girdwood /* Tone */
1384483151eSLiam Girdwood #define SOF_TKN_TONE_SAMPLE_RATE		800
1394483151eSLiam Girdwood 
1404483151eSLiam Girdwood /* Processing Components */
1414483151eSLiam Girdwood #define SOF_TKN_PROCESS_TYPE                    900
1424483151eSLiam Girdwood 
1434483151eSLiam Girdwood /* for backward compatibility */
1444483151eSLiam Girdwood #define SOF_TKN_EFFECT_TYPE	SOF_TKN_PROCESS_TYPE
1454483151eSLiam Girdwood 
146f59b16efSDaniel Baluta /* SAI */
1479c1d4cf6SGuido Roncarolo #define SOF_TKN_IMX_SAI_MCLK_ID			1000
148f59b16efSDaniel Baluta 
149f59b16efSDaniel Baluta /* ESAI */
150b4be4276SDaniel Baluta #define SOF_TKN_IMX_ESAI_MCLK_ID		1100
151f59b16efSDaniel Baluta 
1524a949409SKeyon Jie /* Stream */
1534a949409SKeyon Jie #define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3	1200
1544a949409SKeyon Jie #define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3	1201
1554a949409SKeyon Jie 
1565d43001aSJaska Uimonen /* Led control for mute switches */
1575d43001aSJaska Uimonen #define SOF_TKN_MUTE_LED_USE			1300
1585d43001aSJaska Uimonen #define SOF_TKN_MUTE_LED_DIRECTION		1301
1595d43001aSJaska Uimonen 
160c7fc96dfSBard Liao /* ALH */
161c7fc96dfSBard Liao #define SOF_TKN_INTEL_ALH_RATE			1400
162c7fc96dfSBard Liao #define SOF_TKN_INTEL_ALH_CH			1401
163c7fc96dfSBard Liao 
16418aaab64SBard Liao /* HDA */
16518aaab64SBard Liao #define SOF_TKN_INTEL_HDA_RATE			1500
16618aaab64SBard Liao #define SOF_TKN_INTEL_HDA_CH			1501
16718aaab64SBard Liao 
168e6feefa5SYC Hung /* AFE */
169e6feefa5SYC Hung #define SOF_TKN_MEDIATEK_AFE_RATE		1600
170e6feefa5SYC Hung #define SOF_TKN_MEDIATEK_AFE_CH			1601
171e6feefa5SYC Hung #define SOF_TKN_MEDIATEK_AFE_FORMAT		1602
172e6feefa5SYC Hung 
173bd10cd5eSRanjani Sridharan /* MIXER */
174bd10cd5eSRanjani Sridharan #define SOF_TKN_MIXER_TYPE			1700
175bd10cd5eSRanjani Sridharan 
176689614ceSAjit Kumar Pandey /* ACPDMIC */
177689614ceSAjit Kumar Pandey #define SOF_TKN_AMD_ACPDMIC_RATE		1800
178689614ceSAjit Kumar Pandey #define SOF_TKN_AMD_ACPDMIC_CH			1801
179689614ceSAjit Kumar Pandey 
180bd10cd5eSRanjani Sridharan /* CAVS AUDIO FORMAT */
181bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_RATE	1900
182bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_BIT_DEPTH	1901
1833f738e4aSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_VALID_BIT_DEPTH	1902
184bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CHANNELS	1903
185bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_MAP	1904
186bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_CFG	1905
187bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_INTERLEAVING_STYLE	1906
188bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_FMT_CFG	1907
189bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_SAMPLE_TYPE	1908
190be3c2153SRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_INPUT_PIN_INDEX	1909
191bd10cd5eSRanjani Sridharan /* intentional token numbering discontinuity, reserved for future use */
192bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_RATE	1930
193bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_BIT_DEPTH	1931
1943f738e4aSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_VALID_BIT_DEPTH 1932
195bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CHANNELS	1933
196bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_MAP	1934
197bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_CFG	1935
198bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_INTERLEAVING_STYLE	1936
199bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_FMT_CFG	1937
200bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_SAMPLE_TYPE	1938
201be3c2153SRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OUTPUT_PIN_INDEX	1939
202bd10cd5eSRanjani Sridharan /* intentional token numbering discontinuity, reserved for future use */
203bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_IBS		1970
204bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_OBS		1971
205bd10cd5eSRanjani Sridharan #define SOF_TKN_CAVS_AUDIO_FORMAT_DMA_BUFFER_SIZE	1972
206bd10cd5eSRanjani Sridharan 
207bd10cd5eSRanjani Sridharan /* COPIER */
208bd10cd5eSRanjani Sridharan #define SOF_TKN_INTEL_COPIER_NODE_TYPE		1980
209594c1bb9SRanjani Sridharan #define SOF_TKN_INTEL_COPIER_DEEP_BUFFER_DMA_MS	1981
210bd10cd5eSRanjani Sridharan 
21175af4199SV sujith kumar Reddy /* ACP I2S */
21275af4199SV sujith kumar Reddy #define SOF_TKN_AMD_ACPI2S_RATE			1700
21375af4199SV sujith kumar Reddy #define SOF_TKN_AMD_ACPI2S_CH			1701
21475af4199SV sujith kumar Reddy #define SOF_TKN_AMD_ACPI2S_TDM_MODE		1702
21575af4199SV sujith kumar Reddy 
2164483151eSLiam Girdwood #endif
217