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 = &_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 = &_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 = &_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 = &_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 = &_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 = &_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 = &_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