1*4c8a4cabSKai Vehmanen // SPDX-License-Identifier: GPL-2.0-only
2*4c8a4cabSKai Vehmanen /*
3*4c8a4cabSKai Vehmanen  * soc-apci-intel-adl-match.c - tables and support for ADL ACPI enumeration.
4*4c8a4cabSKai Vehmanen  *
5*4c8a4cabSKai Vehmanen  * Copyright (c) 2020, Intel Corporation.
6*4c8a4cabSKai Vehmanen  */
7*4c8a4cabSKai Vehmanen 
8*4c8a4cabSKai Vehmanen #include <sound/soc-acpi.h>
9*4c8a4cabSKai Vehmanen #include <sound/soc-acpi-intel-match.h>
10*4c8a4cabSKai Vehmanen 
11*4c8a4cabSKai Vehmanen static const struct snd_soc_acpi_endpoint single_endpoint = {
12*4c8a4cabSKai Vehmanen 	.num = 0,
13*4c8a4cabSKai Vehmanen 	.aggregated = 0,
14*4c8a4cabSKai Vehmanen 	.group_position = 0,
15*4c8a4cabSKai Vehmanen 	.group_id = 0,
16*4c8a4cabSKai Vehmanen };
17*4c8a4cabSKai Vehmanen 
18*4c8a4cabSKai Vehmanen static const struct snd_soc_acpi_adr_device rt711_0_adr[] = {
19*4c8a4cabSKai Vehmanen 	{
20*4c8a4cabSKai Vehmanen 		.adr = 0x000020025D071100,
21*4c8a4cabSKai Vehmanen 		.num_endpoints = 1,
22*4c8a4cabSKai Vehmanen 		.endpoints = &single_endpoint,
23*4c8a4cabSKai Vehmanen 		.name_prefix = "rt711"
24*4c8a4cabSKai Vehmanen 	}
25*4c8a4cabSKai Vehmanen };
26*4c8a4cabSKai Vehmanen 
27*4c8a4cabSKai Vehmanen static const struct snd_soc_acpi_link_adr adl_rvp[] = {
28*4c8a4cabSKai Vehmanen 	{
29*4c8a4cabSKai Vehmanen 		.mask = BIT(0),
30*4c8a4cabSKai Vehmanen 		.num_adr = ARRAY_SIZE(rt711_0_adr),
31*4c8a4cabSKai Vehmanen 		.adr_d = rt711_0_adr,
32*4c8a4cabSKai Vehmanen 	},
33*4c8a4cabSKai Vehmanen 	{}
34*4c8a4cabSKai Vehmanen };
35*4c8a4cabSKai Vehmanen 
36*4c8a4cabSKai Vehmanen struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[] = {
37*4c8a4cabSKai Vehmanen 	{},
38*4c8a4cabSKai Vehmanen };
39*4c8a4cabSKai Vehmanen EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_machines);
40*4c8a4cabSKai Vehmanen 
41*4c8a4cabSKai Vehmanen /* this table is used when there is no I2S codec present */
42*4c8a4cabSKai Vehmanen struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_sdw_machines[] = {
43*4c8a4cabSKai Vehmanen 	{
44*4c8a4cabSKai Vehmanen 		.link_mask = 0x1, /* link0 required */
45*4c8a4cabSKai Vehmanen 		.links = adl_rvp,
46*4c8a4cabSKai Vehmanen 		.drv_name = "sof_sdw",
47*4c8a4cabSKai Vehmanen 		.sof_fw_filename = "sof-adl.ri",
48*4c8a4cabSKai Vehmanen 		.sof_tplg_filename = "sof-adl-rt711.tplg",
49*4c8a4cabSKai Vehmanen 	},
50*4c8a4cabSKai Vehmanen 	{},
51*4c8a4cabSKai Vehmanen };
52*4c8a4cabSKai Vehmanen EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_adl_sdw_machines);
53