Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * soc-apci-intel-jsl-match.c - tables and support for JSL ACPI enumeration.
0004  *
0005  * Copyright (c) 2019-2020, Intel Corporation.
0006  *
0007  */
0008 
0009 #include <sound/soc-acpi.h>
0010 #include <sound/soc-acpi-intel-match.h>
0011 
0012 static const struct snd_soc_acpi_codecs essx_83x6 = {
0013     .num_codecs = 3,
0014     .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
0015 };
0016 
0017 static const struct snd_soc_acpi_codecs jsl_7219_98373_codecs = {
0018     .num_codecs = 1,
0019     .codecs = {"MX98373"}
0020 };
0021 
0022 static const struct snd_soc_acpi_codecs rt1015_spk = {
0023     .num_codecs = 1,
0024     .codecs = {"10EC1015"}
0025 };
0026 
0027 static const struct snd_soc_acpi_codecs rt1015p_spk = {
0028     .num_codecs = 1,
0029     .codecs = {"RTL1015"}
0030 };
0031 
0032 static const struct snd_soc_acpi_codecs mx98360a_spk = {
0033     .num_codecs = 1,
0034     .codecs = {"MX98360A"}
0035 };
0036 
0037 static const struct snd_soc_acpi_codecs rt5682_rt5682s_hp = {
0038     .num_codecs = 2,
0039     .codecs = {"10EC5682", "RTL5682"},
0040 };
0041 
0042 /*
0043  * When adding new entry to the snd_soc_acpi_intel_jsl_machines array,
0044  * use .quirk_data member to distinguish different machine driver,
0045  * and keep ACPI .id field unchanged for the common codec.
0046  */
0047 struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[] = {
0048     {
0049         .id = "DLGS7219",
0050         .drv_name = "sof_da7219_mx98373",
0051         .sof_tplg_filename = "sof-jsl-da7219.tplg",
0052         .machine_quirk = snd_soc_acpi_codec_list,
0053         .quirk_data = &jsl_7219_98373_codecs,
0054     },
0055     {
0056         .id = "DLGS7219",
0057         .drv_name = "sof_da7219_mx98360a",
0058         .sof_tplg_filename = "sof-jsl-da7219-mx98360a.tplg",
0059     },
0060     {
0061         .comp_ids = &rt5682_rt5682s_hp,
0062         .drv_name = "jsl_rt5682_rt1015",
0063         .machine_quirk = snd_soc_acpi_codec_list,
0064         .quirk_data = &rt1015_spk,
0065         .sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
0066     },
0067     {
0068         .comp_ids = &rt5682_rt5682s_hp,
0069         .drv_name = "jsl_rt5682_rt1015p",
0070         .machine_quirk = snd_soc_acpi_codec_list,
0071         .quirk_data = &rt1015p_spk,
0072         .sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
0073     },
0074     {
0075         .comp_ids = &rt5682_rt5682s_hp,
0076         .drv_name = "jsl_rt5682_mx98360",
0077         .machine_quirk = snd_soc_acpi_codec_list,
0078         .quirk_data = &mx98360a_spk,
0079         .sof_tplg_filename = "sof-jsl-rt5682-mx98360a.tplg",
0080     },
0081     {
0082         .id = "10134242",
0083         .drv_name = "jsl_cs4242_mx98360a",
0084         .machine_quirk = snd_soc_acpi_codec_list,
0085         .quirk_data = &mx98360a_spk,
0086         .sof_tplg_filename = "sof-jsl-cs42l42-mx98360a.tplg",
0087     },
0088     {
0089         .comp_ids = &essx_83x6,
0090         .drv_name = "sof-essx8336",
0091         .sof_tplg_filename = "sof-jsl-es8336", /* the tplg suffix is added at run time */
0092         .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
0093                     SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
0094                     SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
0095     },
0096     {},
0097 };
0098 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_jsl_machines);