1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * soc-acpi-intel-cml-match.c - tables and support for CML ACPI enumeration.
4  *
5  * Copyright (c) 2019, Intel Corporation.
6  *
7  */
8 
9 #include <sound/soc-acpi.h>
10 #include <sound/soc-acpi-intel-match.h>
11 
12 static struct snd_soc_acpi_codecs rt1011_spk_codecs = {
13 	.num_codecs = 1,
14 	.codecs = {"10EC1011"}
15 };
16 
17 static struct snd_soc_acpi_codecs max98357a_spk_codecs = {
18 	.num_codecs = 1,
19 	.codecs = {"MX98357A"}
20 };
21 
22 /*
23  * The order of the three entries with .id = "10EC5682" matters
24  * here, because DSDT tables expose an ACPI HID for the MAX98357A
25  * speaker amplifier which is not populated on the board.
26  */
27 struct snd_soc_acpi_mach snd_soc_acpi_intel_cml_machines[] = {
28 	{
29 		.id = "10EC5682",
30 		.drv_name = "cml_rt1011_rt5682",
31 		.machine_quirk = snd_soc_acpi_codec_list,
32 		.quirk_data = &rt1011_spk_codecs,
33 		.sof_fw_filename = "sof-cml.ri",
34 		.sof_tplg_filename = "sof-cml-rt1011-rt5682.tplg",
35 	},
36 	{
37 		.id = "10EC5682",
38 		.drv_name = "sof_rt5682",
39 		.machine_quirk = snd_soc_acpi_codec_list,
40 		.quirk_data = &max98357a_spk_codecs,
41 		.sof_fw_filename = "sof-cml.ri",
42 		.sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg",
43 	},
44 	{
45 		.id = "10EC5682",
46 		.drv_name = "sof_rt5682",
47 		.sof_fw_filename = "sof-cml.ri",
48 		.sof_tplg_filename = "sof-cml-rt5682.tplg",
49 	},
50 	{
51 		.id = "DLGS7219",
52 		.drv_name = "cml_da7219_max98357a",
53 		.machine_quirk = snd_soc_acpi_codec_list,
54 		.quirk_data = &max98357a_spk_codecs,
55 		.sof_fw_filename = "sof-cml.ri",
56 		.sof_tplg_filename = "sof-cml-da7219-max98357a.tplg",
57 	},
58 	{},
59 };
60 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cml_machines);
61 
62 MODULE_LICENSE("GPL v2");
63 MODULE_DESCRIPTION("Intel Common ACPI Match module");
64