1*bf10d002SPierre-Louis Bossart // SPDX-License-Identifier: GPL-2.0-only 2*bf10d002SPierre-Louis Bossart /* 3*bf10d002SPierre-Louis Bossart * soc-acpi-intel-lnl-match.c - tables and support for LNL ACPI enumeration. 4*bf10d002SPierre-Louis Bossart * 5*bf10d002SPierre-Louis Bossart * Copyright (c) 2023, Intel Corporation. All rights reserved. 6*bf10d002SPierre-Louis Bossart * 7*bf10d002SPierre-Louis Bossart */ 8*bf10d002SPierre-Louis Bossart 9*bf10d002SPierre-Louis Bossart #include <sound/soc-acpi.h> 10*bf10d002SPierre-Louis Bossart #include <sound/soc-acpi-intel-match.h> 11*bf10d002SPierre-Louis Bossart #include "soc-acpi-intel-sdw-mockup-match.h" 12*bf10d002SPierre-Louis Bossart 13*bf10d002SPierre-Louis Bossart struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_machines[] = { 14*bf10d002SPierre-Louis Bossart {}, 15*bf10d002SPierre-Louis Bossart }; 16*bf10d002SPierre-Louis Bossart EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_lnl_machines); 17*bf10d002SPierre-Louis Bossart 18*bf10d002SPierre-Louis Bossart static const struct snd_soc_acpi_endpoint single_endpoint = { 19*bf10d002SPierre-Louis Bossart .num = 0, 20*bf10d002SPierre-Louis Bossart .aggregated = 0, 21*bf10d002SPierre-Louis Bossart .group_position = 0, 22*bf10d002SPierre-Louis Bossart .group_id = 0, 23*bf10d002SPierre-Louis Bossart }; 24*bf10d002SPierre-Louis Bossart 25*bf10d002SPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt711_sdca_0_adr[] = { 26*bf10d002SPierre-Louis Bossart { 27*bf10d002SPierre-Louis Bossart .adr = 0x000030025D071101ull, 28*bf10d002SPierre-Louis Bossart .num_endpoints = 1, 29*bf10d002SPierre-Louis Bossart .endpoints = &single_endpoint, 30*bf10d002SPierre-Louis Bossart .name_prefix = "rt711" 31*bf10d002SPierre-Louis Bossart } 32*bf10d002SPierre-Louis Bossart }; 33*bf10d002SPierre-Louis Bossart 34*bf10d002SPierre-Louis Bossart static const struct snd_soc_acpi_link_adr lnl_rvp[] = { 35*bf10d002SPierre-Louis Bossart { 36*bf10d002SPierre-Louis Bossart .mask = BIT(0), 37*bf10d002SPierre-Louis Bossart .num_adr = ARRAY_SIZE(rt711_sdca_0_adr), 38*bf10d002SPierre-Louis Bossart .adr_d = rt711_sdca_0_adr, 39*bf10d002SPierre-Louis Bossart }, 40*bf10d002SPierre-Louis Bossart {} 41*bf10d002SPierre-Louis Bossart }; 42*bf10d002SPierre-Louis Bossart 43*bf10d002SPierre-Louis Bossart /* this table is used when there is no I2S codec present */ 44*bf10d002SPierre-Louis Bossart struct snd_soc_acpi_mach snd_soc_acpi_intel_lnl_sdw_machines[] = { 45*bf10d002SPierre-Louis Bossart /* mockup tests need to be first */ 46*bf10d002SPierre-Louis Bossart { 47*bf10d002SPierre-Louis Bossart .link_mask = GENMASK(3, 0), 48*bf10d002SPierre-Louis Bossart .links = sdw_mockup_headset_2amps_mic, 49*bf10d002SPierre-Louis Bossart .drv_name = "sof_sdw", 50*bf10d002SPierre-Louis Bossart .sof_tplg_filename = "sof-lnl-rt711-rt1308-rt715.tplg", 51*bf10d002SPierre-Louis Bossart }, 52*bf10d002SPierre-Louis Bossart { 53*bf10d002SPierre-Louis Bossart .link_mask = BIT(0) | BIT(1) | BIT(3), 54*bf10d002SPierre-Louis Bossart .links = sdw_mockup_headset_1amp_mic, 55*bf10d002SPierre-Louis Bossart .drv_name = "sof_sdw", 56*bf10d002SPierre-Louis Bossart .sof_tplg_filename = "sof-lnl-rt711-rt1308-mono-rt715.tplg", 57*bf10d002SPierre-Louis Bossart }, 58*bf10d002SPierre-Louis Bossart { 59*bf10d002SPierre-Louis Bossart .link_mask = GENMASK(2, 0), 60*bf10d002SPierre-Louis Bossart .links = sdw_mockup_mic_headset_1amp, 61*bf10d002SPierre-Louis Bossart .drv_name = "sof_sdw", 62*bf10d002SPierre-Louis Bossart .sof_tplg_filename = "sof-lnl-rt715-rt711-rt1308-mono.tplg", 63*bf10d002SPierre-Louis Bossart }, 64*bf10d002SPierre-Louis Bossart { 65*bf10d002SPierre-Louis Bossart .link_mask = BIT(0), 66*bf10d002SPierre-Louis Bossart .links = lnl_rvp, 67*bf10d002SPierre-Louis Bossart .drv_name = "sof_sdw", 68*bf10d002SPierre-Louis Bossart .sof_tplg_filename = "sof-lnl-rt711.tplg", 69*bf10d002SPierre-Louis Bossart }, 70*bf10d002SPierre-Louis Bossart {}, 71*bf10d002SPierre-Louis Bossart }; 72*bf10d002SPierre-Louis Bossart EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_lnl_sdw_machines); 73