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