dma_config.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2019-01-02 zylx first version
  9. * 2019-01-08 SummerGift clean up the code
  10. */
  11. #ifndef __DMA_CONFIG_H__
  12. #define __DMA_CONFIG_H__
  13. #include <rtthread.h>
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. /* DMA1 stream0 */
  18. #if defined(BSP_SPI3_RX_USING_DMA) && !defined(SPI3_RX_DMA_INSTANCE)
  19. #define SPI3_DMA_RX_IRQHandler DMA1_Stream0_IRQHandler
  20. #define SPI3_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
  21. #define SPI3_RX_DMA_INSTANCE DMA1_Stream0
  22. #define SPI3_RX_DMA_CHANNEL DMA_CHANNEL_0
  23. #define SPI3_RX_DMA_IRQ DMA1_Stream0_IRQn
  24. #elif defined(BSP_UART5_RX_USING_DMA) && !defined(UART5_RX_DMA_INSTANCE)
  25. #define UART5_DMA_RX_IRQHandler DMA1_Stream0_IRQHandler
  26. #define UART5_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
  27. #define UART5_RX_DMA_INSTANCE DMA1_Stream0
  28. #define UART5_RX_DMA_CHANNEL DMA_CHANNEL_4
  29. #define UART5_RX_DMA_IRQ DMA1_Stream0_IRQn
  30. #endif
  31. /* DMA1 stream1 */
  32. #if defined(BSP_UART3_RX_USING_DMA) && !defined(UART3_RX_DMA_INSTANCE)
  33. #define UART3_DMA_RX_IRQHandler DMA1_Stream1_IRQHandler
  34. #define UART3_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
  35. #define UART3_RX_DMA_INSTANCE DMA1_Stream1
  36. #define UART3_RX_DMA_CHANNEL DMA_CHANNEL_4
  37. #define UART3_RX_DMA_IRQ DMA1_Stream1_IRQn
  38. #endif
  39. /* DMA1 stream2 */
  40. #if defined(BSP_SPI3_RX_USING_DMA) && !defined(SPI3_RX_DMA_INSTANCE)
  41. #define SPI3_DMA_RX_IRQHandler DMA1_Stream2_IRQHandler
  42. #define SPI3_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
  43. #define SPI3_RX_DMA_INSTANCE DMA1_Stream2
  44. #define SPI3_RX_DMA_CHANNEL DMA_CHANNEL_0
  45. #define SPI3_RX_DMA_IRQ DMA1_Stream2_IRQn
  46. #elif defined(BSP_UART4_RX_USING_DMA) && !defined(UART4_RX_DMA_INSTANCE)
  47. #define UART4_DMA_RX_IRQHandler DMA1_Stream2_IRQHandler
  48. #define UART4_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
  49. #define UART4_RX_DMA_INSTANCE DMA1_Stream2
  50. #define UART4_RX_DMA_CHANNEL DMA_CHANNEL_4
  51. #define UART4_RX_DMA_IRQ DMA1_Stream2_IRQn
  52. #endif
  53. /* DMA1 stream3 */
  54. #if defined(BSP_SPI2_RX_USING_DMA) && !defined(SPI2_RX_DMA_INSTANCE)
  55. #define SPI2_DMA_RX_IRQHandler DMA1_Stream3_IRQHandler
  56. #define SPI2_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
  57. #define SPI2_RX_DMA_INSTANCE DMA1_Stream3
  58. #define SPI2_RX_DMA_CHANNEL DMA_CHANNEL_0
  59. #define SPI2_RX_DMA_IRQ DMA1_Stream3_IRQn
  60. #endif
  61. /* DMA1 stream4 */
  62. #if defined(BSP_SPI2_TX_USING_DMA) && !defined(SPI2_TX_DMA_INSTANCE)
  63. #define SPI2_DMA_TX_IRQHandler DMA1_Stream4_IRQHandler
  64. #define SPI2_TX_DMA_RCC RCC_AHB1ENR_DMA1EN
  65. #define SPI2_TX_DMA_INSTANCE DMA1_Stream4
  66. #define SPI2_TX_DMA_CHANNEL DMA_CHANNEL_0
  67. #define SPI2_TX_DMA_IRQ DMA1_Stream4_IRQn
  68. #endif
  69. /* DMA1 stream5 */
  70. #if defined(BSP_SPI3_TX_USING_DMA) && !defined(SPI3_TX_DMA_INSTANCE)
  71. #define SPI3_DMA_TX_IRQHandler DMA1_Stream5_IRQHandler
  72. #define SPI3_TX_DMA_RCC RCC_AHB1ENR_DMA1EN
  73. #define SPI3_TX_DMA_INSTANCE DMA1_Stream5
  74. #define SPI3_TX_DMA_CHANNEL DMA_CHANNEL_0
  75. #define SPI3_TX_DMA_IRQ DMA1_Stream5_IRQn
  76. #elif defined(BSP_UART2_RX_USING_DMA) && !defined(UART2_RX_DMA_INSTANCE)
  77. #define UART2_DMA_RX_IRQHandler DMA1_Stream5_IRQHandler
  78. #define UART2_RX_DMA_RCC RCC_AHB1ENR_DMA1EN
  79. #define UART2_RX_DMA_INSTANCE DMA1_Stream5
  80. #define UART2_RX_DMA_CHANNEL DMA_CHANNEL_4
  81. #define UART2_RX_DMA_IRQ DMA1_Stream5_IRQn
  82. #endif
  83. /* DMA1 stream6 */
  84. /* DMA1 stream7 */
  85. #if defined(BSP_SPI3_TX_USING_DMA) && !defined(SPI3_TX_DMA_INSTANCE)
  86. #define SPI3_DMA_TX_IRQHandler DMA1_Stream7_IRQHandler
  87. #define SPI3_TX_DMA_RCC RCC_AHB1ENR_DMA1EN
  88. #define SPI3_TX_DMA_INSTANCE DMA1_Stream7
  89. #define SPI3_TX_DMA_CHANNEL DMA_CHANNEL_0
  90. #define SPI3_TX_DMA_IRQ DMA1_Stream7_IRQn
  91. #endif
  92. /* DMA2 stream0 */
  93. #if defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_INSTANCE)
  94. #define SPI1_DMA_RX_IRQHandler DMA2_Stream0_IRQHandler
  95. #define SPI1_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  96. #define SPI1_RX_DMA_INSTANCE DMA2_Stream0
  97. #define SPI1_RX_DMA_CHANNEL DMA_CHANNEL_3
  98. #define SPI1_RX_DMA_IRQ DMA2_Stream0_IRQn
  99. #elif defined(BSP_SPI4_RX_USING_DMA) && !defined(SPI4_RX_DMA_INSTANCE)
  100. #define SPI4_DMA_RX_IRQHandler DMA2_Stream0_IRQHandler
  101. #define SPI4_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  102. #define SPI4_RX_DMA_INSTANCE DMA2_Stream0
  103. #define SPI4_RX_DMA_CHANNEL DMA_CHANNEL_4
  104. #define SPI4_RX_DMA_IRQ DMA2_Stream0_IRQn
  105. #endif
  106. /* DMA2 stream1 */
  107. #if defined(BSP_SPI4_TX_USING_DMA) && !defined(SPI4_TX_DMA_INSTANCE)
  108. #define SPI4_DMA_TX_IRQHandler DMA2_Stream1_IRQHandler
  109. #define SPI4_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
  110. #define SPI4_TX_DMA_INSTANCE DMA2_Stream1
  111. #define SPI4_TX_DMA_CHANNEL DMA_CHANNEL_4
  112. #define SPI4_TX_DMA_IRQ DMA2_Stream1_IRQn
  113. #endif
  114. /* DMA2 stream2 */
  115. #if defined(BSP_SPI1_RX_USING_DMA) && !defined(SPI1_RX_DMA_INSTANCE)
  116. #define SPI1_DMA_RX_IRQHandler DMA2_Stream2_IRQHandler
  117. #define SPI1_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  118. #define SPI1_RX_DMA_INSTANCE DMA2_Stream2
  119. #define SPI1_RX_DMA_CHANNEL DMA_CHANNEL_3
  120. #define SPI1_RX_DMA_IRQ DMA2_Stream2_IRQn
  121. #elif defined(BSP_UART1_RX_USING_DMA) && !defined(UART1_RX_DMA_INSTANCE)
  122. #define UART1_DMA_RX_IRQHandler DMA2_Stream2_IRQHandler
  123. #define UART1_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  124. #define UART1_RX_DMA_INSTANCE DMA2_Stream2
  125. #define UART1_RX_DMA_CHANNEL DMA_CHANNEL_4
  126. #define UART1_RX_DMA_IRQ DMA2_Stream2_IRQn
  127. #elif defined(BSP_QSPI_USING_DMA) && !defined(QSPI_DMA_INSTANCE)
  128. #define QSPI_DMA_IRQHandler DMA2_Stream2_IRQHandler
  129. #define QSPI_DMA_RCC RCC_AHB1ENR_DMA2EN
  130. #define QSPI_DMA_INSTANCE DMA2_Stream2
  131. #define QSPI_DMA_CHANNEL DMA_CHANNEL_11
  132. #define QSPI_DMA_IRQ DMA2_Stream2_IRQn
  133. #endif
  134. /* DMA2 stream3 */
  135. #if defined(BSP_SPI5_RX_USING_DMA) && !defined(SPI5_RX_DMA_INSTANCE)
  136. #define SPI5_DMA_RX_IRQHandler DMA2_Stream3_IRQHandler
  137. #define SPI5_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  138. #define SPI5_RX_DMA_INSTANCE DMA2_Stream3
  139. #define SPI5_RX_DMA_CHANNEL DMA_CHANNEL_2
  140. #define SPI5_RX_DMA_IRQ DMA2_Stream3_IRQn
  141. #elif defined(BSP_SPI1_TX_USING_DMA) && !defined(SPI1_TX_DMA_INSTANCE)
  142. #define SPI1_DMA_TX_IRQHandler DMA2_Stream3_IRQHandler
  143. #define SPI1_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
  144. #define SPI1_TX_DMA_INSTANCE DMA2_Stream3
  145. #define SPI1_TX_DMA_CHANNEL DMA_CHANNEL_3
  146. #define SPI1_TX_DMA_IRQ DMA2_Stream3_IRQn
  147. #elif defined(BSP_SPI4_RX_USING_DMA) && !defined(SPI4_RX_DMA_INSTANCE)
  148. #define SPI4_DMA_RX_IRQHandler DMA2_Stream3_IRQHandler
  149. #define SPI4_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  150. #define SPI4_RX_DMA_INSTANCE DMA2_Stream3
  151. #define SPI4_RX_DMA_CHANNEL DMA_CHANNEL_5
  152. #define SPI4_RX_DMA_IRQ DMA2_Stream3_IRQn
  153. #endif
  154. /* DMA2 stream4 */
  155. #if defined(BSP_SPI5_TX_USING_DMA) && !defined(SPI5_TX_DMA_INSTANCE)
  156. #define SPI5_DMA_TX_IRQHandler DMA2_Stream4_IRQHandler
  157. #define SPI5_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
  158. #define SPI5_TX_DMA_INSTANCE DMA2_Stream4
  159. #define SPI5_TX_DMA_CHANNEL DMA_CHANNEL_2
  160. #define SPI5_TX_DMA_IRQ DMA2_Stream4_IRQn
  161. #elif defined(BSP_SPI4_TX_USING_DMA) && !defined(SPI4_TX_DMA_INSTANCE)
  162. #define SPI4_DMA_TX_IRQHandler DMA2_Stream4_IRQHandler
  163. #define SPI4_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
  164. #define SPI4_TX_DMA_INSTANCE DMA2_Stream4
  165. #define SPI4_TX_DMA_CHANNEL DMA_CHANNEL_5
  166. #define SPI4_TX_DMA_IRQ DMA2_Stream4_IRQn
  167. #endif
  168. /* DMA2 stream5 */
  169. #if defined(BSP_SPI1_TX_USING_DMA) && !defined(SPI1_TX_DMA_INSTANCE)
  170. #define SPI1_DMA_TX_IRQHandler DMA2_Stream5_IRQHandler
  171. #define SPI1_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
  172. #define SPI1_TX_DMA_INSTANCE DMA2_Stream5
  173. #define SPI1_TX_DMA_CHANNEL DMA_CHANNEL_3
  174. #define SPI1_TX_DMA_IRQ DMA2_Stream5_IRQn
  175. #elif defined(BSP_UART1_RX_USING_DMA) && !defined(UART1_RX_DMA_INSTANCE)
  176. #define UART1_DMA_RX_IRQHandler DMA2_Stream5_IRQHandler
  177. #define UART1_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  178. #define UART1_RX_DMA_INSTANCE DMA2_Stream5
  179. #define UART1_RX_DMA_CHANNEL DMA_CHANNEL_4
  180. #define UART1_RX_DMA_IRQ DMA2_Stream5_IRQn
  181. #elif defined(BSP_SPI5_RX_USING_DMA) && !defined(SPI5_RX_DMA_INSTANCE)
  182. #define SPI5_DMA_RX_IRQHandler DMA2_Stream5_IRQHandler
  183. #define SPI5_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
  184. #define SPI5_RX_DMA_INSTANCE DMA2_Stream5
  185. #define SPI5_RX_DMA_CHANNEL DMA_CHANNEL_7
  186. #define SPI5_RX_DMA_IRQ DMA2_Stream5_IRQn
  187. #endif
  188. /* DMA2 stream6 */
  189. #if defined(BSP_SPI5_TX_USING_DMA) && !defined(SPI5_TX_DMA_INSTANCE)
  190. #define SPI5_DMA_TX_IRQHandler DMA2_Stream6_IRQHandler
  191. #define SPI5_TX_DMA_RCC RCC_AHB1ENR_DMA2EN
  192. #define SPI5_TX_DMA_INSTANCE DMA2_Stream6
  193. #define SPI5_TX_DMA_CHANNEL DMA_CHANNEL_7
  194. #define SPI5_TX_DMA_IRQ DMA2_Stream6_IRQn
  195. #endif
  196. /* DMA2 stream7 */
  197. #if defined(BSP_QSPI_USING_DMA) && !defined(QSPI_DMA_INSTANCE)
  198. #define QSPI_DMA_IRQHandler DMA2_Stream7_IRQHandler
  199. #define QSPI_DMA_RCC RCC_AHB1ENR_DMA2EN
  200. #define QSPI_DMA_INSTANCE DMA2_Stream7
  201. #define QSPI_DMA_CHANNEL DMA_CHANNEL_3
  202. #define QSPI_DMA_IRQ DMA2_Stream7_IRQn
  203. #endif
  204. #ifdef __cplusplus
  205. }
  206. #endif
  207. #endif /* __DMA_CONFIG_H__ */