Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/soc/intel/common/soc-acpi-intel-cnl-match.c
26493 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/*
3
* soc-acpi-intel-cnl-match.c - tables and support for CNL 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 "soc-acpi-intel-sdw-mockup-match.h"
12
13
static const struct snd_soc_acpi_codecs essx_83x6 = {
14
.num_codecs = 3,
15
.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
16
};
17
18
struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = {
19
{
20
.id = "INT34C2",
21
.drv_name = "cnl_rt274",
22
.fw_filename = "intel/dsp_fw_cnl.bin",
23
.sof_tplg_filename = "sof-cnl-rt274.tplg",
24
},
25
{
26
.comp_ids = &essx_83x6,
27
.drv_name = "sof-essx8336",
28
/* cnl and cml are identical */
29
.sof_tplg_filename = "sof-cml-es8336", /* the tplg suffix is added at run time */
30
.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
31
SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
32
SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
33
},
34
{},
35
};
36
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines);
37
38
static const struct snd_soc_acpi_endpoint single_endpoint = {
39
.num = 0,
40
.aggregated = 0,
41
.group_position = 0,
42
.group_id = 0,
43
};
44
45
static const struct snd_soc_acpi_adr_device rt5682_2_adr[] = {
46
{
47
.adr = 0x000220025D568200ull,
48
.num_endpoints = 1,
49
.endpoints = &single_endpoint,
50
.name_prefix = "rt5682"
51
}
52
};
53
54
static const struct snd_soc_acpi_link_adr up_extreme_rt5682_2[] = {
55
{
56
.mask = BIT(2),
57
.num_adr = ARRAY_SIZE(rt5682_2_adr),
58
.adr_d = rt5682_2_adr,
59
},
60
{}
61
};
62
63
struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_sdw_machines[] = {
64
{
65
.link_mask = BIT(2),
66
.links = up_extreme_rt5682_2,
67
.drv_name = "sof_sdw",
68
.sof_tplg_filename = "sof-cnl-rt5682-sdw2.tplg"
69
},
70
{
71
.link_mask = GENMASK(3, 0),
72
.links = sdw_mockup_headset_2amps_mic,
73
.drv_name = "sof_sdw",
74
.sof_tplg_filename = "sof-cml-rt711-rt1308-rt715.tplg",
75
},
76
{
77
.link_mask = BIT(0) | BIT(1) | BIT(3),
78
.links = sdw_mockup_headset_1amp_mic,
79
.drv_name = "sof_sdw",
80
.sof_tplg_filename = "sof-cml-rt711-rt1308-mono-rt715.tplg",
81
},
82
{}
83
};
84
EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_sdw_machines);
85
86