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