cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

soc-acpi-intel-bxt-match.c (2188B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * soc-acpi-intel-bxt-match.c - tables and support for BXT ACPI enumeration.
      4 *
      5 * Copyright (c) 2018, Intel Corporation.
      6 *
      7 */
      8
      9#include <linux/dmi.h>
     10#include <sound/soc-acpi.h>
     11#include <sound/soc-acpi-intel-match.h>
     12
     13enum {
     14	APL_RVP,
     15};
     16
     17static const struct dmi_system_id apl_table[] = {
     18	{
     19		.matches = {
     20			DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."),
     21			DMI_MATCH(DMI_BOARD_NAME, "Apollolake RVP1A"),
     22		},
     23		.driver_data = (void *)(APL_RVP),
     24	},
     25	{}
     26};
     27
     28static struct snd_soc_acpi_mach *apl_quirk(void *arg)
     29{
     30	struct snd_soc_acpi_mach *mach = arg;
     31	const struct dmi_system_id *dmi_id;
     32	unsigned long apl_machine_id;
     33
     34	dmi_id = dmi_first_match(apl_table);
     35	if (dmi_id) {
     36		apl_machine_id = (unsigned long)dmi_id->driver_data;
     37		if (apl_machine_id == APL_RVP)
     38			return NULL;
     39	}
     40
     41	return mach;
     42}
     43
     44static const struct snd_soc_acpi_codecs essx_83x6 = {
     45	.num_codecs = 3,
     46	.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
     47};
     48
     49static const struct snd_soc_acpi_codecs bxt_codecs = {
     50	.num_codecs = 1,
     51	.codecs = {"MX98357A"}
     52};
     53
     54struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[] = {
     55	{
     56		.id = "INT343A",
     57		.drv_name = "bxt_alc298s_i2s",
     58		.fw_filename = "intel/dsp_fw_bxtn.bin",
     59		.sof_tplg_filename = "sof-apl-rt298.tplg",
     60	},
     61	{
     62		.id = "DLGS7219",
     63		.drv_name = "bxt_da7219_mx98357a",
     64		.fw_filename = "intel/dsp_fw_bxtn.bin",
     65		.machine_quirk = snd_soc_acpi_codec_list,
     66		.quirk_data = &bxt_codecs,
     67		.sof_tplg_filename = "sof-apl-da7219.tplg",
     68	},
     69	{
     70		.id = "104C5122",
     71		.drv_name = "sof_pcm512x",
     72		.sof_tplg_filename = "sof-apl-pcm512x.tplg",
     73	},
     74	{
     75		.id = "1AEC8804",
     76		.drv_name = "sof-wm8804",
     77		.sof_tplg_filename = "sof-apl-wm8804.tplg",
     78	},
     79	{
     80		.id = "INT34C3",
     81		.drv_name = "bxt_tdf8532",
     82		.machine_quirk = apl_quirk,
     83		.sof_tplg_filename = "sof-apl-tdf8532.tplg",
     84	},
     85	{
     86		.comp_ids = &essx_83x6,
     87		.drv_name = "sof-essx8336",
     88		.sof_tplg_filename = "sof-apl-es8336", /* the tplg suffix is added at run time */
     89		.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
     90					SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
     91					SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
     92	},
     93	{},
     94};
     95EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_bxt_machines);