18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * This file is provided under a dual BSD/GPLv2 license. When using or 48c2ecf20Sopenharmony_ci * redistributing this file, you may do so under either license. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Copyright(c) 2018 Intel Corporation. All rights reserved. 78c2ecf20Sopenharmony_ci * Author: Liam Girdwood <liam.r.girdwood@linux.intel.com> 88c2ecf20Sopenharmony_ci * Keyon Jie <yang.jie@linux.intel.com> 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/* 128c2ecf20Sopenharmony_ci * Topology IDs and tokens. 138c2ecf20Sopenharmony_ci * 148c2ecf20Sopenharmony_ci * ** MUST BE ALIGNED WITH TOPOLOGY CONFIGURATION TOKEN VALUES ** 158c2ecf20Sopenharmony_ci */ 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__ 188c2ecf20Sopenharmony_ci#define __INCLUDE_UAPI_SOF_TOPOLOGY_H__ 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci/* 218c2ecf20Sopenharmony_ci * Kcontrol IDs 228c2ecf20Sopenharmony_ci */ 238c2ecf20Sopenharmony_ci#define SOF_TPLG_KCTL_VOL_ID 256 248c2ecf20Sopenharmony_ci#define SOF_TPLG_KCTL_ENUM_ID 257 258c2ecf20Sopenharmony_ci#define SOF_TPLG_KCTL_BYTES_ID 258 268c2ecf20Sopenharmony_ci#define SOF_TPLG_KCTL_SWITCH_ID 259 278c2ecf20Sopenharmony_ci#define SOF_TPLG_KCTL_BYTES_VOLATILE_RO 260 288c2ecf20Sopenharmony_ci#define SOF_TPLG_KCTL_BYTES_VOLATILE_RW 261 298c2ecf20Sopenharmony_ci#define SOF_TPLG_KCTL_BYTES_WO_ID 262 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci/* 328c2ecf20Sopenharmony_ci * Tokens - must match values in topology configurations 338c2ecf20Sopenharmony_ci */ 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci/* buffers */ 368c2ecf20Sopenharmony_ci#define SOF_TKN_BUF_SIZE 100 378c2ecf20Sopenharmony_ci#define SOF_TKN_BUF_CAPS 101 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci/* DAI */ 408c2ecf20Sopenharmony_ci/* Token retired with ABI 3.2, do not use for new capabilities 418c2ecf20Sopenharmony_ci * #define SOF_TKN_DAI_DMAC_CONFIG 153 428c2ecf20Sopenharmony_ci */ 438c2ecf20Sopenharmony_ci#define SOF_TKN_DAI_TYPE 154 448c2ecf20Sopenharmony_ci#define SOF_TKN_DAI_INDEX 155 458c2ecf20Sopenharmony_ci#define SOF_TKN_DAI_DIRECTION 156 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci/* scheduling */ 488c2ecf20Sopenharmony_ci#define SOF_TKN_SCHED_PERIOD 200 498c2ecf20Sopenharmony_ci#define SOF_TKN_SCHED_PRIORITY 201 508c2ecf20Sopenharmony_ci#define SOF_TKN_SCHED_MIPS 202 518c2ecf20Sopenharmony_ci#define SOF_TKN_SCHED_CORE 203 528c2ecf20Sopenharmony_ci#define SOF_TKN_SCHED_FRAMES 204 538c2ecf20Sopenharmony_ci#define SOF_TKN_SCHED_TIME_DOMAIN 205 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci/* volume */ 568c2ecf20Sopenharmony_ci#define SOF_TKN_VOLUME_RAMP_STEP_TYPE 250 578c2ecf20Sopenharmony_ci#define SOF_TKN_VOLUME_RAMP_STEP_MS 251 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci/* SRC */ 608c2ecf20Sopenharmony_ci#define SOF_TKN_SRC_RATE_IN 300 618c2ecf20Sopenharmony_ci#define SOF_TKN_SRC_RATE_OUT 301 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci/* ASRC */ 648c2ecf20Sopenharmony_ci#define SOF_TKN_ASRC_RATE_IN 320 658c2ecf20Sopenharmony_ci#define SOF_TKN_ASRC_RATE_OUT 321 668c2ecf20Sopenharmony_ci#define SOF_TKN_ASRC_ASYNCHRONOUS_MODE 322 678c2ecf20Sopenharmony_ci#define SOF_TKN_ASRC_OPERATION_MODE 323 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci/* PCM */ 708c2ecf20Sopenharmony_ci#define SOF_TKN_PCM_DMAC_CONFIG 353 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci/* Generic components */ 738c2ecf20Sopenharmony_ci#define SOF_TKN_COMP_PERIOD_SINK_COUNT 400 748c2ecf20Sopenharmony_ci#define SOF_TKN_COMP_PERIOD_SOURCE_COUNT 401 758c2ecf20Sopenharmony_ci#define SOF_TKN_COMP_FORMAT 402 768c2ecf20Sopenharmony_ci/* Token retired with ABI 3.2, do not use for new capabilities 778c2ecf20Sopenharmony_ci * #define SOF_TKN_COMP_PRELOAD_COUNT 403 788c2ecf20Sopenharmony_ci */ 798c2ecf20Sopenharmony_ci#define SOF_TKN_COMP_CORE_ID 404 808c2ecf20Sopenharmony_ci#define SOF_TKN_COMP_UUID 405 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci/* SSP */ 838c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500 848c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_SSP_MCLK_ID 501 858c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_SSP_SAMPLE_BITS 502 868c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503 878c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_SSP_QUIRKS 504 888c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505 898c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_SSP_BCLK_DELAY 506 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci/* DMIC */ 928c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600 938c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_CLK_MIN 601 948c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_CLK_MAX 602 958c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_DUTY_MIN 603 968c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_DUTY_MAX 604 978c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_NUM_PDM_ACTIVE 605 988c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_SAMPLE_RATE 608 998c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_FIFO_WORD_LENGTH 609 1008c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_UNMUTE_RAMP_TIME_MS 610 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci/* DMIC PDM */ 1038c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_PDM_CTRL_ID 700 1048c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_PDM_MIC_A_Enable 701 1058c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_PDM_MIC_B_Enable 702 1068c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_A 703 1078c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_PDM_POLARITY_B 704 1088c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE 705 1098c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_DMIC_PDM_SKEW 706 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci/* Tone */ 1128c2ecf20Sopenharmony_ci#define SOF_TKN_TONE_SAMPLE_RATE 800 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci/* Processing Components */ 1158c2ecf20Sopenharmony_ci#define SOF_TKN_PROCESS_TYPE 900 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci/* for backward compatibility */ 1188c2ecf20Sopenharmony_ci#define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci/* SAI */ 1218c2ecf20Sopenharmony_ci#define SOF_TKN_IMX_SAI_MCLK_ID 1000 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci/* ESAI */ 1248c2ecf20Sopenharmony_ci#define SOF_TKN_IMX_ESAI_MCLK_ID 1100 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_ci/* Stream */ 1278c2ecf20Sopenharmony_ci#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200 1288c2ecf20Sopenharmony_ci#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci/* Led control for mute switches */ 1318c2ecf20Sopenharmony_ci#define SOF_TKN_MUTE_LED_USE 1300 1328c2ecf20Sopenharmony_ci#define SOF_TKN_MUTE_LED_DIRECTION 1301 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci/* ALH */ 1358c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_ALH_RATE 1400 1368c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_ALH_CH 1401 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci/* HDA */ 1398c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_HDA_RATE 1500 1408c2ecf20Sopenharmony_ci#define SOF_TKN_INTEL_HDA_CH 1501 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci#endif 143