diff --git a/nanosoc/nanosoc_subsystems/dma/verilog/nanosoc_ss_dma.v b/nanosoc/nanosoc_subsystems/dma/verilog/nanosoc_ss_dma.v
index 4b7aa7f405e34ef2d6e3cb964d903a742174e5f9..877d5dc4f44df47bbcd17781f6981cb08a3e49b6 100644
--- a/nanosoc/nanosoc_subsystems/dma/verilog/nanosoc_ss_dma.v
+++ b/nanosoc/nanosoc_subsystems/dma/verilog/nanosoc_ss_dma.v
@@ -149,7 +149,7 @@ module nanosoc_ss_dma #(
         .SYS_ADDR_W  (SYS_ADDR_W),
         .SYS_DATA_W  (SYS_DATA_W),
         .CFG_ADDR_W  (13),
-        .CHANNEL_NUM (DMAC_1_CHANNEL_NUM)
+        .CHANNEL_NUM (DMAC_0_CHANNEL_NUM)
     ) u_dmac (
         // AHB Clocks and Resets
         .HCLK(SYS_HCLK),
diff --git a/software/drivers/dma_350_command_lib.c b/software/drivers/dma_350_command_lib.c
index ca57328a2d854ba01ab98ebb20a14c08be363de9..e1f47de4a2b50a3d73260963f79da1f1049aa56d 100755
--- a/software/drivers/dma_350_command_lib.c
+++ b/software/drivers/dma_350_command_lib.c
@@ -22,9 +22,9 @@
 #include "dma_350_command_lib.h"
 
 // Channel pointers
-DMACH_TypeDef *sec_dma_channels[2] =  { DMACH0_S,  DMACH1_S};
+DMACH_TypeDef *sec_dma_channels[3] =  { DMACH0_S,  DMACH1_S, DMACH2_S};
 
-DMACH_TypeDef *nsec_dma_channels[2] =  { DMACH0_NS,  DMACH1_NS};
+DMACH_TypeDef *nsec_dma_channels[3] =  { DMACH0_NS,  DMACH1_NS, DMACH2_NS};
 
 //
 // Get DMA channel register frame based on security and channel number
diff --git a/software/drivers/dma_350_command_lib.h b/software/drivers/dma_350_command_lib.h
index 7ba0b7add9d507680a9e12551792b21a36632398..3faf649021442b32f9c1c309164b082412b8c941 100755
--- a/software/drivers/dma_350_command_lib.h
+++ b/software/drivers/dma_350_command_lib.h
@@ -342,8 +342,8 @@
 
 // External variables
 // Channel pointers
-extern DMACH_TypeDef *sec_dma_channels[2];
-extern DMACH_TypeDef *nsec_dma_channels[2];
+extern DMACH_TypeDef *sec_dma_channels[3];
+extern DMACH_TypeDef *nsec_dma_channels[3];
 
 //Functions
 DMACH_TypeDef* GetChannelPtr(uint32_t ch_num, uint8_t security);
diff --git a/software/drivers/dma_350_regdef.h b/software/drivers/dma_350_regdef.h
index 4124a19a622fd2e22bc0134ff10b89f179ebc2cc..35c1ad41872ca8f852ebac8a136a8536f42f162b 100755
--- a/software/drivers/dma_350_regdef.h
+++ b/software/drivers/dma_350_regdef.h
@@ -164,7 +164,7 @@ typedef struct
 #define DMAINFO_S_BASE                              (ADA_DMA_S_BASE + 0x0F00UL)
 #define DMACH0_S_BASE                               (ADA_DMA_S_BASE + 0x1000UL)
 #define DMACH1_S_BASE                               (ADA_DMA_S_BASE + 0x1100UL)
-// #define DMACH2_S_BASE                               (ADA_DMA_S_BASE + 0x1200UL)
+#define DMACH2_S_BASE                               (ADA_DMA_S_BASE + 0x1200UL)
 // #define DMACH3_S_BASE                               (ADA_DMA_S_BASE + 0x1300UL)
 // #define DMACH4_S_BASE                               (ADA_DMA_S_BASE + 0x1400UL)
 // #define DMACH5_S_BASE                               (ADA_DMA_S_BASE + 0x1500UL)
@@ -181,7 +181,7 @@ typedef struct
 #define DMAINFO_NS_BASE                             (ADA_DMA_NS_BASE + 0x0F00UL)
 #define DMACH0_NS_BASE                              (ADA_DMA_NS_BASE + 0x1000UL)
 #define DMACH1_NS_BASE                              (ADA_DMA_NS_BASE + 0x1100UL)
-// #define DMACH2_NS_BASE                              (ADA_DMA_NS_BASE + 0x1200UL)
+#define DMACH2_NS_BASE                              (ADA_DMA_NS_BASE + 0x1200UL)
 // #define DMACH3_NS_BASE                              (ADA_DMA_NS_BASE + 0x1300UL)
 // #define DMACH4_NS_BASE                              (ADA_DMA_NS_BASE + 0x1400UL)
 // #define DMACH5_NS_BASE                              (ADA_DMA_NS_BASE + 0x1500UL)
@@ -197,7 +197,7 @@ typedef struct
 #define DMAINFO_S                                   ((DMAINFO_TypeDef *) DMAINFO_S_BASE)
 #define DMACH0_S                                    ((DMACH_TypeDef *) DMACH0_S_BASE)
 #define DMACH1_S                                    ((DMACH_TypeDef *) DMACH1_S_BASE)
-// #define DMACH2_S                                    ((DMACH_TypeDef *) DMACH2_S_BASE)
+#define DMACH2_S                                    ((DMACH_TypeDef *) DMACH2_S_BASE)
 // #define DMACH3_S                                    ((DMACH_TypeDef *) DMACH3_S_BASE)
 // #define DMACH4_S                                    ((DMACH_TypeDef *) DMACH4_S_BASE)
 // #define DMACH5_S                                    ((DMACH_TypeDef *) DMACH5_S_BASE)
@@ -210,7 +210,7 @@ typedef struct
 #define DMAINFO_NS                                  ((DMAINFO_TypeDef *) DMAINFO_NS_BASE)
 #define DMACH0_NS                                   ((DMACH_TypeDef *) DMACH0_NS_BASE)
 #define DMACH1_NS                                   ((DMACH_TypeDef *) DMACH1_NS_BASE)
-// #define DMACH2_NS                                   ((DMACH_TypeDef *) DMACH2_NS_BASE)
+#define DMACH2_NS                                   ((DMACH_TypeDef *) DMACH2_NS_BASE)
 // #define DMACH3_NS                                   ((DMACH_TypeDef *) DMACH3_NS_BASE)
 // #define DMACH4_NS                                   ((DMACH_TypeDef *) DMACH4_NS_BASE)
 // #define DMACH5_NS                                   ((DMACH_TypeDef *) DMACH5_NS_BASE)
diff --git a/testcodes/dma350_stream_tests/dma350_stream_tests.hex b/testcodes/dma350_stream_tests/dma350_stream_tests.hex
index 699138f8398aee9119f20192438c26bf4ba540f2..dfdb5d63322441eef18bdbd88bfdef91feec334e 100644
--- a/testcodes/dma350_stream_tests/dma350_stream_tests.hex
+++ b/testcodes/dma350_stream_tests/dma350_stream_tests.hex
@@ -1,4 +1,4 @@
-90
+98
 04
 00
 30
@@ -2066,19 +2066,19 @@ C1
 00
 00
 00
-90
+98
 00
 00
 30
-90
+98
 04
 00
 30
-90
+98
 02
 00
 30
-90
+98
 02
 00
 30
@@ -3254,7 +3254,7 @@ E0
 20
 31
 00
-28
+2C
 00
 00
 30
@@ -9678,7 +9678,7 @@ BD
 48
 70
 47
-38
+40
 00
 00
 30
@@ -10098,7 +10098,7 @@ D2
 48
 70
 47
-30
+38
 00
 00
 30
@@ -10710,7 +10710,7 @@ F0
 00
 00
 30
-30
+38
 00
 00
 00
@@ -10718,11 +10718,11 @@ F0
 01
 00
 00
-20
+28
 2A
 00
 00
-30
+38
 00
 00
 30
@@ -10775,6 +10775,10 @@ D1
 00
 40
 00
+D2
+00
+40
+00
 D0
 00
 40
@@ -10782,3 +10786,7 @@ D0
 D1
 00
 40
+00
+D2
+00
+40