1 // SPDX-License-Identifier: GPL-2.0-only !! 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * soc-acpi-intel-cnl-match.c - tables and sup 3 * soc-acpi-intel-cnl-match.c - tables and support for CNL ACPI enumeration. 4 * 4 * 5 * Copyright (c) 2018, Intel Corporation. 5 * Copyright (c) 2018, 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 #include "soc-acpi-intel-sdw-mockup-match.h" !! 11 #include "../skylake/skl.h" 12 12 13 static const struct snd_soc_acpi_codecs essx_8 !! 13 static struct skl_machine_pdata cnl_pdata = { 14 .num_codecs = 3, !! 14 .use_tplg_pcm = true, 15 .codecs = { "ESSX8316", "ESSX8326", "E !! 15 }; >> 16 >> 17 static struct snd_soc_acpi_codecs cml_codecs = { >> 18 .num_codecs = 1, >> 19 .codecs = {"10EC5682"} >> 20 }; >> 21 >> 22 static struct snd_soc_acpi_codecs cml_spk_codecs = { >> 23 .num_codecs = 1, >> 24 .codecs = {"MX98357A"} 16 }; 25 }; 17 26 18 struct snd_soc_acpi_mach snd_soc_acpi_intel_cn 27 struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = { 19 { 28 { 20 .id = "INT34C2", 29 .id = "INT34C2", 21 .drv_name = "cnl_rt274", 30 .drv_name = "cnl_rt274", 22 .fw_filename = "intel/dsp_fw_c 31 .fw_filename = "intel/dsp_fw_cnl.bin", >> 32 .pdata = &cnl_pdata, >> 33 .sof_fw_filename = "sof-cnl.ri", 23 .sof_tplg_filename = "sof-cnl- 34 .sof_tplg_filename = "sof-cnl-rt274.tplg", 24 }, 35 }, 25 { 36 { 26 .comp_ids = &essx_83x6, !! 37 .id = "DLGS7219", 27 .drv_name = "sof-essx8336", !! 38 .drv_name = "cml_da7219_max98357a", 28 /* cnl and cml are identical * !! 39 .quirk_data = &cml_spk_codecs, 29 .sof_tplg_filename = "sof-cml- !! 40 .sof_fw_filename = "sof-cnl.ri", 30 .tplg_quirk_mask = SND_SOC_ACP !! 41 .sof_tplg_filename = "sof-cml-da7219-max98357a.tplg", 31 SND_SO !! 42 }, 32 SND_SO !! 43 { >> 44 .id = "MX98357A", >> 45 .drv_name = "sof_rt5682", >> 46 .quirk_data = &cml_codecs, >> 47 .sof_fw_filename = "sof-cnl.ri", >> 48 .sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg", >> 49 }, >> 50 { >> 51 .id = "10EC5682", >> 52 .drv_name = "sof_rt5682", >> 53 .sof_fw_filename = "sof-cnl.ri", >> 54 .sof_tplg_filename = "sof-cml-rt5682.tplg", 33 }, 55 }, >> 56 34 {}, 57 {}, 35 }; 58 }; 36 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machi 59 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines); 37 60 38 static const struct snd_soc_acpi_endpoint sing !! 61 MODULE_LICENSE("GPL v2"); 39 .num = 0, !! 62 MODULE_DESCRIPTION("Intel Common ACPI Match module"); 40 .aggregated = 0, << 41 .group_position = 0, << 42 .group_id = 0, << 43 }; << 44 << 45 static const struct snd_soc_acpi_adr_device rt << 46 { << 47 .adr = 0x000220025D568200ull, << 48 .num_endpoints = 1, << 49 .endpoints = &single_endpoint, << 50 .name_prefix = "rt5682" << 51 } << 52 }; << 53 << 54 static const struct snd_soc_acpi_link_adr up_e << 55 { << 56 .mask = BIT(2), << 57 .num_adr = ARRAY_SIZE(rt5682_2 << 58 .adr_d = rt5682_2_adr, << 59 }, << 60 {} << 61 }; << 62 << 63 struct snd_soc_acpi_mach snd_soc_acpi_intel_cn << 64 { << 65 .link_mask = BIT(2), << 66 .links = up_extreme_rt5682_2, << 67 .drv_name = "sof_sdw", << 68 .sof_tplg_filename = "sof-cnl- << 69 }, << 70 { << 71 .link_mask = GENMASK(3, 0), << 72 .links = sdw_mockup_headset_2a << 73 .drv_name = "sof_sdw", << 74 .sof_tplg_filename = "sof-cml- << 75 }, << 76 { << 77 .link_mask = BIT(0) | BIT(1) | << 78 .links = sdw_mockup_headset_1a << 79 .drv_name = "sof_sdw", << 80 .sof_tplg_filename = "sof-cml- << 81 }, << 82 {} << 83 }; << 84 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_sdw_m << 85 63
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.