Files
linux-nv-oot/include/dt-bindings/sound/tegra-asoc-dais.h
Mohan Kumar 62dbefc85b dt-bindings: tegra: fix DSPK dummy dai macro
Fix the DSPK DUMMY macro value as driver now supports
single cpu multiple codec dais

Bug 3772918

Change-Id: Id970db1bc80d210e7bc8e9b687556abeae2683a9
Signed-off-by: Mohan Kumar <mkumard@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/device/hardware/nvidia/soc/tegra/+/2805825
(cherry picked from commit 289d19d9bb13b423218aaaeae26750dce3706463)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2815762
Reviewed-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-by: Sharad Gupta <sharadg@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-30 06:24:22 -08:00

312 lines
6.9 KiB
C

// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2019-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#ifndef __DT_TEGRA_ASOC_DAIS_H
#define __DT_TEGRA_ASOC_DAIS_H
/*
* DAI links can have one of these value
* PCM_LINK : optional, if nothing is specified link is treated as PCM link
* COMPR_LINK : required, if link is used with compress device
* C2C_LINK : required, for any other back end codec-to-codec links
*/
#define PCM_LINK 0
#define COMPR_LINK 1
#define C2C_LINK 2
/*
* Following DAI indices are derived from respective module drivers.
* Thus below values have to be in sync with the DAI arrays defined
* in the drivers.
*/
/* common XBAR dais */
#define XBAR_ADMAIF1 0
#define XBAR_ADMAIF2 1
#define XBAR_ADMAIF3 2
#define XBAR_ADMAIF4 3
#define XBAR_ADMAIF5 4
#define XBAR_ADMAIF6 5
#define XBAR_ADMAIF7 6
#define XBAR_ADMAIF8 7
#define XBAR_ADMAIF9 8
#define XBAR_ADMAIF10 9
#define XBAR_I2S1 10
#define XBAR_I2S2 11
#define XBAR_I2S3 12
#define XBAR_I2S4 13
#define XBAR_I2S5 14
#define XBAR_SFC1 15
#define XBAR_SFC2 16
#define XBAR_SFC3 17
#define XBAR_SFC4 18
#define XBAR_MIXER_IF1 19
#define XBAR_MIXER_IF2 20
#define XBAR_MIXER_IF3 21
#define XBAR_MIXER_IF4 22
#define XBAR_MIXER_IF5 23
#define XBAR_MIXER_IF6 24
#define XBAR_MIXER_IF7 25
#define XBAR_MIXER_IF8 26
#define XBAR_MIXER_IF9 27
#define XBAR_MIXER_IF10 28
#define XBAR_AFC1 29
#define XBAR_AFC2 30
#define XBAR_AFC3 31
#define XBAR_AFC4 32
#define XBAR_AFC5 33
#define XBAR_AFC6 34
#define XBAR_OPE1 35
#define XBAR_SPKPROT 36
#define XBAR_MVC1 37
#define XBAR_MVC2 38
#define XBAR_IQC1_1 39
#define XBAR_IQC1_2 40
#define XBAR_IQC2_1 41
#define XBAR_IQC2_2 42
#define XBAR_DMIC1 43
#define XBAR_DMIC2 44
#define XBAR_DMIC3 45
#define XBAR_AMX1_OUT 46
#define XBAR_AMX1_IN1 47
#define XBAR_AMX1_IN2 48
#define XBAR_AMX1_IN3 49
#define XBAR_AMX1_IN4 50
#define XBAR_AMX2_OUT 51
#define XBAR_AMX2_IN1 52
#define XBAR_AMX2_IN2 53
#define XBAR_AMX2_IN3 54
#define XBAR_AMX2_IN4 55
#define XBAR_ADX1_OUT1 56
#define XBAR_ADX1_OUT2 57
#define XBAR_ADX1_OUT3 58
#define XBAR_ADX1_OUT4 59
#define XBAR_ADX1_IN 60
#define XBAR_ADX2_OUT1 61
#define XBAR_ADX2_OUT2 62
#define XBAR_ADX2_OUT3 63
#define XBAR_ADX2_OUT4 64
#define XBAR_ADX2_IN 65
/* Tegra210 specific XBAR DAIs */
#define XBAR_OPE2 66
/* Tegra186 specific XBAR DAIs */
#define XBAR_ADMAIF11 66
#define XBAR_ADMAIF12 67
#define XBAR_ADMAIF13 68
#define XBAR_ADMAIF14 69
#define XBAR_ADMAIF15 70
#define XBAR_ADMAIF16 71
#define XBAR_ADMAIF17 72
#define XBAR_ADMAIF18 73
#define XBAR_ADMAIF19 74
#define XBAR_ADMAIF20 75
#define XBAR_I2S6 76
#define XBAR_AMX3_OUT 77
#define XBAR_AMX3_IN1 78
#define XBAR_AMX3_IN2 79
#define XBAR_AMX3_IN3 80
#define XBAR_AMX3_IN4 81
#define XBAR_AMX4_OUT 82
#define XBAR_AMX4_IN1 83
#define XBAR_AMX4_IN2 84
#define XBAR_AMX4_IN3 85
#define XBAR_AMX4_IN4 86
#define XBAR_ADX3_OUT1 87
#define XBAR_ADX3_OUT2 88
#define XBAR_ADX3_OUT3 89
#define XBAR_ADX3_OUT4 90
#define XBAR_ADX3_IN 91
#define XBAR_ADX4_OUT1 92
#define XBAR_ADX4_OUT2 93
#define XBAR_ADX4_OUT3 94
#define XBAR_ADX4_OUT4 95
#define XBAR_ADX4_IN 96
#define XBAR_DMIC4 97
#define XBAR_ASRC_IF1 98
#define XBAR_ASRC_IF2 99
#define XBAR_ASRC_IF3 100
#define XBAR_ASRC_IF4 101
#define XBAR_ASRC_IF5 102
#define XBAR_ASRC_IF6 103
#define XBAR_ASRC_IF7 104
#define XBAR_ARAD 105
#define XBAR_DSPK1 106
#define XBAR_DSPK2 107
/* common ADMAIF DAIs */
#define ADMAIF1 0
#define ADMAIF2 1
#define ADMAIF3 2
#define ADMAIF4 3
#define ADMAIF5 4
#define ADMAIF6 5
#define ADMAIF7 6
#define ADMAIF8 7
#define ADMAIF9 8
#define ADMAIF10 9
/* Tegra186 specific ADMAIF DAIs */
#define ADMAIF11 10
#define ADMAIF12 11
#define ADMAIF13 12
#define ADMAIF14 13
#define ADMAIF15 14
#define ADMAIF16 15
#define ADMAIF17 16
#define ADMAIF18 17
#define ADMAIF19 18
#define ADMAIF20 19
/*
* ADMAIF_FIFO: DAIs used for DAI links between ADMAIF and ADSP.
* Offset depends on the number of ADMAIF channels for a chip.
* The DAI indices for these are derived from below offsets.
*/
#define TEGRA210_ADMAIF_FIFO_OFFSET 10
#define TEGRA186_ADMAIF_FIFO_OFFSET 20
/*
* ADMAIF_CIF: DAIs used for codec-to-codec links between ADMAIF and XBAR.
* Offset depends on the number of ADMAIF channels for a chip.
* The DAI indices for these are derived from below offsets.
*/
#define TEGRA210_ADMAIF_CIF_OFFSET 20
#define TEGRA186_ADMAIF_CIF_OFFSET 40
/* I2S */
#define I2S_CIF 0
#define I2S_DAP 1
#define I2S_DUMMY 2
/* DMIC */
#define DMIC_CIF 0
#define DMIC_DAP 1
#define DMIC_DUMMY 2
/* DSPK */
#define DSPK_CIF 0
#define DSPK_DAP 1
#define DSPK_DUMMY 2
/* SFC */
#define SFC_IN 0
#define SFC_OUT 1
/* MIXER */
#define MIXER_IN1 0
#define MIXER_IN2 1
#define MIXER_IN3 2
#define MIXER_IN4 3
#define MIXER_IN5 4
#define MIXER_IN6 5
#define MIXER_IN7 6
#define MIXER_IN8 7
#define MIXER_IN9 8
#define MIXER_IN10 9
#define MIXER_OUT1 10
#define MIXER_OUT2 11
#define MIXER_OUT3 12
#define MIXER_OUT4 13
#define MIXER_OUT5 14
/* AFC */
#define AFC_IN 0
#define AFC_OUT 1
/* OPE */
#define OPE_IN 0
#define OPE_OUT 1
/* MVC */
#define MVC_IN 0
#define MVC_OUT 1
/* AMX */
#define AMX_IN1 0
#define AMX_IN2 1
#define AMX_IN3 2
#define AMX_IN4 3
#define AMX_OUT 4
/* ADX */
#define ADX_OUT1 0
#define ADX_OUT2 1
#define ADX_OUT3 2
#define ADX_OUT4 3
#define ADX_IN 4
/* ASRC */
#define ASRC_IN1 0
#define ASRC_IN2 1
#define ASRC_IN3 2
#define ASRC_IN4 3
#define ASRC_IN5 4
#define ASRC_IN6 5
#define ASRC_IN7 6
#define ASRC_OUT1 7
#define ASRC_OUT2 8
#define ASRC_OUT3 9
#define ASRC_OUT4 10
#define ASRC_OUT5 11
#define ASRC_OUT6 12
/* ARAD */
#define ARAD 0
/* ADSP */
#define ADSP_FE1 0
#define ADSP_FE2 1
#define ADSP_FE3 2
#define ADSP_FE4 3
#define ADSP_FE5 4
#define ADSP_FE6 5
#define ADSP_FE7 6
#define ADSP_FE8 7
#define ADSP_FE9 8
#define ADSP_FE10 9
#define ADSP_FE11 10
#define ADSP_FE12 11
#define ADSP_FE13 12
#define ADSP_FE14 13
#define ADSP_FE15 14
#define ADSP_EAVB_CODEC 15
#define ADSP_ADMAIF1 16
#define ADSP_ADMAIF2 17
#define ADSP_ADMAIF3 18
#define ADSP_ADMAIF4 19
#define ADSP_ADMAIF5 20
#define ADSP_ADMAIF6 21
#define ADSP_ADMAIF7 22
#define ADSP_ADMAIF8 23
#define ADSP_ADMAIF9 24
#define ADSP_ADMAIF10 25
#define ADSP_ADMAIF11 26
#define ADSP_ADMAIF12 27
#define ADSP_ADMAIF13 28
#define ADSP_ADMAIF14 29
#define ADSP_ADMAIF15 30
#define ADSP_ADMAIF16 31
#define ADSP_ADMAIF17 32
#define ADSP_ADMAIF18 33
#define ADSP_ADMAIF19 34
#define ADSP_ADMAIF20 35
#define ADSP_PCM1 36
#define ADSP_PCM2 37
#define ADSP_PCM3 38
#define ADSP_PCM4 39
#define ADSP_PCM5 40
#define ADSP_PCM6 41
#define ADSP_PCM7 42
#define ADSP_PCM8 43
#define ADSP_PCM9 44
#define ADSP_PCM10 45
#define ADSP_PCM11 46
#define ADSP_PCM12 47
#define ADSP_PCM13 48
#define ADSP_PCM14 49
#define ADSP_PCM15 50
#define ADSP_COMPR1 51
#define ADSP_COMPR2 52
#define ADSP_EAVB 53
#endif