Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/soc/intel/common/soc-acpi-intel-jsl-match.c
26493 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/*
3
* soc-apci-intel-jsl-match.c - tables and support for JSL ACPI enumeration.
4
*
5
* Copyright (c) 2019-2020, 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 essx_83x6 = {
13
.num_codecs = 3,
14
.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
15
};
16
17
static const struct snd_soc_acpi_codecs mx98373_spk = {
18
.num_codecs = 1,
19
.codecs = {"MX98373"}
20
};
21
22
static const struct snd_soc_acpi_codecs rt1015_spk = {
23
.num_codecs = 1,
24
.codecs = {"10EC1015"}
25
};
26
27
static const struct snd_soc_acpi_codecs rt1015p_spk = {
28
.num_codecs = 1,
29
.codecs = {"RTL1015"}
30
};
31
32
static const struct snd_soc_acpi_codecs mx98360a_spk = {
33
.num_codecs = 1,
34
.codecs = {"MX98360A"}
35
};
36
37
static struct snd_soc_acpi_codecs rt5650_spk = {
38
.num_codecs = 1,
39
.codecs = {"10EC5650"}
40
};
41
42
static const struct snd_soc_acpi_codecs rt5682_rt5682s_hp = {
43
.num_codecs = 2,
44
.codecs = {"10EC5682", "RTL5682"},
45
};
46
47
/*
48
* When adding new entry to the snd_soc_acpi_intel_jsl_machines array,
49
* use .quirk_data member to distinguish different machine driver,
50
* and keep ACPI .id field unchanged for the common codec.
51
*/
52
struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[] = {
53
{
54
.id = "DLGS7219",
55
.drv_name = "jsl_da7219_def",
56
.machine_quirk = snd_soc_acpi_codec_list,
57
.quirk_data = &mx98373_spk,
58
.sof_tplg_filename = "sof-jsl-da7219.tplg",
59
},
60
{
61
.id = "DLGS7219",
62
.drv_name = "jsl_da7219_def",
63
.machine_quirk = snd_soc_acpi_codec_list,
64
.quirk_data = &mx98360a_spk,
65
.sof_tplg_filename = "sof-jsl-da7219-mx98360a.tplg",
66
},
67
{
68
.comp_ids = &rt5682_rt5682s_hp,
69
.drv_name = "jsl_rt5682_def",
70
.machine_quirk = snd_soc_acpi_codec_list,
71
.quirk_data = &rt1015_spk,
72
.sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
73
},
74
{
75
.comp_ids = &rt5682_rt5682s_hp,
76
.drv_name = "jsl_rt5682_def",
77
.machine_quirk = snd_soc_acpi_codec_list,
78
.quirk_data = &rt1015p_spk,
79
.sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
80
},
81
{
82
.comp_ids = &rt5682_rt5682s_hp,
83
.drv_name = "jsl_rt5682_def",
84
.machine_quirk = snd_soc_acpi_codec_list,
85
.quirk_data = &mx98360a_spk,
86
.sof_tplg_filename = "sof-jsl-rt5682-mx98360a.tplg",
87
},
88
{
89
.comp_ids = &rt5682_rt5682s_hp,
90
.drv_name = "jsl_rt5682_def",
91
.sof_tplg_filename = "sof-jsl-rt5682.tplg",
92
},
93
{
94
.id = "10134242",
95
.drv_name = "jsl_cs4242_mx98360a",
96
.machine_quirk = snd_soc_acpi_codec_list,
97
.quirk_data = &mx98360a_spk,
98
.sof_tplg_filename = "sof-jsl-cs42l42-mx98360a.tplg",
99
},
100
{
101
.comp_ids = &essx_83x6,
102
.drv_name = "sof-essx8336",
103
.sof_tplg_filename = "sof-jsl-es8336", /* the tplg suffix is added at run time */
104
.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
105
SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
106
SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
107
},
108
{
109
.id = "10EC5650",
110
.drv_name = "jsl_rt5682_def",
111
.machine_quirk = snd_soc_acpi_codec_list,
112
.quirk_data = &rt5650_spk,
113
.sof_tplg_filename = "sof-jsl-rt5650.tplg",
114
},
115
{},
116
};
117
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_jsl_machines);
118
119