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