xref: /linux/sound/soc/amd/acp-config.c (revision e17de785850e3112b2ea6ba786016a61f195bb23)
1f1bdd8d3SAjit Kumar Pandey // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
2f1bdd8d3SAjit Kumar Pandey //
3f1bdd8d3SAjit Kumar Pandey // This file is provided under a dual BSD/GPLv2 license. When using or
4f1bdd8d3SAjit Kumar Pandey // redistributing this file, you may do so under either license.
5f1bdd8d3SAjit Kumar Pandey //
6c3ab23a1SVenkata Prasad Potturu // Copyright(c) 2021, 2023 Advanced Micro Devices, Inc.
7f1bdd8d3SAjit Kumar Pandey //
8f1bdd8d3SAjit Kumar Pandey // Authors: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>
9f1bdd8d3SAjit Kumar Pandey //
10f1bdd8d3SAjit Kumar Pandey 
11f1bdd8d3SAjit Kumar Pandey /* ACP machine configuration module */
12f1bdd8d3SAjit Kumar Pandey 
13f1bdd8d3SAjit Kumar Pandey #include <linux/acpi.h>
14f1bdd8d3SAjit Kumar Pandey #include <linux/bits.h>
15f1bdd8d3SAjit Kumar Pandey #include <linux/dmi.h>
16f1bdd8d3SAjit Kumar Pandey #include <linux/module.h>
17f1bdd8d3SAjit Kumar Pandey #include <linux/pci.h>
18f1bdd8d3SAjit Kumar Pandey 
19f1bdd8d3SAjit Kumar Pandey #include "../sof/amd/acp.h"
20f1bdd8d3SAjit Kumar Pandey #include "mach-config.h"
21f1bdd8d3SAjit Kumar Pandey 
228527ecc6SVijendar Mukunda #define ACP_7_0_REV	0x70
238527ecc6SVijendar Mukunda 
24f1bdd8d3SAjit Kumar Pandey static int acp_quirk_data;
25f1bdd8d3SAjit Kumar Pandey 
26f1bdd8d3SAjit Kumar Pandey static const struct config_entry config_table[] = {
27f1bdd8d3SAjit Kumar Pandey 	{
28f1bdd8d3SAjit Kumar Pandey 		.flags = FLAG_AMD_SOF,
29f1bdd8d3SAjit Kumar Pandey 		.device = ACP_PCI_DEV_ID,
30f1bdd8d3SAjit Kumar Pandey 		.dmi_table = (const struct dmi_system_id []) {
31f1bdd8d3SAjit Kumar Pandey 			{
32f1bdd8d3SAjit Kumar Pandey 				.matches = {
33f1bdd8d3SAjit Kumar Pandey 					DMI_MATCH(DMI_SYS_VENDOR, "AMD"),
34f1bdd8d3SAjit Kumar Pandey 					DMI_MATCH(DMI_PRODUCT_NAME, "Majolica-CZN"),
35f1bdd8d3SAjit Kumar Pandey 				},
36f1bdd8d3SAjit Kumar Pandey 			},
37f1bdd8d3SAjit Kumar Pandey 			{}
38f1bdd8d3SAjit Kumar Pandey 		},
39f1bdd8d3SAjit Kumar Pandey 	},
40f4872013SAjit Kumar Pandey 	{
41f4872013SAjit Kumar Pandey 		.flags = FLAG_AMD_SOF,
42f4872013SAjit Kumar Pandey 		.device = ACP_PCI_DEV_ID,
43f4872013SAjit Kumar Pandey 		.dmi_table = (const struct dmi_system_id []) {
44f4872013SAjit Kumar Pandey 			{
45f4872013SAjit Kumar Pandey 				.matches = {
46f4872013SAjit Kumar Pandey 					DMI_MATCH(DMI_SYS_VENDOR, "Google"),
47f4872013SAjit Kumar Pandey 				},
48f4872013SAjit Kumar Pandey 			},
49f4872013SAjit Kumar Pandey 			{}
50f4872013SAjit Kumar Pandey 		},
51f4872013SAjit Kumar Pandey 	},
52197b1f7fSVenkata Prasad Potturu 	{
53c3ab23a1SVenkata Prasad Potturu 		.flags = FLAG_AMD_LEGACY,
54c3ab23a1SVenkata Prasad Potturu 		.device = ACP_PCI_DEV_ID,
55c3ab23a1SVenkata Prasad Potturu 		.dmi_table = (const struct dmi_system_id []) {
56c3ab23a1SVenkata Prasad Potturu 			{
57c3ab23a1SVenkata Prasad Potturu 				.matches = {
58c3ab23a1SVenkata Prasad Potturu 					DMI_MATCH(DMI_SYS_VENDOR, "Valve"),
59c3ab23a1SVenkata Prasad Potturu 					DMI_MATCH(DMI_PRODUCT_NAME, "Jupiter"),
60c3ab23a1SVenkata Prasad Potturu 				},
61c3ab23a1SVenkata Prasad Potturu 			},
62c3ab23a1SVenkata Prasad Potturu 			{}
63c3ab23a1SVenkata Prasad Potturu 		},
64c3ab23a1SVenkata Prasad Potturu 	},
65c3ab23a1SVenkata Prasad Potturu 	{
66197b1f7fSVenkata Prasad Potturu 		.flags = FLAG_AMD_SOF,
67197b1f7fSVenkata Prasad Potturu 		.device = ACP_PCI_DEV_ID,
68197b1f7fSVenkata Prasad Potturu 		.dmi_table = (const struct dmi_system_id []) {
69197b1f7fSVenkata Prasad Potturu 			{
70197b1f7fSVenkata Prasad Potturu 				.matches = {
71197b1f7fSVenkata Prasad Potturu 					DMI_MATCH(DMI_SYS_VENDOR, "Valve"),
72197b1f7fSVenkata Prasad Potturu 					DMI_MATCH(DMI_PRODUCT_NAME, "Galileo"),
73197b1f7fSVenkata Prasad Potturu 				},
74197b1f7fSVenkata Prasad Potturu 			},
75197b1f7fSVenkata Prasad Potturu 			{}
76197b1f7fSVenkata Prasad Potturu 		},
77197b1f7fSVenkata Prasad Potturu 	},
7854fcd9ddSMarian Postevca 	{
7954fcd9ddSMarian Postevca 		.flags = FLAG_AMD_LEGACY,
8054fcd9ddSMarian Postevca 		.device = ACP_PCI_DEV_ID,
8154fcd9ddSMarian Postevca 		.dmi_table = (const struct dmi_system_id []) {
8254fcd9ddSMarian Postevca 			{
8354fcd9ddSMarian Postevca 				.matches = {
8454fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "HUAWEI"),
8554fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "KLVL-WXXW"),
8654fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "M1010"),
8754fcd9ddSMarian Postevca 				},
8854fcd9ddSMarian Postevca 			},
8954fcd9ddSMarian Postevca 			{}
9054fcd9ddSMarian Postevca 		},
9154fcd9ddSMarian Postevca 	},
9254fcd9ddSMarian Postevca 	{
9354fcd9ddSMarian Postevca 		.flags = FLAG_AMD_LEGACY,
9454fcd9ddSMarian Postevca 		.device = ACP_PCI_DEV_ID,
9554fcd9ddSMarian Postevca 		.dmi_table = (const struct dmi_system_id []) {
9654fcd9ddSMarian Postevca 			{
9754fcd9ddSMarian Postevca 				.matches = {
9854fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "HUAWEI"),
9954fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "KLVL-WXX9"),
10054fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "M1010"),
10154fcd9ddSMarian Postevca 				},
10254fcd9ddSMarian Postevca 			},
10354fcd9ddSMarian Postevca 			{}
10454fcd9ddSMarian Postevca 		},
10554fcd9ddSMarian Postevca 	},
10654fcd9ddSMarian Postevca 	{
10754fcd9ddSMarian Postevca 		.flags = FLAG_AMD_LEGACY,
10854fcd9ddSMarian Postevca 		.device = ACP_PCI_DEV_ID,
10954fcd9ddSMarian Postevca 		.dmi_table = (const struct dmi_system_id []) {
11054fcd9ddSMarian Postevca 			{
11154fcd9ddSMarian Postevca 				.matches = {
11254fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "HUAWEI"),
11354fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "BOM-WXX9"),
11454fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "M1010"),
11554fcd9ddSMarian Postevca 				},
11654fcd9ddSMarian Postevca 			},
11754fcd9ddSMarian Postevca 			{}
11854fcd9ddSMarian Postevca 		},
11954fcd9ddSMarian Postevca 	},
12054fcd9ddSMarian Postevca 	{
12154fcd9ddSMarian Postevca 		.flags = FLAG_AMD_LEGACY,
12254fcd9ddSMarian Postevca 		.device = ACP_PCI_DEV_ID,
12354fcd9ddSMarian Postevca 		.dmi_table = (const struct dmi_system_id []) {
12454fcd9ddSMarian Postevca 			{
12554fcd9ddSMarian Postevca 				.matches = {
12654fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "HUAWEI"),
12754fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HVY-WXX9"),
128b5338b1bSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "M1010"),
129b5338b1bSMarian Postevca 				},
130b5338b1bSMarian Postevca 			},
131b5338b1bSMarian Postevca 			{}
132b5338b1bSMarian Postevca 		},
133b5338b1bSMarian Postevca 	},
134b5338b1bSMarian Postevca 	{
135b5338b1bSMarian Postevca 		.flags = FLAG_AMD_LEGACY,
136b5338b1bSMarian Postevca 		.device = ACP_PCI_DEV_ID,
137b5338b1bSMarian Postevca 		.dmi_table = (const struct dmi_system_id []) {
138b5338b1bSMarian Postevca 			{
139b5338b1bSMarian Postevca 				.matches = {
140b5338b1bSMarian Postevca 					DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "HUAWEI"),
141b5338b1bSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HVY-WXX9"),
14254fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "M1020"),
14354fcd9ddSMarian Postevca 				},
14454fcd9ddSMarian Postevca 			},
14554fcd9ddSMarian Postevca 			{}
14654fcd9ddSMarian Postevca 		},
14754fcd9ddSMarian Postevca 	},
14854fcd9ddSMarian Postevca 	{
14954fcd9ddSMarian Postevca 		.flags = FLAG_AMD_LEGACY,
15054fcd9ddSMarian Postevca 		.device = ACP_PCI_DEV_ID,
15154fcd9ddSMarian Postevca 		.dmi_table = (const struct dmi_system_id []) {
15254fcd9ddSMarian Postevca 			{
15354fcd9ddSMarian Postevca 				.matches = {
15454fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "HUAWEI"),
15554fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "HVY-WXX9"),
15654fcd9ddSMarian Postevca 					DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "M1040"),
15754fcd9ddSMarian Postevca 				},
15854fcd9ddSMarian Postevca 			},
15954fcd9ddSMarian Postevca 			{}
16054fcd9ddSMarian Postevca 		},
16154fcd9ddSMarian Postevca 	},
162f1bdd8d3SAjit Kumar Pandey };
163f1bdd8d3SAjit Kumar Pandey 
1648527ecc6SVijendar Mukunda static int snd_amd_acp_acpi_find_config(struct pci_dev *pci)
1658527ecc6SVijendar Mukunda {
1668527ecc6SVijendar Mukunda 	const union acpi_object *obj;
1678527ecc6SVijendar Mukunda 	int acp_flag = FLAG_AMD_LEGACY_ONLY_DMIC;
1688527ecc6SVijendar Mukunda 
1698527ecc6SVijendar Mukunda 	if (!acpi_dev_get_property(ACPI_COMPANION(&pci->dev), "acp-audio-config-flag",
1708527ecc6SVijendar Mukunda 				   ACPI_TYPE_INTEGER, &obj))
1718527ecc6SVijendar Mukunda 		acp_flag = obj->integer.value;
1728527ecc6SVijendar Mukunda 
1738527ecc6SVijendar Mukunda 	return acp_flag;
1748527ecc6SVijendar Mukunda }
1758527ecc6SVijendar Mukunda 
176f1bdd8d3SAjit Kumar Pandey int snd_amd_acp_find_config(struct pci_dev *pci)
177f1bdd8d3SAjit Kumar Pandey {
178f1bdd8d3SAjit Kumar Pandey 	const struct config_entry *table = config_table;
179f1bdd8d3SAjit Kumar Pandey 	u16 device = pci->device;
180f1bdd8d3SAjit Kumar Pandey 	int i;
181f1bdd8d3SAjit Kumar Pandey 
1828527ecc6SVijendar Mukunda 	/* Do not enable FLAGS on older platforms with Rev Id zero
1838527ecc6SVijendar Mukunda 	 * For platforms which has ACP 7.0 or higher, read the acp
1848527ecc6SVijendar Mukunda 	 * config flag from BIOS ACPI table and for older platforms
1858527ecc6SVijendar Mukunda 	 * read it from DMI tables.
1868527ecc6SVijendar Mukunda 	 */
187f4872013SAjit Kumar Pandey 	if (!pci->revision)
188f4872013SAjit Kumar Pandey 		return 0;
1898527ecc6SVijendar Mukunda 	else if (pci->revision >= ACP_7_0_REV)
1908527ecc6SVijendar Mukunda 		return snd_amd_acp_acpi_find_config(pci);
191f4872013SAjit Kumar Pandey 
192f1bdd8d3SAjit Kumar Pandey 	for (i = 0; i < ARRAY_SIZE(config_table); i++, table++) {
193f1bdd8d3SAjit Kumar Pandey 		if (table->device != device)
194f1bdd8d3SAjit Kumar Pandey 			continue;
195f1bdd8d3SAjit Kumar Pandey 		if (table->dmi_table && !dmi_check_system(table->dmi_table))
196f1bdd8d3SAjit Kumar Pandey 			continue;
197f1bdd8d3SAjit Kumar Pandey 		acp_quirk_data = table->flags;
198f1bdd8d3SAjit Kumar Pandey 		return table->flags;
199f1bdd8d3SAjit Kumar Pandey 	}
200f1bdd8d3SAjit Kumar Pandey 
201f1bdd8d3SAjit Kumar Pandey 	return 0;
202f1bdd8d3SAjit Kumar Pandey }
203f1bdd8d3SAjit Kumar Pandey EXPORT_SYMBOL(snd_amd_acp_find_config);
204f1bdd8d3SAjit Kumar Pandey 
205f4872013SAjit Kumar Pandey static struct snd_soc_acpi_codecs amp_rt1019 = {
206f4872013SAjit Kumar Pandey 	.num_codecs = 1,
207f4872013SAjit Kumar Pandey 	.codecs = {"10EC1019"}
208f4872013SAjit Kumar Pandey };
209f4872013SAjit Kumar Pandey 
210f4872013SAjit Kumar Pandey static struct snd_soc_acpi_codecs amp_max = {
211f4872013SAjit Kumar Pandey 	.num_codecs = 1,
212f4872013SAjit Kumar Pandey 	.codecs = {"MX98360A"}
213f4872013SAjit Kumar Pandey };
214f4872013SAjit Kumar Pandey 
215ef51cddfSVenkata Prasad Potturu static struct snd_soc_acpi_codecs amp_max98388 = {
216ef51cddfSVenkata Prasad Potturu 	.num_codecs = 1,
217ef51cddfSVenkata Prasad Potturu 	.codecs = {"ADS8388"}
218ef51cddfSVenkata Prasad Potturu };
219ef51cddfSVenkata Prasad Potturu 
220f1bdd8d3SAjit Kumar Pandey struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
221f1bdd8d3SAjit Kumar Pandey 	{
222f4872013SAjit Kumar Pandey 		.id = "10EC5682",
223f4872013SAjit Kumar Pandey 		.drv_name = "rt5682-rt1019",
224f4872013SAjit Kumar Pandey 		.pdata = (void *)&acp_quirk_data,
225f4872013SAjit Kumar Pandey 		.machine_quirk = snd_soc_acpi_codec_list,
226f4872013SAjit Kumar Pandey 		.quirk_data = &amp_rt1019,
227f4872013SAjit Kumar Pandey 		.fw_filename = "sof-rn.ri",
2280082e329SAjit Kumar Pandey 		.sof_tplg_filename = "sof-rn-rt5682-rt1019.tplg",
229f4872013SAjit Kumar Pandey 	},
230f4872013SAjit Kumar Pandey 	{
231f4872013SAjit Kumar Pandey 		.id = "10EC5682",
232f4872013SAjit Kumar Pandey 		.drv_name = "rt5682-max",
233f4872013SAjit Kumar Pandey 		.pdata = (void *)&acp_quirk_data,
234f4872013SAjit Kumar Pandey 		.machine_quirk = snd_soc_acpi_codec_list,
235f4872013SAjit Kumar Pandey 		.quirk_data = &amp_max,
236f4872013SAjit Kumar Pandey 		.fw_filename = "sof-rn.ri",
2370082e329SAjit Kumar Pandey 		.sof_tplg_filename = "sof-rn-rt5682-max98360.tplg",
238f4872013SAjit Kumar Pandey 	},
239f4872013SAjit Kumar Pandey 	{
240f4872013SAjit Kumar Pandey 		.id = "RTL5682",
241f4872013SAjit Kumar Pandey 		.drv_name = "rt5682s-max",
242f4872013SAjit Kumar Pandey 		.pdata = (void *)&acp_quirk_data,
243f4872013SAjit Kumar Pandey 		.machine_quirk = snd_soc_acpi_codec_list,
244f4872013SAjit Kumar Pandey 		.quirk_data = &amp_max,
245f4872013SAjit Kumar Pandey 		.fw_filename = "sof-rn.ri",
2460082e329SAjit Kumar Pandey 		.sof_tplg_filename = "sof-rn-rt5682-max98360.tplg",
247f4872013SAjit Kumar Pandey 	},
248f4872013SAjit Kumar Pandey 	{
249330dc183SV sujith kumar Reddy 		.id = "RTL5682",
250330dc183SV sujith kumar Reddy 		.drv_name = "rt5682s-rt1019",
251330dc183SV sujith kumar Reddy 		.pdata = (void *)&acp_quirk_data,
252330dc183SV sujith kumar Reddy 		.machine_quirk = snd_soc_acpi_codec_list,
253330dc183SV sujith kumar Reddy 		.quirk_data = &amp_rt1019,
254330dc183SV sujith kumar Reddy 		.fw_filename = "sof-rn.ri",
255330dc183SV sujith kumar Reddy 		.sof_tplg_filename = "sof-rn-rt5682-rt1019.tplg",
256330dc183SV sujith kumar Reddy 	},
257330dc183SV sujith kumar Reddy 	{
258f1bdd8d3SAjit Kumar Pandey 		.id = "AMDI1019",
259f1bdd8d3SAjit Kumar Pandey 		.drv_name = "renoir-dsp",
260f1bdd8d3SAjit Kumar Pandey 		.pdata = (void *)&acp_quirk_data,
261f1bdd8d3SAjit Kumar Pandey 		.fw_filename = "sof-rn.ri",
262f1bdd8d3SAjit Kumar Pandey 		.sof_tplg_filename = "sof-acp.tplg",
263f1bdd8d3SAjit Kumar Pandey 	},
264f1bdd8d3SAjit Kumar Pandey 	{},
265f1bdd8d3SAjit Kumar Pandey };
266f1bdd8d3SAjit Kumar Pandey EXPORT_SYMBOL(snd_soc_acpi_amd_sof_machines);
267f1bdd8d3SAjit Kumar Pandey 
268ef51cddfSVenkata Prasad Potturu struct snd_soc_acpi_mach snd_soc_acpi_amd_vangogh_sof_machines[] = {
269ef51cddfSVenkata Prasad Potturu 	{
270ef51cddfSVenkata Prasad Potturu 		.id = "NVTN2020",
271ef51cddfSVenkata Prasad Potturu 		.drv_name = "nau8821-max",
272ef51cddfSVenkata Prasad Potturu 		.pdata = &acp_quirk_data,
273ef51cddfSVenkata Prasad Potturu 		.machine_quirk = snd_soc_acpi_codec_list,
274ef51cddfSVenkata Prasad Potturu 		.quirk_data = &amp_max98388,
275ef51cddfSVenkata Prasad Potturu 		.fw_filename = "sof-vangogh.ri",
276ef51cddfSVenkata Prasad Potturu 		.sof_tplg_filename = "sof-vangogh-nau8821-max.tplg",
277ef51cddfSVenkata Prasad Potturu 	},
278ef51cddfSVenkata Prasad Potturu 	{},
279ef51cddfSVenkata Prasad Potturu };
280ef51cddfSVenkata Prasad Potturu EXPORT_SYMBOL(snd_soc_acpi_amd_vangogh_sof_machines);
281ef51cddfSVenkata Prasad Potturu 
2820439eb4dSV sujith kumar Reddy struct snd_soc_acpi_mach snd_soc_acpi_amd_rmb_sof_machines[] = {
2830439eb4dSV sujith kumar Reddy 	{
2840439eb4dSV sujith kumar Reddy 		.id = "AMDI1019",
2850439eb4dSV sujith kumar Reddy 		.drv_name = "rmb-dsp",
2860439eb4dSV sujith kumar Reddy 		.pdata = &acp_quirk_data,
2870439eb4dSV sujith kumar Reddy 		.fw_filename = "sof-rmb.ri",
2880439eb4dSV sujith kumar Reddy 		.sof_tplg_filename = "sof-acp-rmb.tplg",
2890439eb4dSV sujith kumar Reddy 	},
2900439eb4dSV sujith kumar Reddy 	{
2910439eb4dSV sujith kumar Reddy 		.id = "10508825",
2920439eb4dSV sujith kumar Reddy 		.drv_name = "nau8825-max",
2930439eb4dSV sujith kumar Reddy 		.pdata = &acp_quirk_data,
2940439eb4dSV sujith kumar Reddy 		.machine_quirk = snd_soc_acpi_codec_list,
2950439eb4dSV sujith kumar Reddy 		.quirk_data = &amp_max,
2960439eb4dSV sujith kumar Reddy 		.fw_filename = "sof-rmb.ri",
2970439eb4dSV sujith kumar Reddy 		.sof_tplg_filename = "sof-rmb-nau8825-max98360.tplg",
2980439eb4dSV sujith kumar Reddy 	},
2994dc6737cSV sujith kumar Reddy 	{
3004dc6737cSV sujith kumar Reddy 		.id = "RTL5682",
3014dc6737cSV sujith kumar Reddy 		.drv_name = "rt5682s-hs-rt1019",
3024dc6737cSV sujith kumar Reddy 		.pdata = &acp_quirk_data,
3034dc6737cSV sujith kumar Reddy 		.machine_quirk = snd_soc_acpi_codec_list,
3044dc6737cSV sujith kumar Reddy 		.quirk_data = &amp_rt1019,
3054dc6737cSV sujith kumar Reddy 		.fw_filename = "sof-rmb.ri",
3064dc6737cSV sujith kumar Reddy 		.sof_tplg_filename = "sof-rmb-rt5682s-rt1019.tplg",
3074dc6737cSV sujith kumar Reddy 	},
3080439eb4dSV sujith kumar Reddy 	{},
3090439eb4dSV sujith kumar Reddy };
3100439eb4dSV sujith kumar Reddy EXPORT_SYMBOL(snd_soc_acpi_amd_rmb_sof_machines);
3110439eb4dSV sujith kumar Reddy 
312bb98b592SVijendar Mukunda struct snd_soc_acpi_mach snd_soc_acpi_amd_acp63_sof_machines[] = {
313bb98b592SVijendar Mukunda 	{
314bb98b592SVijendar Mukunda 		.id = "AMDI1019",
315bb98b592SVijendar Mukunda 		.drv_name = "acp63-dsp",
316bb98b592SVijendar Mukunda 		.pdata = &acp_quirk_data,
317bb98b592SVijendar Mukunda 		.fw_filename = "sof-acp_6_3.ri",
318bb98b592SVijendar Mukunda 		.sof_tplg_filename = "sof-acp_6_3.tplg",
319bb98b592SVijendar Mukunda 	},
320bb98b592SVijendar Mukunda 	{},
321bb98b592SVijendar Mukunda };
322bb98b592SVijendar Mukunda EXPORT_SYMBOL(snd_soc_acpi_amd_acp63_sof_machines);
323bb98b592SVijendar Mukunda 
324*e17de785SVijendar Mukunda struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sof_machines[] = {
325*e17de785SVijendar Mukunda 	{
326*e17de785SVijendar Mukunda 		.id = "AMDI1010",
327*e17de785SVijendar Mukunda 		.drv_name = "acp70-dsp",
328*e17de785SVijendar Mukunda 		.pdata = &acp_quirk_data,
329*e17de785SVijendar Mukunda 		.fw_filename = "sof-acp_7_0.ri",
330*e17de785SVijendar Mukunda 		.sof_tplg_filename = "sof-acp_7_0.tplg",
331*e17de785SVijendar Mukunda 	},
332*e17de785SVijendar Mukunda 	{},
333*e17de785SVijendar Mukunda };
334*e17de785SVijendar Mukunda EXPORT_SYMBOL(snd_soc_acpi_amd_acp70_sof_machines);
335*e17de785SVijendar Mukunda 
3366e202e75SCristian Ciocaltea MODULE_DESCRIPTION("AMD ACP Machine Configuration Module");
337f1bdd8d3SAjit Kumar Pandey MODULE_LICENSE("Dual BSD/GPL");
338