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