summaryrefslogtreecommitdiff
path: root/bsp/stm32/libraries/HAL_Drivers/drivers/config/h7/dma_config.h
blob: 2fb26bbd7d38ec2a3f621dcb5095a52e116b69fc (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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*
 * Copyright (c) 2006-2026, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2019-01-02     zylx         first version
 * 2019-01-08     SummerGift   clean up the code
 * 2020-05-02     whj4674672   support stm32h7 dma1 and dma2
 * 2026-08-01     moment-NEW   add BDMA support
 */

#ifndef __DMA_CONFIG_H__
#define __DMA_CONFIG_H__

#include <rtthread.h>

#ifdef __cplusplus
extern "C" {
#endif

/* DMA1 stream0 */
#if defined(BSP_UART2_RX_USING_DMA) && !defined(UART2_RX_DMA_INSTANCE)
#define UART2_DMA_RX_IRQHandler DMA1_Stream0_IRQHandler
#define UART2_RX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define UART2_RX_DMA_INSTANCE   DMA1_Stream0
#define UART2_RX_DMA_REQUEST    DMA_REQUEST_USART2_RX
#define UART2_RX_DMA_IRQ        DMA1_Stream0_IRQn
#elif defined(BSP_UART4_RX_USING_DMA) && !defined(UART4_RX_DMA_INSTANCE)
#define UART4_DMA_RX_IRQHandler DMA1_Stream0_IRQHandler
#define UART4_RX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define UART4_RX_DMA_INSTANCE   DMA1_Stream0
#define UART4_RX_DMA_REQUEST    DMA_REQUEST_UART4_RX
#define UART4_RX_DMA_IRQ        DMA1_Stream0_IRQn
#endif

/* DMA1 stream1 */
#if defined(BSP_UART2_TX_USING_DMA) && !defined(UART2_TX_DMA_INSTANCE)
#define UART2_DMA_TX_IRQHandler DMA1_Stream1_IRQHandler
#define UART2_TX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define UART2_TX_DMA_INSTANCE   DMA1_Stream1
#define UART2_TX_DMA_REQUEST    DMA_REQUEST_USART2_TX
#define UART2_TX_DMA_IRQ        DMA1_Stream1_IRQn
#endif

/* DMA1 stream2 */
#if defined(BSP_SPI3_RX_USING_DMA) && !defined(SPI3_RX_DMA_INSTANCE)
#define SPI3_DMA_RX_IRQHandler DMA1_Stream2_IRQHandler
#define SPI3_RX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define SPI3_RX_DMA_INSTANCE   DMA1_Stream2
#define SPI3_RX_DMA_IRQ        DMA1_Stream2_IRQn
#endif

/* DMA1 stream3 */
#if defined(BSP_SPI2_RX_USING_DMA) && !defined(SPI2_RX_DMA_INSTANCE)
#define SPI2_DMA_RX_IRQHandler DMA1_Stream3_IRQHandler
#define SPI2_RX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define SPI2_RX_DMA_INSTANCE   DMA1_Stream3
#define SPI2_RX_DMA_IRQ        DMA1_Stream3_IRQn
#endif

/* DMA1 stream4 */
#if defined(BSP_SPI2_TX_USING_DMA) && !defined(SPI2_TX_DMA_INSTANCE)
#define SPI2_DMA_TX_IRQHandler DMA1_Stream4_IRQHandler
#define SPI2_TX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define SPI2_TX_DMA_INSTANCE   DMA1_Stream4
#define SPI2_TX_DMA_IRQ        DMA1_Stream4_IRQn
#endif

/* DMA1 stream5 */
#if defined(BSP_SPI3_TX_USING_DMA) && !defined(SPI3_TX_DMA_INSTANCE)
#define SPI3_DMA_TX_IRQHandler DMA1_Stream5_IRQHandler
#define SPI3_TX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define SPI3_TX_DMA_INSTANCE   DMA1_Stream5
#define SPI3_TX_DMA_IRQ        DMA1_Stream5_IRQn
#endif

/* DMA1 stream6 */

/* DMA1 stream7 */
#if defined(BSP_SPI3_TX_USING_DMA) && !defined(SPI3_TX_DMA_INSTANCE)
#define SPI3_DMA_TX_IRQHandler DMA1_Stream7_IRQHandler
#define SPI3_TX_DMA_RCC        RCC_AHB1ENR_DMA1EN
#define SPI3_TX_DMA_INSTANCE   DMA1_Stream7
#define SPI3_TX_DMA_IRQ        DMA1_Stream7_IRQn
#endif

/* DMA2 stream0 */
#if defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_INSTANCE)
#define SPI1_DMA_RX_IRQHandler DMA2_Stream0_IRQHandler
#define SPI1_RX_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define SPI1_RX_DMA_INSTANCE   DMA2_Stream0
#define SPI1_RX_DMA_IRQ        DMA2_Stream0_IRQn
#endif

/* DMA2 stream1 */
#if defined(BSP_SPI4_TX_USING_DMA) && !defined(SPI4_TX_DMA_INSTANCE)
#define SPI4_DMA_TX_IRQHandler DMA2_Stream1_IRQHandler
#define SPI4_TX_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define SPI4_TX_DMA_INSTANCE   DMA2_Stream1
#define SPI4_TX_DMA_IRQ        DMA2_Stream1_IRQn
#endif

/* DMA2 stream2 */
#if defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_INSTANCE)
#define SPI1_DMA_RX_IRQHandler DMA2_Stream2_IRQHandler
#define SPI1_RX_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define SPI1_RX_DMA_INSTANCE   DMA2_Stream2
#define SPI1_RX_DMA_IRQ        DMA2_Stream2_IRQn
#endif

/* DMA2 stream3 */
#if defined(BSP_SPI5_RX_USING_DMA) && !defined(SPI5_RX_DMA_INSTANCE)
#define SPI5_DMA_RX_IRQHandler DMA2_Stream3_IRQHandler
#define SPI5_RX_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define SPI5_RX_DMA_INSTANCE   DMA2_Stream3
#define SPI5_RX_DMA_IRQ        DMA2_Stream3_IRQn
#endif

/* DMA2 stream4 */
#if defined(BSP_SPI5_TX_USING_DMA) && !defined(SPI5_TX_DMA_INSTANCE)
#define SPI5_DMA_TX_IRQHandler DMA2_Stream4_IRQHandler
#define SPI5_TX_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define SPI5_TX_DMA_INSTANCE   DMA2_Stream4
#define SPI5_TX_DMA_IRQ        DMA2_Stream4_IRQn
#endif

/* DMA2 stream5 */
#if defined(BSP_SPI1_TX_USING_DMA) && !defined(SPI1_TX_DMA_INSTANCE)
#define SPI1_DMA_TX_IRQHandler DMA2_Stream5_IRQHandler
#define SPI1_TX_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define SPI1_TX_DMA_INSTANCE   DMA2_Stream5
#define SPI1_TX_DMA_IRQ        DMA2_Stream5_IRQn
#endif

/* DMA2 stream6 */
#if defined(BSP_SPI5_TX_USING_DMA) && !defined(SPI5_TX_DMA_INSTANCE)
#define SPI5_DMA_TX_IRQHandler DMA2_Stream6_IRQHandler
#define SPI5_TX_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define SPI5_TX_DMA_INSTANCE   DMA2_Stream6
#define SPI5_TX_DMA_IRQ        DMA2_Stream6_IRQn
#endif

/* DMA2 stream7 */
#if defined(BSP_QSPI_USING_DMA) && !defined(QSPI_DMA_INSTANCE)
#define QSPI_DMA_IRQHandler DMA2_Stream7_IRQHandler
#define QSPI_DMA_RCC        RCC_AHB1ENR_DMA2EN
#define QSPI_DMA_INSTANCE   DMA2_Stream7
#if defined(DMA_REQUEST_QUADSPI)
#define QSPI_DMA_REQUEST DMA_REQUEST_QUADSPI
#elif defined(DMA_REQUEST_QUADSPI1)
#define QSPI_DMA_REQUEST DMA_REQUEST_QUADSPI1
#endif
#define QSPI_DMA_IRQ DMA2_Stream7_IRQn
#endif

/* BDMA */
#if defined(BSP_SPI6_TX_USING_BDMA) && !defined(SPI6_TX_BDMA_INSTANCE)
#define SPI6_BDMA_TX_IRQHandler BDMA_Channel0_IRQHandler
#define SPI6_TX_BDMA_INSTANCE   BDMA_Channel0
#define SPI6_TX_BDMA_RCC        RCC_AHB4ENR_BDMAEN
#define SPI6_TX_BDMA_REQUEST    BDMA_REQUEST_SPI6_TX
#define SPI6_TX_BDMA_IRQ        BDMA_Channel0_IRQn
#endif

#if defined(BSP_SPI6_RX_USING_BDMA) && !defined(SPI6_RX_BDMA_INSTANCE)
#define SPI6_BDMA_RX_IRQHandler BDMA_Channel1_IRQHandler
#define SPI6_RX_BDMA_INSTANCE   BDMA_Channel1
#define SPI6_RX_BDMA_RCC        RCC_AHB4ENR_BDMAEN
#define SPI6_RX_BDMA_REQUEST    BDMA_REQUEST_SPI6_RX
#define SPI6_RX_BDMA_IRQ        BDMA_Channel1_IRQn
#endif

#ifdef __cplusplus
}
#endif

#endif /* __DMA_CONFIG_H__ */