blob: 9e7469a3ba053c85e0505e3172a40010177a5dde (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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
|