diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl
index bac85abeddbd13bb3bdf0cbd65b1a355149aa458..543eea1fd1d50b17d01401d139c45700cf27a83a 100644
--- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl
+++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/build_mcu_fpga_ip.tcl
@@ -45,6 +45,11 @@ read_verilog  $cmsdk_vlog/logical/models/memories/cmsdk_fpga_rom.v
 read_verilog  $cmsdk_vlog/logical/models/memories/cmsdk_ahb_ram.v
 read_verilog  $cmsdk_vlog/logical/models/memories/cmsdk_fpga_sram.v
 
+# configured Arm DMA-PL230 RTL (include ../verilog/pl230_defs.v for local configuration, not the distribution, already on search path)
+##set search_path [ concat $search_path ../verilog ]
+set dma230_vlog    ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog
+source scripts/rtl_source_dma230.tcl
+
 # ADP, FT1248 and streamio IP
 source scripts/rtl_source_soclabs_ip.tcl
 
diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/rtl_source_cmsdk.tcl b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/rtl_source_cmsdk.tcl
index 82e06a0c38457014fd00edff9454fefae614f4cf..9623b2ac7361c1ec85500db208d4ba3c53413534 100644
--- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/rtl_source_cmsdk.tcl
+++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/rtl_source_cmsdk.tcl
@@ -16,3 +16,12 @@ read_verilog  [ glob $cmsdk_vlog/logical/cmsdk_ahb_bitband/verilog/*.v ]
 read_verilog  [ glob $cmsdk_vlog/logical/cmsdk_ahb_master_mux/verilog/*.v ]
 read_verilog  $cmsdk_vlog/logical/models/clkgate/cmsdk_clock_gate.v
 read_verilog  $cmsdk_vlog/logical/cmsdk_ahb_to_sram/verilog/cmsdk_ahb_to_sram.v
+
+set search_path [ concat $search_path ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog ]
+read_verilog  ../verilog/pl230_defs.v
+read_verilog ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_ahb_ctrl.v
+read_verilog ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_apb_regs.v
+read_verilog ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_dma_data.v
+read_verilog ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_udma.v
+read_verilog ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_undefs.v
+
diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/rtl_source_dma230.tcl b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/rtl_source_dma230.tcl
new file mode 100644
index 0000000000000000000000000000000000000000..356404ee9e0d2ee8a3e21d54b13fae19b9421c6d
--- /dev/null
+++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/fpga_imp/scripts/rtl_source_dma230.tcl
@@ -0,0 +1,8 @@
+### DMA PL230 rtl source build
+read_verilog  ../verilog/pl230_defs.v
+read_verilog $dma230_vlog/pl230_ahb_ctrl.v
+read_verilog $dma230_vlog/pl230_apb_regs.v
+read_verilog $dma230_vlog/pl230_dma_data.v
+read_verilog $dma230_vlog/pl230_udma.v
+read_verilog $dma230_vlog/pl230_undefs.v
+
diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz
index 9b98f23963cb8beedac84ac3ad9be6606127eca9..24dc3e3ac15cf8feeb253135f75e3a0fe8ad11c8 100644
Binary files a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz and b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/v2html_doc.tgz differ
diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip_pads.v b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip_pads.v
index 6ef8930534c7832eeb154bc841934f6bf4d3e2f1..720f6f881fef2bf5b809f4a8dcc54a6739da3858 100644
--- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip_pads.v
+++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_chip_pads.v
@@ -179,9 +179,11 @@ module cmsdk_mcu_chip_pads (
 
 `ifdef ARM_CMSDK_INCLUDE_DMA
   parameter INCLUDE_DMA = 1; // Include instantiation of DMA-230
+  parameter DMA_CHANNEL_NUM = 1;
   // This option also add a number of bus components
 `else
   parameter INCLUDE_DMA = 0;
+  parameter DMA_CHANNEL_NUM = 1;
 `endif
 
 `ifdef ARM_CMSDK_INCLUDE_JTAG
diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_system.v b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_system.v
index 67a88f6af72a082c49a91ec644b1c299f1a94066..a855b4d9802b71f8f6e6c96d97b9d42762423aaf 100644
--- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_system.v
+++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/cmsdk_mcu_system.v
@@ -700,7 +700,7 @@ u_cortexm0_ds
 
   cmsdk_ahb_master_mux #(
     .PORT0_ENABLE (1),
-    .PORT1_ENABLE (1),
+    .PORT1_ENABLE (INCLUDE_DMA),
     .PORT2_ENABLE (1),
     .DW           (32)
     )
@@ -772,7 +772,7 @@ u_cortexm0_ds
     .HRDATAM      (sys_hrdata[31:0])
   );
 
-  assign sys_hmaster = (sys_hmaster_i==2'b10); // 2'b00 (core) or 2'b10 (dma)
+  assign sys_hmaster = (sys_hmaster_i==2'b01); // 2'b00 (core) or 2'b10 (dma)
   // This signal is currently not used, but if the customer need to extend the subsystem, this signal may
   // be needed
 
diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc
index 39c42a3925e2885e304feb28ccb3b86b153f3021..bdb78cf877aa744f55379db99e68207c3e1aef6d 100644
--- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc
+++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/tbench_M0.vc
@@ -87,15 +87,14 @@
 
 
 //// Optional PL230 Micro DMA controller - configure in local ../verilog/pl230_defs.v file
-//-y ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog
-+incdir+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog
+/// upgrade to AAA 'rel2' version
++incdir+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog
 ../verilog/pl230_defs.v
-../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_ahb_ctrl.v
-../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_apb_regs.v
-../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_dma_data.v
-../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_udma.v
-../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_undefs.v
-
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_ahb_ctrl.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_apb_regs.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_dma_data.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_udma.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_undefs.v
 
 ../../../../../IPLIB/FT1248_streamio_v1_0/ft1248_streamio_v1_0.v
 ../../../../../IPLIB/ADPcontrol_v1_0/ADPcontrol_v1_0.v
diff --git a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc
index 776113aeefc0f916478f29d2a2c7ec3f246e8b69..bd60453ea0ba32a05f93f356955c96b334e27a46 100644
--- a/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc
+++ b/Cortex-M0/soclabs_demo/systems/cortex_m0_mcu/verilog/v2html_M0.vc
@@ -92,15 +92,15 @@
 +incdir+../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/cmsdk_apb_watchdog/verilog
 +incdir+../../../../../../arm-AAA-ip/Corstone-101_Foundation_IP/BP210-BU-00000-r1p1-00rel0/logical/models/memories/
 
-//  //// Optional PL230 Micro DMA controller - configure in local ../verilog/pl230_defs.v file
-//  //-y ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog
-//  +incdir+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog
-//  ../verilog/pl230_defs.v
-//  ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_ahb_ctrl.v
-//  ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_apb_regs.v
-//  ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_dma_data.v
-//  ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_udma.v
-//  ../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel1/verilog/pl230_undefs.v
+//// Optional PL230 Micro DMA controller - configure in local ../verilog/pl230_defs.v file
+/// upgrade to AAA 'rel2' version
++incdir+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog
+../verilog/pl230_defs.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_ahb_ctrl.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_apb_regs.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_dma_data.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_udma.v
+../../../../../../arm-AAA-ip/DMA-230_MicroDMA_Controller/PL230-BU-00000-r0p0-02rel2/shared/logical/pl230_udma/verilog/pl230_undefs.v
 
 // ============= Cortex-M0 Module search path =============
 // guts of core not exposed, periphery only