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> 112694cda7SPierre-Louis Bossart #include "soc-acpi-intel-sdw-mockup-match.h" 12cbaa7f0bSPierre-Louis Bossart 13*b3d6a072SNikolai Kostrigin static const struct snd_soc_acpi_codecs essx_83x6 = { 14*b3d6a072SNikolai Kostrigin .num_codecs = 3, 15*b3d6a072SNikolai Kostrigin .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"}, 16*b3d6a072SNikolai Kostrigin }; 17*b3d6a072SNikolai Kostrigin 18cbaa7f0bSPierre-Louis Bossart struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = { 19cbaa7f0bSPierre-Louis Bossart { 20cbaa7f0bSPierre-Louis Bossart .id = "INT34C2", 21cbaa7f0bSPierre-Louis Bossart .drv_name = "cnl_rt274", 22cbaa7f0bSPierre-Louis Bossart .fw_filename = "intel/dsp_fw_cnl.bin", 237466e749SPierre-Louis Bossart .sof_tplg_filename = "sof-cnl-rt274.tplg", 24cbaa7f0bSPierre-Louis Bossart }, 25*b3d6a072SNikolai Kostrigin { 26*b3d6a072SNikolai Kostrigin .comp_ids = &essx_83x6, 27*b3d6a072SNikolai Kostrigin .drv_name = "sof-essx8336", 28*b3d6a072SNikolai Kostrigin /* cnl and cml are identical */ 29*b3d6a072SNikolai Kostrigin .sof_tplg_filename = "sof-cml-es8336", /* the tplg suffix is added at run time */ 30*b3d6a072SNikolai Kostrigin .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER | 31*b3d6a072SNikolai Kostrigin SND_SOC_ACPI_TPLG_INTEL_SSP_MSB | 32*b3d6a072SNikolai Kostrigin SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER, 33*b3d6a072SNikolai Kostrigin }, 34cbaa7f0bSPierre-Louis Bossart {}, 35cbaa7f0bSPierre-Louis Bossart }; 36cbaa7f0bSPierre-Louis Bossart EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines); 37cbaa7f0bSPierre-Louis Bossart 386f7cf912SPierre-Louis Bossart static const struct snd_soc_acpi_endpoint single_endpoint = { 396f7cf912SPierre-Louis Bossart .num = 0, 406f7cf912SPierre-Louis Bossart .aggregated = 0, 416f7cf912SPierre-Louis Bossart .group_position = 0, 426f7cf912SPierre-Louis Bossart .group_id = 0, 436f7cf912SPierre-Louis Bossart }; 446f7cf912SPierre-Louis Bossart 456f7cf912SPierre-Louis Bossart static const struct snd_soc_acpi_adr_device rt5682_2_adr[] = { 466f7cf912SPierre-Louis Bossart { 470c52d3e2SPierre-Louis Bossart .adr = 0x000220025D568200ull, 486f7cf912SPierre-Louis Bossart .num_endpoints = 1, 496f7cf912SPierre-Louis Bossart .endpoints = &single_endpoint, 50f9380830SPierre-Louis Bossart .name_prefix = "rt5682" 516f7cf912SPierre-Louis Bossart } 526f7cf912SPierre-Louis Bossart }; 536f7cf912SPierre-Louis Bossart 546f7cf912SPierre-Louis Bossart static const struct snd_soc_acpi_link_adr up_extreme_rt5682_2[] = { 556f7cf912SPierre-Louis Bossart { 566f7cf912SPierre-Louis Bossart .mask = BIT(2), 576f7cf912SPierre-Louis Bossart .num_adr = ARRAY_SIZE(rt5682_2_adr), 586f7cf912SPierre-Louis Bossart .adr_d = rt5682_2_adr, 596f7cf912SPierre-Louis Bossart }, 606f7cf912SPierre-Louis Bossart {} 616f7cf912SPierre-Louis Bossart }; 626f7cf912SPierre-Louis Bossart 63db0b9efbSRander Wang struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_sdw_machines[] = { 646f7cf912SPierre-Louis Bossart { 656f7cf912SPierre-Louis Bossart .link_mask = BIT(2), 666f7cf912SPierre-Louis Bossart .links = up_extreme_rt5682_2, 676f7cf912SPierre-Louis Bossart .drv_name = "sof_sdw", 686f7cf912SPierre-Louis Bossart .sof_tplg_filename = "sof-cnl-rt5682-sdw2.tplg" 696f7cf912SPierre-Louis Bossart }, 702694cda7SPierre-Louis Bossart { 712694cda7SPierre-Louis Bossart .link_mask = GENMASK(3, 0), 722694cda7SPierre-Louis Bossart .links = sdw_mockup_headset_2amps_mic, 732694cda7SPierre-Louis Bossart .drv_name = "sof_sdw", 742694cda7SPierre-Louis Bossart .sof_tplg_filename = "sof-cml-rt711-rt1308-rt715.tplg", 752694cda7SPierre-Louis Bossart }, 762694cda7SPierre-Louis Bossart { 772694cda7SPierre-Louis Bossart .link_mask = BIT(0) | BIT(1) | BIT(3), 782694cda7SPierre-Louis Bossart .links = sdw_mockup_headset_1amp_mic, 792694cda7SPierre-Louis Bossart .drv_name = "sof_sdw", 802694cda7SPierre-Louis Bossart .sof_tplg_filename = "sof-cml-rt711-rt1308-mono-rt715.tplg", 812694cda7SPierre-Louis Bossart }, 826f7cf912SPierre-Louis Bossart {} 83db0b9efbSRander Wang }; 84db0b9efbSRander Wang EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_sdw_machines); 85