Add PCI IDs for Intel CometLake platforms, which from a software point of view are extremely similar to Cannonlake platforms.
Signed-off-by: Evan Green evgreen@chromium.org ---
Changes in v2: - Add 0x06c8 for CML-H (Pierre-Louis)
sound/soc/intel/Kconfig | 18 ++++++++++++++++++ sound/soc/intel/skylake/skl-messages.c | 16 ++++++++++++++++ sound/soc/intel/skylake/skl.c | 10 ++++++++++ 3 files changed, 44 insertions(+)
diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig index fc1396adde71..1ebac54b7081 100644 --- a/sound/soc/intel/Kconfig +++ b/sound/soc/intel/Kconfig @@ -110,6 +110,8 @@ config SND_SOC_INTEL_SKYLAKE select SND_SOC_INTEL_GLK select SND_SOC_INTEL_CNL select SND_SOC_INTEL_CFL + select SND_SOC_INTEL_CML_H + select SND_SOC_INTEL_CML_LP help This is a backwards-compatible option to select all devices supported by the Intel SST/Skylake driver. This option is no @@ -165,6 +167,22 @@ config SND_SOC_INTEL_CFL If you have a Intel CoffeeLake platform with the DSP enabled in the BIOS then enable this option by saying Y or m.
+config SND_SOC_INTEL_CML_H + tristate "CometLake-H Platforms" + depends on PCI && ACPI + select SND_SOC_INTEL_SKYLAKE_FAMILY + help + If you have a Intel CometLake-H platform with the DSP + enabled in the BIOS then enable this option by saying Y or m. + +config SND_SOC_INTEL_CML_LP + tristate "CometLake-LP Platforms" + depends on PCI && ACPI + select SND_SOC_INTEL_SKYLAKE_FAMILY + help + If you have a Intel CometLake-LP platform with the DSP + enabled in the BIOS then enable this option by saying Y or m. + config SND_SOC_INTEL_SKYLAKE_FAMILY tristate select SND_SOC_INTEL_SKYLAKE_COMMON diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c index 4bf70b4429f0..df01dc952521 100644 --- a/sound/soc/intel/skylake/skl-messages.c +++ b/sound/soc/intel/skylake/skl-messages.c @@ -255,6 +255,22 @@ static const struct skl_dsp_ops dsp_ops[] = { .init_fw = cnl_sst_init_fw, .cleanup = cnl_sst_dsp_cleanup }, + { + .id = 0x02c8, + .num_cores = 4, + .loader_ops = bxt_get_loader_ops, + .init = cnl_sst_dsp_init, + .init_fw = cnl_sst_init_fw, + .cleanup = cnl_sst_dsp_cleanup + }, + { + .id = 0x06c8, + .num_cores = 4, + .loader_ops = bxt_get_loader_ops, + .init = cnl_sst_dsp_init, + .init_fw = cnl_sst_init_fw, + .cleanup = cnl_sst_dsp_cleanup + }, };
const struct skl_dsp_ops *skl_get_dsp_ops(int pci_id) diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c index 4ed5b7e17d44..f864f7b3df3a 100644 --- a/sound/soc/intel/skylake/skl.c +++ b/sound/soc/intel/skylake/skl.c @@ -1166,6 +1166,16 @@ static const struct pci_device_id skl_ids[] = { /* CFL */ { PCI_DEVICE(0x8086, 0xa348), .driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines}, +#endif +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_LP) + /* CML-LP */ + { PCI_DEVICE(0x8086, 0x02c8), + .driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines}, +#endif +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_H) + /* CML-H */ + { PCI_DEVICE(0x8086, 0x06c8), + .driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines}, #endif { 0, } };