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 "../skylake/skl.h"
12
13static struct skl_machine_pdata cnl_pdata = {
14	.use_tplg_pcm = true,
15};
16
17struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = {
18	{
19		.id = "INT34C2",
20		.drv_name = "cnl_rt274",
21		.fw_filename = "intel/dsp_fw_cnl.bin",
22		.pdata = &cnl_pdata,
23		.sof_fw_filename = "sof-cnl.ri",
24		.sof_tplg_filename = "sof-cnl-rt274.tplg",
25	},
26	{},
27};
28EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines);
29
30static const struct snd_soc_acpi_endpoint single_endpoint = {
31	.num = 0,
32	.aggregated = 0,
33	.group_position = 0,
34	.group_id = 0,
35};
36
37static const struct snd_soc_acpi_adr_device rt5682_2_adr[] = {
38	{
39		.adr = 0x000220025D568200,
40		.num_endpoints = 1,
41		.endpoints = &single_endpoint,
42		.name_prefix = "rt5682"
43	}
44};
45
46static const struct snd_soc_acpi_link_adr up_extreme_rt5682_2[] = {
47	{
48		.mask = BIT(2),
49		.num_adr = ARRAY_SIZE(rt5682_2_adr),
50		.adr_d = rt5682_2_adr,
51	},
52	{}
53};
54
55struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_sdw_machines[] = {
56	{
57		.link_mask = BIT(2),
58		.links = up_extreme_rt5682_2,
59		.drv_name = "sof_sdw",
60		.sof_fw_filename = "sof-cnl.ri",
61		.sof_tplg_filename = "sof-cnl-rt5682-sdw2.tplg"
62	},
63	{}
64};
65EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_sdw_machines);
66
67MODULE_LICENSE("GPL v2");
68MODULE_DESCRIPTION("Intel Common ACPI Match module");
69