xref: /linux/sound/soc/intel/common/soc-acpi-intel-kbl-match.c (revision 2f27fce67173bbb05d5a0ee03dae5c021202c912)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * soc-acpi-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 
12 static const struct snd_soc_acpi_codecs kbl_codecs = {
13 	.num_codecs = 1,
14 	.codecs = {"10508825"}
15 };
16 
17 static const struct snd_soc_acpi_codecs kbl_poppy_codecs = {
18 	.num_codecs = 1,
19 	.codecs = {"10EC5663"}
20 };
21 
22 static const struct snd_soc_acpi_codecs kbl_5663_5514_codecs = {
23 	.num_codecs = 2,
24 	.codecs = {"10EC5663", "10EC5514"}
25 };
26 
27 static const struct snd_soc_acpi_codecs kbl_7219_98357_codecs = {
28 	.num_codecs = 1,
29 	.codecs = {"MX98357A"}
30 };
31 
32 static const struct snd_soc_acpi_codecs kbl_7219_98927_codecs = {
33 	.num_codecs = 1,
34 	.codecs = {"MX98927"}
35 };
36 
37 static const struct snd_soc_acpi_codecs kbl_7219_98373_codecs = {
38 	.num_codecs = 1,
39 	.codecs = {"MX98373"}
40 };
41 
42 struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[] = {
43 	{
44 		.id = "INT343A",
45 		.drv_name = "kbl_alc286s_i2s",
46 		.fw_filename = "intel/dsp_fw_kbl.bin",
47 	},
48 	{
49 		.id = "INT343B",
50 		.drv_name = "kbl_n88l25_s4567",
51 		.fw_filename = "intel/dsp_fw_kbl.bin",
52 		.machine_quirk = snd_soc_acpi_codec_list,
53 		.quirk_data = &kbl_codecs,
54 	},
55 	{
56 		.id = "MX98357A",
57 		.drv_name = "kbl_n88l25_m98357a",
58 		.fw_filename = "intel/dsp_fw_kbl.bin",
59 		.machine_quirk = snd_soc_acpi_codec_list,
60 		.quirk_data = &kbl_codecs,
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 	},
69 	{
70 		.id = "MX98927",
71 		.drv_name = "kbl_rt5663_m98927",
72 		.fw_filename = "intel/dsp_fw_kbl.bin",
73 		.machine_quirk = snd_soc_acpi_codec_list,
74 		.quirk_data = &kbl_poppy_codecs,
75 	},
76 	{
77 		.id = "10EC5663",
78 		.drv_name = "kbl_rt5663",
79 		.fw_filename = "intel/dsp_fw_kbl.bin",
80 	},
81 	{
82 		.id = "DLGS7219",
83 		.drv_name = "kbl_da7219_mx98357a",
84 		.fw_filename = "intel/dsp_fw_kbl.bin",
85 		.machine_quirk = snd_soc_acpi_codec_list,
86 		.quirk_data = &kbl_7219_98357_codecs,
87 	},
88 	{
89 		.id = "DLGS7219",
90 		.drv_name = "kbl_da7219_max98927",
91 		.fw_filename = "intel/dsp_fw_kbl.bin",
92 		.machine_quirk = snd_soc_acpi_codec_list,
93 		.quirk_data = &kbl_7219_98927_codecs,
94 	},
95 	{
96 		.id = "10EC5660",
97 		.drv_name = "kbl_rt5660",
98 		.fw_filename = "intel/dsp_fw_kbl.bin",
99 	},
100 	{
101 		.id = "10EC3277",
102 		.drv_name = "kbl_rt5660",
103 		.fw_filename = "intel/dsp_fw_kbl.bin",
104 	},
105 	{
106 		.id = "DLGS7219",
107 		.drv_name = "kbl_da7219_mx98373",
108 		.fw_filename = "intel/dsp_fw_kbl.bin",
109 		.machine_quirk = snd_soc_acpi_codec_list,
110 		.quirk_data = &kbl_7219_98373_codecs,
111 	},
112 	{
113 		.id = "MX98373",
114 		.drv_name = "kbl_max98373",
115 		.fw_filename = "intel/dsp_fw_kbl.bin",
116 	},
117 	{},
118 };
119 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_kbl_machines);
120