File Index
Files and directories
Sign in
FILE

soc-acpi-intel-jsl-match.c

File preview with syntax highlighting.

linux-6.19.14/sound/soc/intel/common/soc-acpi-intel-jsl-match.c C
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * soc-apci-intel-jsl-match.c - tables and support for JSL ACPI enumeration.
  4 *
  5 * Copyright (c) 2019-2020, Intel Corporation.
  6 *
  7 */
  8
  9#include <sound/soc-acpi.h>
 10#include <sound/soc-acpi-intel-match.h>
 11
 12static const struct snd_soc_acpi_codecs essx_83x6 = {
 13	.num_codecs = 3,
 14	.codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
 15};
 16
 17static const struct snd_soc_acpi_codecs mx98373_spk = {
 18	.num_codecs = 1,
 19	.codecs = {"MX98373"}
 20};
 21
 22static const struct snd_soc_acpi_codecs rt1015_spk = {
 23	.num_codecs = 1,
 24	.codecs = {"10EC1015"}
 25};
 26
 27static const struct snd_soc_acpi_codecs rt1015p_spk = {
 28	.num_codecs = 1,
 29	.codecs = {"RTL1015"}
 30};
 31
 32static const struct snd_soc_acpi_codecs mx98360a_spk = {
 33	.num_codecs = 1,
 34	.codecs = {"MX98360A"}
 35};
 36
 37static struct snd_soc_acpi_codecs rt5650_spk = {
 38	.num_codecs = 1,
 39	.codecs = {"10EC5650"}
 40};
 41
 42static const struct snd_soc_acpi_codecs rt5682_rt5682s_hp = {
 43	.num_codecs = 2,
 44	.codecs = {"10EC5682", "RTL5682"},
 45};
 46
 47/*
 48 * When adding new entry to the snd_soc_acpi_intel_jsl_machines array,
 49 * use .quirk_data member to distinguish different machine driver,
 50 * and keep ACPI .id field unchanged for the common codec.
 51 */
 52struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[] = {
 53	{
 54		.id = "DLGS7219",
 55		.drv_name = "jsl_da7219_def",
 56		.machine_quirk = snd_soc_acpi_codec_list,
 57		.quirk_data = &mx98373_spk,
 58		.sof_tplg_filename = "sof-jsl-da7219.tplg",
 59	},
 60	{
 61		.id = "DLGS7219",
 62		.drv_name = "jsl_da7219_def",
 63		.machine_quirk = snd_soc_acpi_codec_list,
 64		.quirk_data = &mx98360a_spk,
 65		.sof_tplg_filename = "sof-jsl-da7219-mx98360a.tplg",
 66	},
 67	{
 68		.comp_ids = &rt5682_rt5682s_hp,
 69		.drv_name = "jsl_rt5682_def",
 70		.machine_quirk = snd_soc_acpi_codec_list,
 71		.quirk_data = &rt1015_spk,
 72		.sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
 73	},
 74	{
 75		.comp_ids = &rt5682_rt5682s_hp,
 76		.drv_name = "jsl_rt5682_def",
 77		.machine_quirk = snd_soc_acpi_codec_list,
 78		.quirk_data = &rt1015p_spk,
 79		.sof_tplg_filename = "sof-jsl-rt5682-rt1015.tplg",
 80	},
 81	{
 82		.comp_ids = &rt5682_rt5682s_hp,
 83		.drv_name = "jsl_rt5682_def",
 84		.machine_quirk = snd_soc_acpi_codec_list,
 85		.quirk_data = &mx98360a_spk,
 86		.sof_tplg_filename = "sof-jsl-rt5682-mx98360a.tplg",
 87	},
 88	{
 89		.comp_ids = &rt5682_rt5682s_hp,
 90		.drv_name = "jsl_rt5682_def",
 91		.sof_tplg_filename = "sof-jsl-rt5682.tplg",
 92	},
 93	{
 94		.id = "10134242",
 95		.drv_name = "jsl_cs4242_mx98360a",
 96		.machine_quirk = snd_soc_acpi_codec_list,
 97		.quirk_data = &mx98360a_spk,
 98		.sof_tplg_filename = "sof-jsl-cs42l42-mx98360a.tplg",
 99	},
100	{
101		.comp_ids = &essx_83x6,
102		.drv_name = "sof-essx8336",
103		.sof_tplg_filename = "sof-jsl-es8336", /* the tplg suffix is added at run time */
104		.tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
105					SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
106					SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
107	},
108	{
109		.id = "10EC5650",
110		.drv_name = "jsl_rt5682_def",
111		.machine_quirk = snd_soc_acpi_codec_list,
112		.quirk_data = &rt5650_spk,
113		.sof_tplg_filename = "sof-jsl-rt5650.tplg",
114	},
115	{},
116};
117EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_jsl_machines);
~/ Read-only file preview.