1e149ca29SPierre-Louis Bossart // SPDX-License-Identifier: GPL-2.0-only
2cbaa7f0bSPierre-Louis Bossart /*
3e51b6980SChristophe JAILLET  * soc-acpi-intel-cnl-match.c - tables and support for CNL ACPI enumeration.
4cbaa7f0bSPierre-Louis Bossart  *
5cbaa7f0bSPierre-Louis Bossart  * Copyright (c) 2018, Intel Corporation.
6cbaa7f0bSPierre-Louis Bossart  *
7cbaa7f0bSPierre-Louis Bossart  */
8cbaa7f0bSPierre-Louis Bossart 
9cbaa7f0bSPierre-Louis Bossart #include <sound/soc-acpi.h>
10cbaa7f0bSPierre-Louis Bossart #include <sound/soc-acpi-intel-match.h>
11cbaa7f0bSPierre-Louis Bossart #include "../skylake/skl.h"
12cbaa7f0bSPierre-Louis Bossart 
13cbaa7f0bSPierre-Louis Bossart static struct skl_machine_pdata cnl_pdata = {
14cbaa7f0bSPierre-Louis Bossart 	.use_tplg_pcm = true,
15cbaa7f0bSPierre-Louis Bossart };
16cbaa7f0bSPierre-Louis Bossart 
17cbaa7f0bSPierre-Louis Bossart struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = {
18cbaa7f0bSPierre-Louis Bossart 	{
19cbaa7f0bSPierre-Louis Bossart 		.id = "INT34C2",
20cbaa7f0bSPierre-Louis Bossart 		.drv_name = "cnl_rt274",
21cbaa7f0bSPierre-Louis Bossart 		.fw_filename = "intel/dsp_fw_cnl.bin",
22cbaa7f0bSPierre-Louis Bossart 		.pdata = &cnl_pdata,
237466e749SPierre-Louis Bossart 		.sof_fw_filename = "sof-cnl.ri",
247466e749SPierre-Louis Bossart 		.sof_tplg_filename = "sof-cnl-rt274.tplg",
25cbaa7f0bSPierre-Louis Bossart 	},
26cbaa7f0bSPierre-Louis Bossart 	{},
27cbaa7f0bSPierre-Louis Bossart };
28cbaa7f0bSPierre-Louis Bossart EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines);
29cbaa7f0bSPierre-Louis Bossart 
306f7cf912SPierre-Louis Bossart static const struct snd_soc_acpi_endpoint single_endpoint = {
316f7cf912SPierre-Louis Bossart 	.num = 0,
326f7cf912SPierre-Louis Bossart 	.aggregated = 0,
336f7cf912SPierre-Louis Bossart 	.group_position = 0,
346f7cf912SPierre-Louis Bossart 	.group_id = 0,
356f7cf912SPierre-Louis Bossart };
366f7cf912SPierre-Louis Bossart 
376f7cf912SPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt5682_2_adr[] = {
386f7cf912SPierre-Louis Bossart 	{
396f7cf912SPierre-Louis Bossart 		.adr = 0x000220025D568200,
406f7cf912SPierre-Louis Bossart 		.num_endpoints = 1,
416f7cf912SPierre-Louis Bossart 		.endpoints = &single_endpoint,
426f7cf912SPierre-Louis Bossart 	}
436f7cf912SPierre-Louis Bossart };
446f7cf912SPierre-Louis Bossart 
456f7cf912SPierre-Louis Bossart static const struct snd_soc_acpi_link_adr up_extreme_rt5682_2[] = {
466f7cf912SPierre-Louis Bossart 	{
476f7cf912SPierre-Louis Bossart 		.mask = BIT(2),
486f7cf912SPierre-Louis Bossart 		.num_adr = ARRAY_SIZE(rt5682_2_adr),
496f7cf912SPierre-Louis Bossart 		.adr_d = rt5682_2_adr,
506f7cf912SPierre-Louis Bossart 	},
516f7cf912SPierre-Louis Bossart 	{}
526f7cf912SPierre-Louis Bossart };
536f7cf912SPierre-Louis Bossart 
54db0b9efbSRander Wang struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_sdw_machines[] = {
556f7cf912SPierre-Louis Bossart 	{
566f7cf912SPierre-Louis Bossart 		.link_mask = BIT(2),
576f7cf912SPierre-Louis Bossart 		.links = up_extreme_rt5682_2,
586f7cf912SPierre-Louis Bossart 		.drv_name = "sof_sdw",
596f7cf912SPierre-Louis Bossart 		.sof_fw_filename = "sof-cnl.ri",
606f7cf912SPierre-Louis Bossart 		.sof_tplg_filename = "sof-cnl-rt5682-sdw2.tplg"
616f7cf912SPierre-Louis Bossart 	},
626f7cf912SPierre-Louis Bossart 	{}
63db0b9efbSRander Wang };
64db0b9efbSRander Wang EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_sdw_machines);
65db0b9efbSRander Wang 
66cbaa7f0bSPierre-Louis Bossart MODULE_LICENSE("GPL v2");
67cbaa7f0bSPierre-Louis Bossart MODULE_DESCRIPTION("Intel Common ACPI Match module");
68