diff --git a/include/ethosu_device.h b/include/ethosu_device.h
index d9c233d..35f7924 100644
--- a/include/ethosu_device.h
+++ b/include/ethosu_device.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2021 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -87,6 +87,7 @@
         uint32_t macs_per_cc;        ///< MACs per clock cycle
         uint32_t cmd_stream_version; ///< NPU command stream version
         uint32_t shram_size;         ///< SHRAM size
+        uint32_t custom_dma;         ///< Custom DMA enabled
     };
 };
 
diff --git a/include/ethosu_driver.h b/include/ethosu_driver.h
index 4089932..96822e0 100644
--- a/include/ethosu_driver.h
+++ b/include/ethosu_driver.h
@@ -75,6 +75,7 @@
     uint8_t macs_per_cc;
     uint8_t cmd_stream_version;
     uint8_t shram_size;
+    uint8_t custom_dma;
 };
 
 struct ethosu_version
diff --git a/src/ethosu55_interface.h b/src/ethosu55_interface.h
index b6834a8..0d1ee6c 100644
--- a/src/ethosu55_interface.h
+++ b/src/ethosu55_interface.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2021 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -2254,8 +2254,9 @@
                                              // MACs/clock cycle.
             uint32_t cmd_stream_version : 4; // command stream version accepted by this NPU.
             uint32_t shram_size : 8;         // Size in KB of SHRAM in the range 8 to 48.
-            uint32_t reserved0 : 12;
-            uint32_t product : 4; // Product configuration
+            uint32_t reserved0 : 11;
+            uint32_t custom_dma : 1; // Custom DMA enable bit.
+            uint32_t product : 4;    // Product configuration
         };
         uint32_t word;
     };
diff --git a/src/ethosu_device.c b/src/ethosu_device.c
index f8250bc..1667325 100644
--- a/src/ethosu_device.c
+++ b/src/ethosu_device.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019-2020 Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2021 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -91,6 +91,7 @@
     config->macs_per_cc        = cfg.macs_per_cc;
     config->cmd_stream_version = cfg.cmd_stream_version;
     config->shram_size         = cfg.shram_size;
+    config->custom_dma         = cfg.custom_dma;
 
     return ETHOSU_SUCCESS;
 }
diff --git a/src/ethosu_driver.c b/src/ethosu_driver.c
index 7b2a8ef..e99376a 100644
--- a/src/ethosu_driver.c
+++ b/src/ethosu_driver.c
@@ -124,7 +124,9 @@
             uint32_t macs_per_cc : 4;
             uint32_t cmd_stream_version : 4;
             uint32_t shram_size : 8;
-            uint32_t reserved1 : 16;
+            uint32_t reserved0 : 11;
+            uint32_t custom_dma : 1;
+            uint32_t product : 4;
         };
         uint32_t npu_cfg;
     };
@@ -352,6 +354,7 @@
         version->cfg.macs_per_cc        = cfg.macs_per_cc;
         version->cfg.cmd_stream_version = cfg.cmd_stream_version;
         version->cfg.shram_size         = cfg.shram_size;
+        version->cfg.custom_dma         = cfg.custom_dma;
     }
     else
     {
@@ -671,10 +674,11 @@
 
     LOG_INFO("handle_optimizer_config:\n");
     LOG_INFO("Optimizer release nbr: %d patch: %d\n", opt_cfg_p->da_data.rel_nbr, opt_cfg_p->da_data.patch_nbr);
-    LOG_INFO("Optimizer config cmd_stream_version: %d macs_per_cc: %d shram_size: %d\n",
+    LOG_INFO("Optimizer config cmd_stream_version: %d macs_per_cc: %d shram_size: %d custom_dma: %d\n",
              opt_cfg_p->cmd_stream_version,
              opt_cfg_p->macs_per_cc,
-             opt_cfg_p->shram_size);
+             opt_cfg_p->shram_size,
+             opt_cfg_p->custom_dma);
     LOG_INFO("Optimizer config Ethos-U version: %d.%d.%d\n",
              opt_cfg_p->arch_major_rev,
              opt_cfg_p->arch_minor_rev,
@@ -682,17 +686,19 @@
 
     (void)ethosu_get_config(&drv->dev, &cfg);
     (void)ethosu_get_id(&drv->dev, &id);
-    LOG_INFO("Ethos-U config cmd_stream_version: %" PRIu32 " macs_per_cc: %" PRIu32 " shram_size: %" PRIu32 "\n",
+    LOG_INFO("Ethos-U config cmd_stream_version: %" PRIu32 " macs_per_cc: %" PRIu32 " shram_size: %" PRIu32
+             " custom_dma: %" PRIu32 "\n",
              cfg.cmd_stream_version,
              cfg.macs_per_cc,
-             cfg.shram_size);
+             cfg.shram_size,
+             cfg.custom_dma);
     LOG_INFO("Ethos-U version: %" PRIu32 ".%" PRIu32 ".%" PRIu32 "\n",
              id.arch_major_rev,
              id.arch_minor_rev,
              id.arch_patch_rev);
 
     if ((cfg.macs_per_cc != opt_cfg_p->macs_per_cc) || (cfg.shram_size != opt_cfg_p->shram_size) ||
-        (cfg.cmd_stream_version != opt_cfg_p->cmd_stream_version))
+        (cfg.cmd_stream_version != opt_cfg_p->cmd_stream_version) || (!cfg.custom_dma && opt_cfg_p->custom_dma))
     {
         if (cfg.macs_per_cc != opt_cfg_p->macs_per_cc)
         {
@@ -712,6 +718,12 @@
                     cfg.cmd_stream_version,
                     opt_cfg_p->cmd_stream_version);
         }
+        if (!cfg.custom_dma && opt_cfg_p->custom_dma)
+        {
+            LOG_ERR("NPU config mismatch: npu.custom_dma=%" PRIu32 " optimize.custom_dma=%d\n",
+                    cfg.custom_dma,
+                    opt_cfg_p->custom_dma);
+        }
         return_code = -1;
     }
 
