mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
tegra-virt-alt: T264 support for machine driver
- Defined the 32 dai-links for T264. - Add T264 soc_data to fetch the number of channels based on soc. Jira TAS-2331 Change-Id: I75b331ef34b8015b30ec48c72e6adceded10924b Signed-off-by: Sheetal <sheetal@nvidia.com>
This commit is contained in:
@@ -72,7 +72,21 @@ enum {
|
|||||||
ADMAIF_ID_19,
|
ADMAIF_ID_19,
|
||||||
MAX_ADMAIF_T186_IDS,
|
MAX_ADMAIF_T186_IDS,
|
||||||
TEGRA186_ADMAIF_CHANNEL_COUNT = MAX_ADMAIF_T186_IDS,
|
TEGRA186_ADMAIF_CHANNEL_COUNT = MAX_ADMAIF_T186_IDS,
|
||||||
MAX_ADMAIF_IDS = MAX_ADMAIF_T186_IDS,
|
ADMAIF_ID_20 = MAX_ADMAIF_T186_IDS,
|
||||||
|
ADMAIF_ID_21,
|
||||||
|
ADMAIF_ID_22,
|
||||||
|
ADMAIF_ID_23,
|
||||||
|
ADMAIF_ID_24,
|
||||||
|
ADMAIF_ID_25,
|
||||||
|
ADMAIF_ID_26,
|
||||||
|
ADMAIF_ID_27,
|
||||||
|
ADMAIF_ID_28,
|
||||||
|
ADMAIF_ID_29,
|
||||||
|
ADMAIF_ID_30,
|
||||||
|
ADMAIF_ID_31,
|
||||||
|
MAX_ADMAIF_T264_IDS,
|
||||||
|
TEGRA264_ADMAIF_CHANNEL_COUNT = MAX_ADMAIF_T264_IDS,
|
||||||
|
MAX_ADMAIF_IDS = MAX_ADMAIF_T264_IDS,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Audio cif definition */
|
/* Audio cif definition */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
* Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <nvidia/conftest.h>
|
#include <nvidia/conftest.h>
|
||||||
@@ -46,106 +46,44 @@ static const struct snd_soc_pcm_stream adsp_default_params = {
|
|||||||
|
|
||||||
static struct snd_soc_pcm_stream adsp_admaif_params[MAX_ADMAIF_IDS];
|
static struct snd_soc_pcm_stream adsp_admaif_params[MAX_ADMAIF_IDS];
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio1,
|
#define TEGRA_SND_SOC_DAILINK_DEFS(id, name) \
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(1))),
|
SND_SOC_DAILINK_DEFS(audio##id, \
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF1 CIF")),
|
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(id))), \
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF" name " CIF")), \
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio2,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(2))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF2 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio3,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(3))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF3 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio4,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(4))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF4 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio5,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(5))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF5 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio6,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(6))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF6 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio7,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(7))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF7 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio8,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(8))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF8 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio9,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(9))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF9 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio10,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(10))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF10 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio11,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(11))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF11 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio12,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(12))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF12 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio13,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(13))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF13 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio14,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(14))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF14 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio15,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(15))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF15 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio16,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(16))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF16 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio17,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(17))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF17 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio18,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(18))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF18 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio19,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(19))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF19 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(audio20,
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, CPU_DAI_NAME(20))),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC(LINK_CPU_NAME, "ADMAIF20 CIF")),
|
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
DAILINK_COMP_ARRAY(COMP_PLATFORM(PLATFORM_NAME)));
|
||||||
|
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(1, "1")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(2, "2")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(3, "3")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(4, "4")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(5, "5")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(6, "6")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(7, "7")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(8, "8")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(9, "9")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(10, "10")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(11, "11")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(12, "12")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(13, "13")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(14, "14")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(15, "15")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(16, "16")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(17, "17")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(18, "18")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(19, "19")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(20, "20")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(21, "21")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(22, "22")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(23, "23")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(24, "24")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(25, "25")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(26, "26")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(27, "27")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(28, "28")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(29, "29")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(30, "30")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(31, "31")
|
||||||
|
TEGRA_SND_SOC_DAILINK_DEFS(32, "32")
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(adsp_admaif1,
|
SND_SOC_DAILINK_DEFS(adsp_admaif1,
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC("tegra210-adsp-virt","ADSP-ADMAIF1")),
|
DAILINK_COMP_ARRAY(COMP_CODEC("tegra210-adsp-virt","ADSP-ADMAIF1")),
|
||||||
@@ -303,6 +241,63 @@ SND_SOC_DAILINK_DEFS(adsp_pcm15,
|
|||||||
DAILINK_COMP_ARRAY(COMP_CODEC("tegra210-adsp-virt", "ADSP-FE15")),
|
DAILINK_COMP_ARRAY(COMP_CODEC("tegra210-adsp-virt", "ADSP-FE15")),
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("tegra210-adsp-virt")));
|
DAILINK_COMP_ARRAY(COMP_PLATFORM("tegra210-adsp-virt")));
|
||||||
|
|
||||||
|
#if defined(NV_SND_SOC_DAI_LINK_STRUCT_HAS_C2C_PARAMS_ARG) /* Linux v6.4 */
|
||||||
|
#define TEGRA_DAI_LINK(id) \
|
||||||
|
{ \
|
||||||
|
.name = DAI_NAME(id), \
|
||||||
|
.stream_name = STREAM_NAME, \
|
||||||
|
.c2c_params = &default_params, \
|
||||||
|
.ignore_pmdown_time = 1, \
|
||||||
|
.ignore_suspend = 0, \
|
||||||
|
SND_SOC_DAILINK_REG(audio##id), \
|
||||||
|
},
|
||||||
|
#else
|
||||||
|
#define TEGRA_DAI_LINK(id) \
|
||||||
|
{ \
|
||||||
|
.name = DAI_NAME(id), \
|
||||||
|
.stream_name = STREAM_NAME, \
|
||||||
|
.params = &default_params, \
|
||||||
|
.ignore_pmdown_time = 1, \
|
||||||
|
.ignore_suspend = 0, \
|
||||||
|
SND_SOC_DAILINK_REG(audio##id), \
|
||||||
|
},
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static struct snd_soc_dai_link tegra_virt_t264ref_pcm_links[] = {
|
||||||
|
TEGRA_DAI_LINK(1)
|
||||||
|
TEGRA_DAI_LINK(2)
|
||||||
|
TEGRA_DAI_LINK(3)
|
||||||
|
TEGRA_DAI_LINK(4)
|
||||||
|
TEGRA_DAI_LINK(5)
|
||||||
|
TEGRA_DAI_LINK(6)
|
||||||
|
TEGRA_DAI_LINK(7)
|
||||||
|
TEGRA_DAI_LINK(8)
|
||||||
|
TEGRA_DAI_LINK(9)
|
||||||
|
TEGRA_DAI_LINK(10)
|
||||||
|
TEGRA_DAI_LINK(11)
|
||||||
|
TEGRA_DAI_LINK(12)
|
||||||
|
TEGRA_DAI_LINK(13)
|
||||||
|
TEGRA_DAI_LINK(14)
|
||||||
|
TEGRA_DAI_LINK(15)
|
||||||
|
TEGRA_DAI_LINK(16)
|
||||||
|
TEGRA_DAI_LINK(17)
|
||||||
|
TEGRA_DAI_LINK(18)
|
||||||
|
TEGRA_DAI_LINK(19)
|
||||||
|
TEGRA_DAI_LINK(20)
|
||||||
|
TEGRA_DAI_LINK(21)
|
||||||
|
TEGRA_DAI_LINK(22)
|
||||||
|
TEGRA_DAI_LINK(23)
|
||||||
|
TEGRA_DAI_LINK(24)
|
||||||
|
TEGRA_DAI_LINK(25)
|
||||||
|
TEGRA_DAI_LINK(26)
|
||||||
|
TEGRA_DAI_LINK(27)
|
||||||
|
TEGRA_DAI_LINK(28)
|
||||||
|
TEGRA_DAI_LINK(29)
|
||||||
|
TEGRA_DAI_LINK(30)
|
||||||
|
TEGRA_DAI_LINK(31)
|
||||||
|
TEGRA_DAI_LINK(32)
|
||||||
|
};
|
||||||
|
|
||||||
static struct snd_soc_dai_link tegra_virt_t186ref_pcm_links[] = {
|
static struct snd_soc_dai_link tegra_virt_t186ref_pcm_links[] = {
|
||||||
{
|
{
|
||||||
/* 0 */
|
/* 0 */
|
||||||
@@ -1058,7 +1053,7 @@ unsigned int tegra_virt_machine_get_num_dai_links(void)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(tegra_virt_machine_get_num_dai_links);
|
EXPORT_SYMBOL(tegra_virt_machine_get_num_dai_links);
|
||||||
|
|
||||||
struct snd_soc_dai_link *tegra_virt_machine_get_dai_link(void)
|
struct snd_soc_dai_link *tegra_virt_machine_get_dai_link(struct device *dev)
|
||||||
{
|
{
|
||||||
struct snd_soc_dai_link *link = tegra_virt_t186ref_pcm_links;
|
struct snd_soc_dai_link *link = tegra_virt_t186ref_pcm_links;
|
||||||
unsigned int size = TEGRA186_XBAR_DAI_LINKS;
|
unsigned int size = TEGRA186_XBAR_DAI_LINKS;
|
||||||
@@ -1066,6 +1061,10 @@ struct snd_soc_dai_link *tegra_virt_machine_get_dai_link(void)
|
|||||||
if (of_machine_is_compatible("nvidia,tegra210")) {
|
if (of_machine_is_compatible("nvidia,tegra210")) {
|
||||||
link = tegra_virt_t210ref_pcm_links;
|
link = tegra_virt_t210ref_pcm_links;
|
||||||
size = TEGRA210_XBAR_DAI_LINKS;
|
size = TEGRA210_XBAR_DAI_LINKS;
|
||||||
|
} else if (of_device_is_compatible(dev->of_node,
|
||||||
|
"nvidia,tegra264-virt-pcm-oot")) {
|
||||||
|
link = tegra_virt_t264ref_pcm_links;
|
||||||
|
size = ARRAY_SIZE(tegra_virt_t264ref_pcm_links);
|
||||||
}
|
}
|
||||||
|
|
||||||
tegra_virt_machine_set_num_dai_links(size);
|
tegra_virt_machine_set_num_dai_links(size);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2021-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
* Copyright (c) 2021-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __TEGRA_ASOC_MACHINE_VIRT_ALT_H__
|
#ifndef __TEGRA_ASOC_MACHINE_VIRT_ALT_H__
|
||||||
@@ -81,7 +81,7 @@ enum tegra186_xbar_dai_link {
|
|||||||
TEGRA186_XBAR_DAI_LINKS, /* Total number of xbar dai links */
|
TEGRA186_XBAR_DAI_LINKS, /* Total number of xbar dai links */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct snd_soc_dai_link *tegra_virt_machine_get_dai_link(void);
|
struct snd_soc_dai_link *tegra_virt_machine_get_dai_link(struct device *dev);
|
||||||
unsigned int tegra_virt_machine_get_num_dai_links(void);
|
unsigned int tegra_virt_machine_get_num_dai_links(void);
|
||||||
void tegra_virt_machine_set_num_dai_links(unsigned int val);
|
void tegra_virt_machine_set_num_dai_links(unsigned int val);
|
||||||
void tegra_virt_machine_set_adsp_admaif_dai_params(
|
void tegra_virt_machine_set_adsp_admaif_dai_params(
|
||||||
|
|||||||
@@ -48,6 +48,9 @@ static struct tegra_virt_admaif_soc_data soc_data_tegra186 = {
|
|||||||
.num_ch = TEGRA186_ADMAIF_CHANNEL_COUNT,
|
.num_ch = TEGRA186_ADMAIF_CHANNEL_COUNT,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct tegra_virt_admaif_soc_data soc_data_tegra264 = {
|
||||||
|
.num_ch = TEGRA264_ADMAIF_CHANNEL_COUNT,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct of_device_id tegra_virt_machine_of_match[] = {
|
static const struct of_device_id tegra_virt_machine_of_match[] = {
|
||||||
{ .compatible = "nvidia,tegra186-virt-pcm",
|
{ .compatible = "nvidia,tegra186-virt-pcm",
|
||||||
@@ -55,8 +58,7 @@ static const struct of_device_id tegra_virt_machine_of_match[] = {
|
|||||||
{ .compatible = "nvidia,tegra234-virt-pcm-oot",
|
{ .compatible = "nvidia,tegra234-virt-pcm-oot",
|
||||||
.data = &soc_data_tegra186},
|
.data = &soc_data_tegra186},
|
||||||
{ .compatible = "nvidia,tegra264-virt-pcm-oot",
|
{ .compatible = "nvidia,tegra264-virt-pcm-oot",
|
||||||
/* TODO: Update soc_data for t264 while adding full Thor support */
|
.data = &soc_data_tegra264},
|
||||||
.data = &soc_data_tegra186},
|
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -102,7 +104,7 @@ static int tegra_virt_machine_driver_probe(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
card->dev = &pdev->dev;
|
card->dev = &pdev->dev;
|
||||||
card->dai_link = tegra_virt_machine_get_dai_link();
|
card->dai_link = tegra_virt_machine_get_dai_link(&pdev->dev);
|
||||||
card->num_links = tegra_virt_machine_get_num_dai_links();
|
card->num_links = tegra_virt_machine_get_num_dai_links();
|
||||||
adsp_enabled = of_property_read_bool(pdev->dev.of_node,
|
adsp_enabled = of_property_read_bool(pdev->dev.of_node,
|
||||||
"adsp_enabled");
|
"adsp_enabled");
|
||||||
@@ -200,7 +202,7 @@ static int tegra_virt_machine_driver_probe(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
for (i = 0; i < admaif_ch_num; i++) {
|
for (i = 0; i < admaif_ch_num; i++) {
|
||||||
tegra_virt_set_dai_params(
|
tegra_virt_set_dai_params(
|
||||||
tegra_virt_machine_get_dai_link(),
|
tegra_virt_machine_get_dai_link(&pdev->dev),
|
||||||
NULL,
|
NULL,
|
||||||
(admaif_ch_list[i] - 1));
|
(admaif_ch_list[i] - 1));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user