extern struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[];
 extern struct snd_soc_acpi_mach snd_soc_acpi_intel_glk_machines[];
 extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[];
+extern struct snd_soc_acpi_mach snd_soc_acpi_intel_icl_machines[];
 
 /*
  * generic table used for HDA codec-based platforms, possibly with
 
        soc-acpi-intel-hsw-bdw-match.o \
        soc-acpi-intel-skl-match.o soc-acpi-intel-kbl-match.o \
        soc-acpi-intel-bxt-match.o soc-acpi-intel-glk-match.o \
-       soc-acpi-intel-cnl-match.o \
+       soc-acpi-intel-cnl-match.o soc-acpi-intel-icl-match.o \
        soc-acpi-intel-hda-match.o
 
 obj-$(CONFIG_SND_SOC_INTEL_SST) += snd-soc-sst-dsp.o snd-soc-sst-ipc.o
 
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * soc-apci-intel-icl-match.c - tables and support for ICL ACPI enumeration.
+ *
+ * Copyright (c) 2018, Intel Corporation.
+ *
+ */
+
+#include <sound/soc-acpi.h>
+#include <sound/soc-acpi-intel-match.h>
+#include "../skylake/skl.h"
+
+static struct skl_machine_pdata icl_pdata = {
+       .use_tplg_pcm = true,
+};
+
+struct snd_soc_acpi_mach snd_soc_acpi_intel_icl_machines[] = {
+       {
+               .id = "INT34C2",
+               .drv_name = "icl_rt274",
+               .fw_filename = "intel/dsp_fw_icl.bin",
+               .pdata = &icl_pdata,
+               .sof_fw_filename = "intel/sof-icl.ri",
+               .sof_tplg_filename = "intel/sof-icl-rt274.tplg",
+               .asoc_plat_name = "0000:00:1f.3",
+       },
+       {},
+};
+EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_icl_machines);
+
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("Intel Common ACPI Match module");