1e149ca29SPierre-Louis Bossart // SPDX-License-Identifier: GPL-2.0-only 24f0637eaSPan Xiuli /* 34f0637eaSPan Xiuli * soc-apci-intel-jsl-match.c - tables and support for JSL ACPI enumeration. 44f0637eaSPan Xiuli * 5a79ae0f6SYong Zhi * Copyright (c) 2019-2020, Intel Corporation. 64f0637eaSPan Xiuli * 74f0637eaSPan Xiuli */ 84f0637eaSPan Xiuli 94f0637eaSPan Xiuli #include <sound/soc-acpi.h> 104f0637eaSPan Xiuli #include <sound/soc-acpi-intel-match.h> 114f0637eaSPan Xiuli 121cedb6eaSPierre-Louis Bossart static const struct snd_soc_acpi_codecs essx_83x6 = { 131cedb6eaSPierre-Louis Bossart .num_codecs = 3, 141cedb6eaSPierre-Louis Bossart .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"}, 151cedb6eaSPierre-Louis Bossart }; 161cedb6eaSPierre-Louis Bossart 179a5d96adSPierre-Louis Bossart static const struct snd_soc_acpi_codecs jsl_7219_98373_codecs = { 183f32e596SYong Zhi .num_codecs = 1, 193f32e596SYong Zhi .codecs = {"MX98373"} 203f32e596SYong Zhi }; 213f32e596SYong Zhi 229a5d96adSPierre-Louis Bossart static const struct snd_soc_acpi_codecs rt1015_spk = { 23a79ae0f6SYong Zhi .num_codecs = 1, 24a79ae0f6SYong Zhi .codecs = {"10EC1015"} 25a79ae0f6SYong Zhi }; 26a79ae0f6SYong Zhi 279a5d96adSPierre-Louis Bossart static const struct snd_soc_acpi_codecs rt1015p_spk = { 28ad83b1adSBrent Lu .num_codecs = 1, 29ad83b1adSBrent Lu .codecs = {"RTL1015"} 30ad83b1adSBrent Lu }; 31ad83b1adSBrent Lu 329a5d96adSPierre-Louis Bossart static const struct snd_soc_acpi_codecs mx98360a_spk = { 33719e8179SYong Zhi .num_codecs = 1, 34719e8179SYong Zhi .codecs = {"MX98360A"} 35719e8179SYong Zhi }; 36719e8179SYong Zhi 37*6657fcc9SBrent Lu static struct snd_soc_acpi_codecs rt5650_spk = { 38*6657fcc9SBrent Lu .num_codecs = 1, 39*6657fcc9SBrent Lu .codecs = {"10EC5650"} 40*6657fcc9SBrent Lu }; 41*6657fcc9SBrent Lu 42d4f3fdc2SBrent Lu static const struct snd_soc_acpi_codecs rt5682_rt5682s_hp = { 43d4f3fdc2SBrent Lu .num_codecs = 2, 44d4f3fdc2SBrent Lu .codecs = {"10EC5682", "RTL5682"}, 45d4f3fdc2SBrent Lu }; 46d4f3fdc2SBrent Lu 473f32e596SYong Zhi /* 483f32e596SYong Zhi * When adding new entry to the snd_soc_acpi_intel_jsl_machines array, 493f32e596SYong Zhi * use .quirk_data member to distinguish different machine driver, 503f32e596SYong Zhi * and keep ACPI .id field unchanged for the common codec. 513f32e596SYong Zhi */ 524f0637eaSPan Xiuli struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[] = { 5335dc19adSYong Zhi { 5435dc19adSYong Zhi .id = "DLGS7219", 551cc04d19SPierre-Louis Bossart .drv_name = "sof_da7219_mx98373", 5635dc19adSYong Zhi .sof_tplg_filename = "sof-jsl-da7219.tplg", 573f32e596SYong Zhi .machine_quirk = snd_soc_acpi_codec_list, 583f32e596SYong Zhi .quirk_data = &jsl_7219_98373_codecs, 593f32e596SYong Zhi }, 603f32e596SYong Zhi { 613f32e596SYong Zhi .id = "DLGS7219", 621cc04d19SPierre-Louis Bossart .drv_name = "sof_da7219_mx98360a", 633f32e596SYong Zhi .sof_tplg_filename = "sof-jsl-da7219-mx98360a.tplg", 6435dc19adSYong Zhi }, 65a79ae0f6SYong Zhi { 66d4f3fdc2SBrent Lu .comp_ids = &rt5682_rt5682s_hp, 67a79ae0f6SYong Zhi .drv_name = "jsl_rt5682_rt1015", 68a79ae0f6SYong Zhi .machine_quirk = snd_soc_acpi_codec_list, 69a79ae0f6SYong Zhi .quirk_data = &rt1015_spk, 70a79ae0f6SYong Zhi .sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg", 71a79ae0f6SYong Zhi }, 72719e8179SYong Zhi { 73d4f3fdc2SBrent Lu .comp_ids = &rt5682_rt5682s_hp, 74ad83b1adSBrent Lu .drv_name = "jsl_rt5682_rt1015p", 75ad83b1adSBrent Lu .machine_quirk = snd_soc_acpi_codec_list, 76ad83b1adSBrent Lu .quirk_data = &rt1015p_spk, 77ad83b1adSBrent Lu .sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg", 78ad83b1adSBrent Lu }, 79ad83b1adSBrent Lu { 80d4f3fdc2SBrent Lu .comp_ids = &rt5682_rt5682s_hp, 813c561a09SBrent Lu .drv_name = "jsl_rt5682_mx98360", 82719e8179SYong Zhi .machine_quirk = snd_soc_acpi_codec_list, 83719e8179SYong Zhi .quirk_data = &mx98360a_spk, 84719e8179SYong Zhi .sof_tplg_filename = "sof-jsl-rt5682-mx98360a.tplg", 85719e8179SYong Zhi }, 867d1bf46cSBrent Lu { 87c0660fceSBrent Lu .comp_ids = &rt5682_rt5682s_hp, 88c0660fceSBrent Lu .drv_name = "jsl_rt5682", 89c0660fceSBrent Lu .sof_tplg_filename = "sof-jsl-rt5682.tplg", 90c0660fceSBrent Lu }, 91c0660fceSBrent Lu { 927d1bf46cSBrent Lu .id = "10134242", 937d1bf46cSBrent Lu .drv_name = "jsl_cs4242_mx98360a", 947d1bf46cSBrent Lu .machine_quirk = snd_soc_acpi_codec_list, 957d1bf46cSBrent Lu .quirk_data = &mx98360a_spk, 967d1bf46cSBrent Lu .sof_tplg_filename = "sof-jsl-cs42l42-mx98360a.tplg", 977d1bf46cSBrent Lu }, 9846414bc3SBrent Lu { 991cedb6eaSPierre-Louis Bossart .comp_ids = &essx_83x6, 10063ff4c50SPierre-Louis Bossart .drv_name = "sof-essx8336", 1014694b838SPierre-Louis Bossart .sof_tplg_filename = "sof-jsl-es8336", /* the tplg suffix is added at run time */ 1024694b838SPierre-Louis Bossart .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER | 1034694b838SPierre-Louis Bossart SND_SOC_ACPI_TPLG_INTEL_SSP_MSB | 1044694b838SPierre-Louis Bossart SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER, 10563ff4c50SPierre-Louis Bossart }, 106*6657fcc9SBrent Lu { 107*6657fcc9SBrent Lu .id = "10EC5650", 108*6657fcc9SBrent Lu .drv_name = "jsl_rt5650", 109*6657fcc9SBrent Lu .machine_quirk = snd_soc_acpi_codec_list, 110*6657fcc9SBrent Lu .quirk_data = &rt5650_spk, 111*6657fcc9SBrent Lu .sof_tplg_filename = "sof-jsl-rt5650.tplg", 112*6657fcc9SBrent Lu }, 1134f0637eaSPan Xiuli {}, 1144f0637eaSPan Xiuli }; 1154f0637eaSPan Xiuli EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_jsl_machines); 116