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 
13 static struct skl_machine_pdata cnl_pdata = {
14 	.use_tplg_pcm = true,
15 };
16 
17 struct 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 };
28 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines);
29 
30 static const struct snd_soc_acpi_endpoint single_endpoint = {
31 	.num = 0,
32 	.aggregated = 0,
33 	.group_position = 0,
34 	.group_id = 0,
35 };
36 
37 static const struct snd_soc_acpi_adr_device rt5682_2_adr[] = {
38 	{
39 		.adr = 0x000220025D568200ull,
40 		.num_endpoints = 1,
41 		.endpoints = &single_endpoint,
42 		.name_prefix = "rt5682"
43 	}
44 };
45 
46 static 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 
55 struct 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 };
65 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_sdw_machines);
66