aboutsummaryrefslogtreecommitdiff
path: root/src/sample/io_sample/GDMA/Mem2Mem_multi_block/io_gdma.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sample/io_sample/GDMA/Mem2Mem_multi_block/io_gdma.h')
-rw-r--r--src/sample/io_sample/GDMA/Mem2Mem_multi_block/io_gdma.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/sample/io_sample/GDMA/Mem2Mem_multi_block/io_gdma.h b/src/sample/io_sample/GDMA/Mem2Mem_multi_block/io_gdma.h
new file mode 100644
index 0000000..9e7469a
--- /dev/null
+++ b/src/sample/io_sample/GDMA/Mem2Mem_multi_block/io_gdma.h
@@ -0,0 +1,70 @@
+/**
+*********************************************************************************************************
+* Copyright(c) 2018, Realtek Semiconductor Corporation. All rights reserved.
+*********************************************************************************************************
+* @file io_gdma.h
+* @brief
+* @details
+* @author yuan
+* @date 2019-01-11
+* @version v1.0
+*********************************************************************************************************
+*/
+
+#ifndef __IO_GDMA_H
+#define __IO_GDMA_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include <string.h>
+#include "rtl876x_gdma.h"
+#include "rtl876x_nvic.h"
+#include "rtl876x_pinmux.h"
+#include "rtl876x_rcc.h"
+#include "trace.h"
+
+#include "board.h"
+
+#include "app_task.h"
+
+/* Defines ------------------------------------------------------------------*/
+/* Channel 0 ~ channel 1 have multiple block mode. */
+#define GDMA_CHANNEL_NUM 1
+#define GDMA_Channel GDMA_Channel1
+#define GDMA_Channel_IRQn GDMA0_Channel1_IRQn
+#define GDMA_Channel_Handler GDMA0_Channel1_Handler
+
+/* The maximum number of GDMA single block is 65535. */
+#define GDMA_TRANSFER_SIZE 200
+
+#define GDMA_MULTIBLOCK_SIZE 12
+
+/** GDMA multi block mode.
+ * AUTO_RELOAD_WITH_CONTIGUOUS_SAR
+ * AUTO_RELOAD_WITH_CONTIGUOUS_DAR
+ * AUTO_RELOAD_TRANSFER
+ * LLI_WITH_CONTIGUOUS_SAR
+ * LLI_WITH_AUTO_RELOAD_SAR
+ * LLI_WITH_CONTIGUOUS_DAR
+ * LLI_WITH_AUTO_RELOAD_DAR
+ * LLI_TRANSFER
+ */
+#define GDMA_MULTIBLOCK_MODE LLI_TRANSFER
+
+#define INT_TRANSFER 1
+#define INT_BLOCK 0
+#define GDMA_INTERRUPT_MODE INT_TRANSFER
+
+void driver_gdma_init(void);
+void io_handle_gdma_msg(T_IO_MSG *io_gdma_msg);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+