xref: /linux/sound/soc/intel/common/soc-acpi-intel-kbl-match.c (revision 4aa5db22d35588e1a5d2ee88472348ea73d9fb23)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * soc-apci-intel-kbl-match.c - tables and support for KBL ACPI enumeration.
4  *
5  * Copyright (c) 2018, Intel Corporation.
6  *
7  */
8 
9 #include <sound/soc-acpi.h>
10 #include <sound/soc-acpi-intel-match.h>
11 #include "../skylake/skl.h"
12 
13 static struct skl_machine_pdata skl_dmic_data;
14 
15 static struct snd_soc_acpi_codecs kbl_codecs = {
16 	.num_codecs = 1,
17 	.codecs = {"10508825"}
18 };
19 
20 static struct snd_soc_acpi_codecs kbl_poppy_codecs = {
21 	.num_codecs = 1,
22 	.codecs = {"10EC5663"}
23 };
24 
25 static struct snd_soc_acpi_codecs kbl_5663_5514_codecs = {
26 	.num_codecs = 2,
27 	.codecs = {"10EC5663", "10EC5514"}
28 };
29 
30 static struct snd_soc_acpi_codecs kbl_7219_98357_codecs = {
31 	.num_codecs = 1,
32 	.codecs = {"MX98357A"}
33 };
34 
35 struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[] = {
36 	{
37 		.id = "INT343A",
38 		.drv_name = "kbl_alc286s_i2s",
39 		.fw_filename = "intel/dsp_fw_kbl.bin",
40 	},
41 	{
42 		.id = "INT343B",
43 		.drv_name = "kbl_n88l25_s4567",
44 		.fw_filename = "intel/dsp_fw_kbl.bin",
45 		.machine_quirk = snd_soc_acpi_codec_list,
46 		.quirk_data = &kbl_codecs,
47 		.pdata = &skl_dmic_data,
48 	},
49 	{
50 		.id = "MX98357A",
51 		.drv_name = "kbl_n88l25_m98357a",
52 		.fw_filename = "intel/dsp_fw_kbl.bin",
53 		.machine_quirk = snd_soc_acpi_codec_list,
54 		.quirk_data = &kbl_codecs,
55 		.pdata = &skl_dmic_data,
56 	},
57 	{
58 		.id = "MX98927",
59 		.drv_name = "kbl_r5514_5663_max",
60 		.fw_filename = "intel/dsp_fw_kbl.bin",
61 		.machine_quirk = snd_soc_acpi_codec_list,
62 		.quirk_data = &kbl_5663_5514_codecs,
63 		.pdata = &skl_dmic_data,
64 	},
65 	{
66 		.id = "MX98927",
67 		.drv_name = "kbl_rt5663_m98927",
68 		.fw_filename = "intel/dsp_fw_kbl.bin",
69 		.machine_quirk = snd_soc_acpi_codec_list,
70 		.quirk_data = &kbl_poppy_codecs,
71 		.pdata = &skl_dmic_data,
72 	},
73 	{
74 		.id = "10EC5663",
75 		.drv_name = "kbl_rt5663",
76 		.fw_filename = "intel/dsp_fw_kbl.bin",
77 	},
78 	{
79 		.id = "DLGS7219",
80 		.drv_name = "kbl_da7219_max98357a",
81 		.fw_filename = "intel/dsp_fw_kbl.bin",
82 		.machine_quirk = snd_soc_acpi_codec_list,
83 		.quirk_data = &kbl_7219_98357_codecs,
84 		.pdata = &skl_dmic_data,
85 	},
86 	{},
87 };
88 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_kbl_machines);
89 
90 MODULE_LICENSE("GPL v2");
91 MODULE_DESCRIPTION("Intel Common ACPI Match module");
92