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#include "../skylake/skl.h"
12
13static struct skl_machine_pdata skl_dmic_data;
14
15static const struct snd_soc_acpi_codecs kbl_codecs = {
16 .num_codecs = 1,
17 .codecs = {"10508825"}
18};
19
20static const struct snd_soc_acpi_codecs kbl_poppy_codecs = {
21 .num_codecs = 1,
22 .codecs = {"10EC5663"}
23};
24
25static const struct snd_soc_acpi_codecs kbl_5663_5514_codecs = {
26 .num_codecs = 2,
27 .codecs = {"10EC5663", "10EC5514"}
28};
29
30static const struct snd_soc_acpi_codecs kbl_7219_98357_codecs = {
31 .num_codecs = 1,
32 .codecs = {"MX98357A"}
33};
34
35static const struct snd_soc_acpi_codecs kbl_7219_98927_codecs = {
36 .num_codecs = 1,
37 .codecs = {"MX98927"}
38};
39
40static const struct snd_soc_acpi_codecs kbl_7219_98373_codecs = {
41 .num_codecs = 1,
42 .codecs = {"MX98373"}
43};
44
45struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[] = {
46 {
47 .id = "INT343A",
48 .drv_name = "kbl_alc286s_i2s",
49 .fw_filename = "intel/dsp_fw_kbl.bin",
50 },
51 {
52 .id = "INT343B",
53 .drv_name = "kbl_n88l25_s4567",
54 .fw_filename = "intel/dsp_fw_kbl.bin",
55 .machine_quirk = snd_soc_acpi_codec_list,
56 .quirk_data = &kbl_codecs,
57 .pdata = &skl_dmic_data,
58 },
59 {
60 .id = "MX98357A",
61 .drv_name = "kbl_n88l25_m98357a",
62 .fw_filename = "intel/dsp_fw_kbl.bin",
63 .machine_quirk = snd_soc_acpi_codec_list,
64 .quirk_data = &kbl_codecs,
65 .pdata = &skl_dmic_data,
66 },
67 {
68 .id = "MX98927",
69 .drv_name = "kbl_r5514_5663_max",
70 .fw_filename = "intel/dsp_fw_kbl.bin",
71 .machine_quirk = snd_soc_acpi_codec_list,
72 .quirk_data = &kbl_5663_5514_codecs,
73 .pdata = &skl_dmic_data,
74 },
75 {
76 .id = "MX98927",
77 .drv_name = "kbl_rt5663_m98927",
78 .fw_filename = "intel/dsp_fw_kbl.bin",
79 .machine_quirk = snd_soc_acpi_codec_list,
80 .quirk_data = &kbl_poppy_codecs,
81 .pdata = &skl_dmic_data,
82 },
83 {
84 .id = "10EC5663",
85 .drv_name = "kbl_rt5663",
86 .fw_filename = "intel/dsp_fw_kbl.bin",
87 },
88 {
89 .id = "DLGS7219",
90 .drv_name = "kbl_da7219_mx98357a",
91 .fw_filename = "intel/dsp_fw_kbl.bin",
92 .machine_quirk = snd_soc_acpi_codec_list,
93 .quirk_data = &kbl_7219_98357_codecs,
94 .pdata = &skl_dmic_data,
95 },
96 {
97 .id = "DLGS7219",
98 .drv_name = "kbl_da7219_max98927",
99 .fw_filename = "intel/dsp_fw_kbl.bin",
100 .machine_quirk = snd_soc_acpi_codec_list,
101 .quirk_data = &kbl_7219_98927_codecs,
102 .pdata = &skl_dmic_data
103 },
104 {
105 .id = "10EC5660",
106 .drv_name = "kbl_rt5660",
107 .fw_filename = "intel/dsp_fw_kbl.bin",
108 },
109 {
110 .id = "10EC3277",
111 .drv_name = "kbl_rt5660",
112 .fw_filename = "intel/dsp_fw_kbl.bin",
113 },
114 {
115 .id = "DLGS7219",
116 .drv_name = "kbl_da7219_mx98373",
117 .fw_filename = "intel/dsp_fw_kbl.bin",
118 .machine_quirk = snd_soc_acpi_codec_list,
119 .quirk_data = &kbl_7219_98373_codecs,
120 .pdata = &skl_dmic_data
121 },
122 {
123 .id = "MX98373",
124 .drv_name = "kbl_max98373",
125 .fw_filename = "intel/dsp_fw_kbl.bin",
126 .pdata = &skl_dmic_data
127 },
128 {},
129};
130EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_kbl_machines);
131

source code of linux/sound/soc/intel/common/soc-acpi-intel-kbl-match.c