xref: /openbmc/linux/include/uapi/sound/sof/tokens.h (revision 5d43001a)
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
274483151eSLiam Girdwood 
284483151eSLiam Girdwood /*
294483151eSLiam Girdwood  * Tokens - must match values in topology configurations
304483151eSLiam Girdwood  */
314483151eSLiam Girdwood 
324483151eSLiam Girdwood /* buffers */
334483151eSLiam Girdwood #define SOF_TKN_BUF_SIZE			100
344483151eSLiam Girdwood #define SOF_TKN_BUF_CAPS			101
354483151eSLiam Girdwood 
364483151eSLiam Girdwood /* DAI */
374483151eSLiam Girdwood /* Token retired with ABI 3.2, do not use for new capabilities
384483151eSLiam Girdwood  * #define	SOF_TKN_DAI_DMAC_CONFIG			153
394483151eSLiam Girdwood  */
404483151eSLiam Girdwood #define SOF_TKN_DAI_TYPE			154
414483151eSLiam Girdwood #define SOF_TKN_DAI_INDEX			155
424483151eSLiam Girdwood #define SOF_TKN_DAI_DIRECTION			156
434483151eSLiam Girdwood 
444483151eSLiam Girdwood /* scheduling */
454483151eSLiam Girdwood #define SOF_TKN_SCHED_PERIOD			200
464483151eSLiam Girdwood #define SOF_TKN_SCHED_PRIORITY			201
474483151eSLiam Girdwood #define SOF_TKN_SCHED_MIPS			202
484483151eSLiam Girdwood #define SOF_TKN_SCHED_CORE			203
494483151eSLiam Girdwood #define SOF_TKN_SCHED_FRAMES			204
504483151eSLiam Girdwood #define SOF_TKN_SCHED_TIME_DOMAIN		205
514483151eSLiam Girdwood 
524483151eSLiam Girdwood /* volume */
534483151eSLiam Girdwood #define SOF_TKN_VOLUME_RAMP_STEP_TYPE		250
544483151eSLiam Girdwood #define SOF_TKN_VOLUME_RAMP_STEP_MS		251
554483151eSLiam Girdwood 
564483151eSLiam Girdwood /* SRC */
574483151eSLiam Girdwood #define SOF_TKN_SRC_RATE_IN			300
584483151eSLiam Girdwood #define SOF_TKN_SRC_RATE_OUT			301
594483151eSLiam Girdwood 
604483151eSLiam Girdwood /* PCM */
614483151eSLiam Girdwood #define SOF_TKN_PCM_DMAC_CONFIG			353
624483151eSLiam Girdwood 
634483151eSLiam Girdwood /* Generic components */
644483151eSLiam Girdwood #define SOF_TKN_COMP_PERIOD_SINK_COUNT		400
654483151eSLiam Girdwood #define SOF_TKN_COMP_PERIOD_SOURCE_COUNT	401
664483151eSLiam Girdwood #define SOF_TKN_COMP_FORMAT			402
674483151eSLiam Girdwood /* Token retired with ABI 3.2, do not use for new capabilities
684483151eSLiam Girdwood  * #define SOF_TKN_COMP_PRELOAD_COUNT		403
694483151eSLiam Girdwood  */
704483151eSLiam Girdwood 
714483151eSLiam Girdwood /* SSP */
724483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_CLKS_CONTROL		500
734483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_MCLK_ID		501
744483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_SAMPLE_BITS		502
754483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH	503
764483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_QUIRKS		504
774483151eSLiam Girdwood #define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT	505
786298b787SJanusz Jankowski #define SOF_TKN_INTEL_SSP_BCLK_DELAY		506
794483151eSLiam Girdwood 
804483151eSLiam Girdwood /* DMIC */
814483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_DRIVER_VERSION	600
824483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_CLK_MIN		601
834483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_CLK_MAX		602
844483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_DUTY_MIN		603
854483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_DUTY_MAX		604
864483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE	605
874483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_SAMPLE_RATE		608
884483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH	609
897df43911SSeppo Ingalsuo #define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS  610
904483151eSLiam Girdwood 
914483151eSLiam Girdwood /* DMIC PDM */
924483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID		700
934483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable	701
944483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable	702
954483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A	703
964483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B	704
974483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE		705
984483151eSLiam Girdwood #define SOF_TKN_INTEL_DMIC_PDM_SKEW		706
994483151eSLiam Girdwood 
1004483151eSLiam Girdwood /* Tone */
1014483151eSLiam Girdwood #define SOF_TKN_TONE_SAMPLE_RATE		800
1024483151eSLiam Girdwood 
1034483151eSLiam Girdwood /* Processing Components */
1044483151eSLiam Girdwood #define SOF_TKN_PROCESS_TYPE                    900
1054483151eSLiam Girdwood 
1064483151eSLiam Girdwood /* for backward compatibility */
1074483151eSLiam Girdwood #define SOF_TKN_EFFECT_TYPE	SOF_TKN_PROCESS_TYPE
1084483151eSLiam Girdwood 
109f59b16efSDaniel Baluta /* SAI */
110f59b16efSDaniel Baluta #define SOF_TKN_IMX_SAI_FIRST_TOKEN		1000
111f59b16efSDaniel Baluta /* TODO: Add SAI tokens */
112f59b16efSDaniel Baluta 
113f59b16efSDaniel Baluta /* ESAI */
114b4be4276SDaniel Baluta #define SOF_TKN_IMX_ESAI_MCLK_ID		1100
115f59b16efSDaniel Baluta 
1165d43001aSJaska Uimonen /* Led control for mute switches */
1175d43001aSJaska Uimonen #define SOF_TKN_MUTE_LED_USE			1300
1185d43001aSJaska Uimonen #define SOF_TKN_MUTE_LED_DIRECTION		1301
1195d43001aSJaska Uimonen 
1204483151eSLiam Girdwood #endif
121