1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * soc-acpi-intel-kbl-match.c - tables and support for KBL ACPI enumeration. 4 * 5 * Copyright (c) 2018, Intel Corporation. 6 * 7 */ 8 9 #include <sound/soc-acpi.h> 10 #include <sound/soc-acpi-intel-match.h> 11 #include "../skylake/skl.h" 12 13 static struct skl_machine_pdata skl_dmic_data; 14 15 static struct snd_soc_acpi_codecs kbl_codecs = { 16 .num_codecs = 1, 17 .codecs = {"10508825"} 18 }; 19 20 static struct snd_soc_acpi_codecs kbl_poppy_codecs = { 21 .num_codecs = 1, 22 .codecs = {"10EC5663"} 23 }; 24 25 static struct snd_soc_acpi_codecs kbl_5663_5514_codecs = { 26 .num_codecs = 2, 27 .codecs = {"10EC5663", "10EC5514"} 28 }; 29 30 static struct snd_soc_acpi_codecs kbl_7219_98357_codecs = { 31 .num_codecs = 1, 32 .codecs = {"MX98357A"} 33 }; 34 35 static struct snd_soc_acpi_codecs kbl_7219_98927_codecs = { 36 .num_codecs = 1, 37 .codecs = {"MX98927"} 38 }; 39 40 static struct snd_soc_acpi_codecs kbl_7219_98373_codecs = { 41 .num_codecs = 1, 42 .codecs = {"MX98373"} 43 }; 44 45 struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[] = { 46 { 47 .id = "INT343A", 48 .drv_name = "kbl_alc286s_i2s", 49 .fw_filename = "intel/dsp_fw_kbl.bin", 50 }, 51 { 52 .id = "INT343B", 53 .drv_name = "kbl_n88l25_s4567", 54 .fw_filename = "intel/dsp_fw_kbl.bin", 55 .machine_quirk = snd_soc_acpi_codec_list, 56 .quirk_data = &kbl_codecs, 57 .pdata = &skl_dmic_data, 58 }, 59 { 60 .id = "MX98357A", 61 .drv_name = "kbl_n88l25_m98357a", 62 .fw_filename = "intel/dsp_fw_kbl.bin", 63 .machine_quirk = snd_soc_acpi_codec_list, 64 .quirk_data = &kbl_codecs, 65 .pdata = &skl_dmic_data, 66 }, 67 { 68 .id = "MX98927", 69 .drv_name = "kbl_r5514_5663_max", 70 .fw_filename = "intel/dsp_fw_kbl.bin", 71 .machine_quirk = snd_soc_acpi_codec_list, 72 .quirk_data = &kbl_5663_5514_codecs, 73 .pdata = &skl_dmic_data, 74 }, 75 { 76 .id = "MX98927", 77 .drv_name = "kbl_rt5663_m98927", 78 .fw_filename = "intel/dsp_fw_kbl.bin", 79 .machine_quirk = snd_soc_acpi_codec_list, 80 .quirk_data = &kbl_poppy_codecs, 81 .pdata = &skl_dmic_data, 82 }, 83 { 84 .id = "10EC5663", 85 .drv_name = "kbl_rt5663", 86 .fw_filename = "intel/dsp_fw_kbl.bin", 87 }, 88 { 89 .id = "DLGS7219", 90 .drv_name = "kbl_da7219_max98357a", 91 .fw_filename = "intel/dsp_fw_kbl.bin", 92 .machine_quirk = snd_soc_acpi_codec_list, 93 .quirk_data = &kbl_7219_98357_codecs, 94 .pdata = &skl_dmic_data, 95 }, 96 { 97 .id = "DLGS7219", 98 .drv_name = "kbl_da7219_max98927", 99 .fw_filename = "intel/dsp_fw_kbl.bin", 100 .machine_quirk = snd_soc_acpi_codec_list, 101 .quirk_data = &kbl_7219_98927_codecs, 102 .pdata = &skl_dmic_data 103 }, 104 { 105 .id = "10EC5660", 106 .drv_name = "kbl_rt5660", 107 .fw_filename = "intel/dsp_fw_kbl.bin", 108 }, 109 { 110 .id = "10EC3277", 111 .drv_name = "kbl_rt5660", 112 .fw_filename = "intel/dsp_fw_kbl.bin", 113 }, 114 { 115 .id = "DLGS7219", 116 .drv_name = "kbl_da7219_mx98373", 117 .fw_filename = "intel/dsp_fw_kbl.bin", 118 .machine_quirk = snd_soc_acpi_codec_list, 119 .quirk_data = &kbl_7219_98373_codecs, 120 .pdata = &skl_dmic_data 121 }, 122 { 123 .id = "MX98373", 124 .drv_name = "kbl_max98373", 125 .fw_filename = "intel/dsp_fw_kbl.bin", 126 .pdata = &skl_dmic_data 127 }, 128 {}, 129 }; 130 EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_kbl_machines); 131 132 MODULE_LICENSE("GPL v2"); 133 MODULE_DESCRIPTION("Intel Common ACPI Match module"); 134