summaryrefslogtreecommitdiff
path: root/bsp/at32/libraries/rt_drivers/config/f425/dma_config.h
blob: 69119922b60a12283fe1e704f5718e9706316253 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2023-01-31     shelton      first version
 */

#ifndef __DMA_CONFIG_H__
#define __DMA_CONFIG_H__

#include <rtthread.h>

#ifdef __cplusplus
extern "C" {
#endif

/* DMA1 channel1 */
/* DMA1 channel2 */
#if defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_CHANNEL)
#define SPI1_TX_RX_DMA_IRQHandler       DMA1_Channel3_2_IRQHandler
#define SPI1_RX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define SPI1_RX_DMA_CHANNEL             DMA1_CHANNEL2
#define SPI1_RX_DMA_IRQ                 DMA1_Channel3_2_IRQn
#define SPI1_RX_DMA_FLEX_CHANNEL        FLEX_CHANNEL2
#define SPI1_RX_DMA_REQ_ID              DMA_FLEXIBLE_SPI1_RX
#elif defined(BSP_UART1_RX_USING_DMA) && !defined(UART1_RX_DMA_CHANNEL)
#define UART1_TX_RX_DMA_IRQHandler      DMA1_Channel3_2_IRQHandler
#define UART1_RX_DMA_CLOCK              CRM_DMA1_PERIPH_CLOCK
#define UART1_RX_DMA_CHANNEL            DMA1_CHANNEL2
#define UART1_RX_DMA_IRQ                DMA1_Channel3_2_IRQn
#define UART1_RX_DMA_FLEX_CHANNEL       FLEX_CHANNEL2
#define UART1_RX_DMA_REQ_ID             DMA_FLEXIBLE_UART1_RX
#elif defined(BSP_I2C1_RX_USING_DMA) && !defined(I2C1_RX_DMA_CHANNEL)
#define I2C1_TX_RX_DMA_IRQHandler       DMA1_Channel3_2_IRQHandler
#define I2C1_RX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define I2C1_RX_DMA_CHANNEL             DMA1_CHANNEL2
#define I2C1_RX_DMA_IRQ                 DMA1_Channel3_2_IRQn
#define I2C1_RX_DMA_FLEX_CHANNEL        FLEX_CHANNEL2
#define I2C1_RX_DMA_REQ_ID              DMA_FLEXIBLE_I2C1_RX
#endif

/* DMA1 channel3 */
#if defined(BSP_SPI1_TX_USING_DMA) && !defined(SPI1_TX_DMA_CHANNEL)
#define SPI1_TX_RX_DMA_IRQHandler       DMA1_Channel3_2_IRQHandler
#define SPI1_TX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define SPI1_TX_DMA_CHANNEL             DMA1_CHANNEL3
#define SPI1_TX_DMA_IRQ                 DMA1_Channel3_2_IRQn
#define SPI1_TX_DMA_FLEX_CHANNEL        FLEX_CHANNEL3
#define SPI1_TX_DMA_REQ_ID              DMA_FLEXIBLE_SPI1_TX
#elif defined(BSP_UART1_TX_USING_DMA) && !defined(UART1_TX_DMA_CHANNEL)
#define UART1_TX_RX_DMA_IRQHandler      DMA1_Channel3_2_IRQHandler
#define UART1_TX_DMA_CLOCK              CRM_DMA1_PERIPH_CLOCK
#define UART1_TX_DMA_CHANNEL            DMA1_CHANNEL3
#define UART1_TX_DMA_IRQ                DMA1_Channel3_2_IRQn
#define UART1_TX_DMA_FLEX_CHANNEL       FLEX_CHANNEL3
#define UART1_TX_DMA_REQ_ID             DMA_FLEXIBLE_UART1_TX
#elif defined(BSP_I2C1_TX_USING_DMA) && !defined(I2C1_TX_DMA_CHANNEL)
#define I2C1_TX_RX_DMA_IRQHandler       DMA1_Channel3_2_IRQHandler
#define I2C1_TX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define I2C1_TX_DMA_CHANNEL             DMA1_CHANNEL3
#define I2C1_TX_DMA_IRQ                 DMA1_Channel3_2_IRQn
#define I2C1_TX_DMA_FLEX_CHANNEL        FLEX_CHANNEL3
#define I2C1_TX_DMA_REQ_ID              DMA_FLEXIBLE_I2C1_TX
#endif

/* DMA1 channel4 */
#if defined(BSP_SPI2_RX_USING_DMA) && !defined(SPI2_RX_DMA_CHANNEL)
#define SPI3_2_TX_RX_DMA_IRQHandler     DMA1_Channel7_4_IRQHandler
#define SPI2_RX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define SPI2_RX_DMA_CHANNEL             DMA1_CHANNEL4
#define SPI2_RX_DMA_IRQ                 DMA1_Channel7_4_IRQn
#define SPI2_RX_DMA_FLEX_CHANNEL        FLEX_CHANNEL4
#define SPI2_RX_DMA_REQ_ID              DMA_FLEXIBLE_SPI2_RX
#elif defined(BSP_UART2_RX_USING_DMA) && !defined(UART2_RX_DMA_CHANNEL)
#define UART3_2_TX_RX_DMA_IRQHandler    DMA1_Channel7_4_IRQHandler
#define UART2_RX_DMA_CLOCK              CRM_DMA1_PERIPH_CLOCK
#define UART2_RX_DMA_CHANNEL            DMA1_CHANNEL4
#define UART2_RX_DMA_IRQ                DMA1_Channel7_4_IRQn
#define UART2_RX_DMA_FLEX_CHANNEL       FLEX_CHANNEL4
#define UART2_RX_DMA_REQ_ID             DMA_FLEXIBLE_UART2_RX
#elif defined(BSP_I2C2_RX_USING_DMA) && !defined(I2C2_RX_DMA_CHANNEL)
#define I2C2_TX_RX_DMA_IRQHandler       DMA1_Channel7_4_IRQHandler
#define I2C2_RX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define I2C2_RX_DMA_CHANNEL             DMA1_CHANNEL4
#define I2C2_RX_DMA_IRQ                 DMA1_Channel7_4_IRQn
#define I2C2_RX_DMA_FLEX_CHANNEL        FLEX_CHANNEL4
#define I2C2_RX_DMA_REQ_ID              DMA_FLEXIBLE_I2C2_RX
#endif

/* DMA1 channel5 */
#if defined(BSP_SPI2_TX_USING_DMA) && !defined(SPI2_TX_DMA_CHANNEL)
#define SPI3_2_TX_RX_DMA_IRQHandler     DMA1_Channel7_4_IRQHandler
#define SPI2_TX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define SPI2_TX_DMA_CHANNEL             DMA1_CHANNEL5
#define SPI2_TX_DMA_IRQ                 DMA1_Channel7_4_IRQn
#define SPI2_TX_DMA_FLEX_CHANNEL        FLEX_CHANNEL5
#define SPI2_TX_DMA_REQ_ID              DMA_FLEXIBLE_SPI2_TX
#elif defined(BSP_UART2_TX_USING_DMA) && !defined(UART2_TX_DMA_CHANNEL)
#define UART3_2_TX_RX_DMA_IRQHandler    DMA1_Channel7_4_IRQHandler
#define UART2_TX_DMA_CLOCK              CRM_DMA1_PERIPH_CLOCK
#define UART2_TX_DMA_CHANNEL            DMA1_CHANNEL5
#define UART2_TX_DMA_IRQ                DMA1_Channel7_4_IRQn
#define UART2_TX_DMA_FLEX_CHANNEL       FLEX_CHANNEL5
#define UART2_TX_DMA_REQ_ID             DMA_FLEXIBLE_UART2_TX
#elif defined(BSP_I2C2_TX_USING_DMA) && !defined(I2C2_TX_DMA_CHANNEL)
#define I2C2_TX_RX_DMA_IRQHandler       DMA1_Channel7_4_IRQHandler
#define I2C2_TX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define I2C2_TX_DMA_CHANNEL             DMA1_CHANNEL5
#define I2C2_TX_DMA_IRQ                 DMA1_Channel7_4_IRQn
#define I2C2_TX_DMA_FLEX_CHANNEL        FLEX_CHANNEL5
#define I2C2_TX_DMA_REQ_ID              DMA_FLEXIBLE_I2C2_TX
#endif

/* DMA1 channel6 */
#if defined(BSP_SPI3_RX_USING_DMA) && !defined(SPI3_RX_DMA_CHANNEL)
#define SPI3_2_TX_RX_DMA_IRQHandler     DMA1_Channel7_4_IRQHandler
#define SPI3_RX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define SPI3_RX_DMA_CHANNEL             DMA1_CHANNEL6
#define SPI3_RX_DMA_IRQ                 DMA1_Channel7_4_IRQn
#define SPI3_RX_DMA_FLEX_CHANNEL        FLEX_CHANNEL6
#define SPI3_RX_DMA_REQ_ID              DMA_FLEXIBLE_SPI3_RX
#elif defined(BSP_UART3_RX_USING_DMA) && !defined(UART3_RX_DMA_CHANNEL)
#define UART3_2_TX_RX_DMA_IRQHandler    DMA1_Channel7_4_IRQHandler
#define UART3_RX_DMA_CLOCK              CRM_DMA1_PERIPH_CLOCK
#define UART3_RX_DMA_CHANNEL            DMA1_CHANNEL6
#define UART3_RX_DMA_IRQ                DMA1_Channel7_4_IRQn
#define UART3_RX_DMA_FLEX_CHANNEL       FLEX_CHANNEL6
#define UART3_RX_DMA_REQ_ID             DMA_FLEXIBLE_UART3_RX
#endif

/* DMA1 channel7 */
#if defined(BSP_SPI3_TX_USING_DMA) && !defined(SPI3_TX_DMA_CHANNEL)
#define SPI3_2_TX_RX_DMA_IRQHandler     DMA1_Channel7_4_IRQHandler
#define SPI3_TX_DMA_CLOCK               CRM_DMA1_PERIPH_CLOCK
#define SPI3_TX_DMA_CHANNEL             DMA1_CHANNEL7
#define SPI3_TX_DMA_IRQ                 DMA1_Channel7_4_IRQn
#define SPI3_TX_DMA_FLEX_CHANNEL        FLEX_CHANNEL7
#define SPI3_TX_DMA_REQ_ID              DMA_FLEXIBLE_SPI3_TX
#elif defined(BSP_UART3_TX_USING_DMA) && !defined(UART3_TX_DMA_CHANNEL)
#define UART3_2_TX_RX_DMA_IRQHandler    DMA1_Channel7_4_IRQHandler
#define UART3_TX_DMA_CLOCK              CRM_DMA1_PERIPH_CLOCK
#define UART3_TX_DMA_CHANNEL            DMA1_CHANNEL7
#define UART3_TX_DMA_IRQ                DMA1_Channel7_4_IRQn
#define UART3_TX_DMA_FLEX_CHANNEL       FLEX_CHANNEL7
#define UART3_TX_DMA_REQ_ID             DMA_FLEXIBLE_UART3_TX
#endif

#ifdef __cplusplus
}
#endif

#endif /* __DMA_CONFIG_H__ */