#include "internal.h"
 
+static struct dw_dma_platform_data mrfld_pdata = {
+       .nr_channels = 8,
+       .is_private = true,
+       .is_memcpy = true,
+       .is_idma32 = true,
+       .chan_allocation_order = CHAN_ALLOCATION_ASCENDING,
+       .chan_priority = CHAN_PRIORITY_ASCENDING,
+       .block_size = 131071,
+       .nr_masters = 1,
+       .data_width = {4},
+};
+
 static int dw_pci_probe(struct pci_dev *pdev, const struct pci_device_id *pid)
 {
        const struct dw_dma_platform_data *pdata = (void *)pid->driver_data;
        { PCI_VDEVICE(INTEL, 0x0f06) },
        { PCI_VDEVICE(INTEL, 0x0f40) },
 
+       /* Merrifield iDMA 32-bit (GPDMA) */
+       { PCI_VDEVICE(INTEL, 0x11a2), (kernel_ulong_t)&mrfld_pdata },
+
        /* Braswell */
        { PCI_VDEVICE(INTEL, 0x2286) },
        { PCI_VDEVICE(INTEL, 0x22c0) },