xref: /linux/sound/soc/intel/common/soc-acpi-intel-kbl-match.c (revision bd628c1bed7902ec1f24ba0fe70758949146abbe)
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 static struct snd_soc_acpi_codecs kbl_7219_98927_codecs = {
36 	.num_codecs = 1,
37 	.codecs = {"MX98927"}
38 };
39 
40 struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[] = {
41 	{
42 		.id = "INT343A",
43 		.drv_name = "kbl_alc286s_i2s",
44 		.fw_filename = "intel/dsp_fw_kbl.bin",
45 	},
46 	{
47 		.id = "INT343B",
48 		.drv_name = "kbl_n88l25_s4567",
49 		.fw_filename = "intel/dsp_fw_kbl.bin",
50 		.machine_quirk = snd_soc_acpi_codec_list,
51 		.quirk_data = &kbl_codecs,
52 		.pdata = &skl_dmic_data,
53 	},
54 	{
55 		.id = "MX98357A",
56 		.drv_name = "kbl_n88l25_m98357a",
57 		.fw_filename = "intel/dsp_fw_kbl.bin",
58 		.machine_quirk = snd_soc_acpi_codec_list,
59 		.quirk_data = &kbl_codecs,
60 		.pdata = &skl_dmic_data,
61 	},
62 	{
63 		.id = "MX98927",
64 		.drv_name = "kbl_r5514_5663_max",
65 		.fw_filename = "intel/dsp_fw_kbl.bin",
66 		.machine_quirk = snd_soc_acpi_codec_list,
67 		.quirk_data = &kbl_5663_5514_codecs,
68 		.pdata = &skl_dmic_data,
69 	},
70 	{
71 		.id = "MX98927",
72 		.drv_name = "kbl_rt5663_m98927",
73 		.fw_filename = "intel/dsp_fw_kbl.bin",
74 		.machine_quirk = snd_soc_acpi_codec_list,
75 		.quirk_data = &kbl_poppy_codecs,
76 		.pdata = &skl_dmic_data,
77 	},
78 	{
79 		.id = "10EC5663",
80 		.drv_name = "kbl_rt5663",
81 		.fw_filename = "intel/dsp_fw_kbl.bin",
82 	},
83 	{
84 		.id = "DLGS7219",
85 		.drv_name = "kbl_da7219_max98357a",
86 		.fw_filename = "intel/dsp_fw_kbl.bin",
87 		.machine_quirk = snd_soc_acpi_codec_list,
88 		.quirk_data = &kbl_7219_98357_codecs,
89 		.pdata = &skl_dmic_data,
90 	},
91 	{
92 		.id = "DLGS7219",
93 		.drv_name = "kbl_da7219_max98927",
94 		.fw_filename = "intel/dsp_fw_kbl.bin",
95 		.machine_quirk = snd_soc_acpi_codec_list,
96 		.quirk_data = &kbl_7219_98927_codecs,
97 		.pdata = &skl_dmic_data
98 	},
99 	{
100 		.id = "10EC5660",
101 		.drv_name = "kbl_rt5660",
102 		.fw_filename = "intel/dsp_fw_kbl.bin",
103 	},
104 	{
105 		.id = "10EC3277",
106 		.drv_name = "kbl_rt5660",
107 		.fw_filename = "intel/dsp_fw_kbl.bin",
108 	},
109 	{},
110 };
111 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_kbl_machines);
112 
113 MODULE_LICENSE("GPL v2");
114 MODULE_DESCRIPTION("Intel Common ACPI Match module");
115