xref: /linux/sound/soc/intel/common/soc-acpi-intel-kbl-match.c (revision e149ca29f3994ca79e9e77aa2f5b2e871e9f7c99)
1*e149ca29SPierre-Louis Bossart // SPDX-License-Identifier: GPL-2.0-only
2cbaa7f0bSPierre-Louis Bossart /*
3e51b6980SChristophe JAILLET  * soc-acpi-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 
356530adeaSMac Chiang static struct snd_soc_acpi_codecs kbl_7219_98927_codecs = {
366530adeaSMac Chiang 	.num_codecs = 1,
376530adeaSMac Chiang 	.codecs = {"MX98927"}
386530adeaSMac Chiang };
396530adeaSMac Chiang 
40716d53ccSJenny TC static struct snd_soc_acpi_codecs kbl_7219_98373_codecs = {
41716d53ccSJenny TC 	.num_codecs = 1,
42716d53ccSJenny TC 	.codecs = {"MX98373"}
43716d53ccSJenny TC };
44716d53ccSJenny TC 
45cbaa7f0bSPierre-Louis Bossart struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[] = {
46cbaa7f0bSPierre-Louis Bossart 	{
47cbaa7f0bSPierre-Louis Bossart 		.id = "INT343A",
48cbaa7f0bSPierre-Louis Bossart 		.drv_name = "kbl_alc286s_i2s",
49cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_kbl.bin",
50cbaa7f0bSPierre-Louis Bossart 	},
51cbaa7f0bSPierre-Louis Bossart 	{
52cbaa7f0bSPierre-Louis Bossart 		.id = "INT343B",
53cbaa7f0bSPierre-Louis Bossart 		.drv_name = "kbl_n88l25_s4567",
54cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_kbl.bin",
55cbaa7f0bSPierre-Louis Bossart 		.machine_quirk = snd_soc_acpi_codec_list,
56cbaa7f0bSPierre-Louis Bossart 		.quirk_data = &kbl_codecs,
57cbaa7f0bSPierre-Louis Bossart 		.pdata = &skl_dmic_data,
58cbaa7f0bSPierre-Louis Bossart 	},
59cbaa7f0bSPierre-Louis Bossart 	{
60cbaa7f0bSPierre-Louis Bossart 		.id = "MX98357A",
61cbaa7f0bSPierre-Louis Bossart 		.drv_name = "kbl_n88l25_m98357a",
62cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_kbl.bin",
63cbaa7f0bSPierre-Louis Bossart 		.machine_quirk = snd_soc_acpi_codec_list,
64cbaa7f0bSPierre-Louis Bossart 		.quirk_data = &kbl_codecs,
65cbaa7f0bSPierre-Louis Bossart 		.pdata = &skl_dmic_data,
66cbaa7f0bSPierre-Louis Bossart 	},
67cbaa7f0bSPierre-Louis Bossart 	{
68cbaa7f0bSPierre-Louis Bossart 		.id = "MX98927",
69cbaa7f0bSPierre-Louis Bossart 		.drv_name = "kbl_r5514_5663_max",
70cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_kbl.bin",
71cbaa7f0bSPierre-Louis Bossart 		.machine_quirk = snd_soc_acpi_codec_list,
72cbaa7f0bSPierre-Louis Bossart 		.quirk_data = &kbl_5663_5514_codecs,
73cbaa7f0bSPierre-Louis Bossart 		.pdata = &skl_dmic_data,
74cbaa7f0bSPierre-Louis Bossart 	},
75cbaa7f0bSPierre-Louis Bossart 	{
76cbaa7f0bSPierre-Louis Bossart 		.id = "MX98927",
77cbaa7f0bSPierre-Louis Bossart 		.drv_name = "kbl_rt5663_m98927",
78cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_kbl.bin",
79cbaa7f0bSPierre-Louis Bossart 		.machine_quirk = snd_soc_acpi_codec_list,
80cbaa7f0bSPierre-Louis Bossart 		.quirk_data = &kbl_poppy_codecs,
81cbaa7f0bSPierre-Louis Bossart 		.pdata = &skl_dmic_data,
82cbaa7f0bSPierre-Louis Bossart 	},
83cbaa7f0bSPierre-Louis Bossart 	{
84cbaa7f0bSPierre-Louis Bossart 		.id = "10EC5663",
85cbaa7f0bSPierre-Louis Bossart 		.drv_name = "kbl_rt5663",
86cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_kbl.bin",
87cbaa7f0bSPierre-Louis Bossart 	},
88cbaa7f0bSPierre-Louis Bossart 	{
89cbaa7f0bSPierre-Louis Bossart 		.id = "DLGS7219",
90cbaa7f0bSPierre-Louis Bossart 		.drv_name = "kbl_da7219_max98357a",
91cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_kbl.bin",
92cbaa7f0bSPierre-Louis Bossart 		.machine_quirk = snd_soc_acpi_codec_list,
93cbaa7f0bSPierre-Louis Bossart 		.quirk_data = &kbl_7219_98357_codecs,
94cbaa7f0bSPierre-Louis Bossart 		.pdata = &skl_dmic_data,
95cbaa7f0bSPierre-Louis Bossart 	},
966530adeaSMac Chiang 	{
976530adeaSMac Chiang 		.id = "DLGS7219",
986530adeaSMac Chiang 		.drv_name = "kbl_da7219_max98927",
996530adeaSMac Chiang 		.fw_filename = "intel/dsp_fw_kbl.bin",
1006530adeaSMac Chiang 		.machine_quirk = snd_soc_acpi_codec_list,
1016530adeaSMac Chiang 		.quirk_data = &kbl_7219_98927_codecs,
1026530adeaSMac Chiang 		.pdata = &skl_dmic_data
1036530adeaSMac Chiang 	},
1048625db94SHui Wang 	{
1058625db94SHui Wang 		.id = "10EC5660",
1068625db94SHui Wang 		.drv_name = "kbl_rt5660",
1078625db94SHui Wang 		.fw_filename = "intel/dsp_fw_kbl.bin",
1088625db94SHui Wang 	},
1098625db94SHui Wang 	{
1108625db94SHui Wang 		.id = "10EC3277",
1118625db94SHui Wang 		.drv_name = "kbl_rt5660",
1128625db94SHui Wang 		.fw_filename = "intel/dsp_fw_kbl.bin",
1138625db94SHui Wang 	},
114716d53ccSJenny TC 	{
115716d53ccSJenny TC 		.id = "DLGS7219",
116716d53ccSJenny TC 		.drv_name = "kbl_da7219_max98373",
117716d53ccSJenny TC 		.fw_filename = "intel/dsp_fw_kbl.bin",
118716d53ccSJenny TC 		.machine_quirk = snd_soc_acpi_codec_list,
119716d53ccSJenny TC 		.quirk_data = &kbl_7219_98373_codecs,
120716d53ccSJenny TC 		.pdata = &skl_dmic_data
121716d53ccSJenny TC 	},
122716d53ccSJenny TC 	{
123716d53ccSJenny TC 		.id = "MX98373",
124716d53ccSJenny TC 		.drv_name = "kbl_max98373",
125716d53ccSJenny TC 		.fw_filename = "intel/dsp_fw_kbl.bin",
126716d53ccSJenny TC 		.pdata = &skl_dmic_data
127716d53ccSJenny TC 	},
128cbaa7f0bSPierre-Louis Bossart 	{},
129cbaa7f0bSPierre-Louis Bossart };
130cbaa7f0bSPierre-Louis Bossart EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_kbl_machines);
131cbaa7f0bSPierre-Louis Bossart 
132cbaa7f0bSPierre-Louis Bossart MODULE_LICENSE("GPL v2");
133cbaa7f0bSPierre-Louis Bossart MODULE_DESCRIPTION("Intel Common ACPI Match module");
134