1
0

spi_config.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. /*
  2. * Copyright (c) 2006-2018, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2018-11-06 SummerGift first version
  9. */
  10. #ifndef __SPI_CONFIG_H__
  11. #define __SPI_CONFIG_H__
  12. #include <rtthread.h>
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #ifdef BSP_USING_SPI1
  17. #ifndef SPI1_BUS_CONFIG
  18. #define SPI1_BUS_CONFIG \
  19. { \
  20. .Instance = SPI1, \
  21. .bus_name = "spi1", \
  22. }
  23. #endif /* SPI1_BUS_CONFIG */
  24. #endif /* BSP_USING_SPI1 */
  25. #ifdef BSP_SPI1_TX_USING_DMA
  26. #ifndef SPI1_TX_DMA_CONFIG
  27. #define SPI1_TX_DMA_CONFIG \
  28. { \
  29. .dma_rcc = SPI1_TX_DMA_RCC, \
  30. .Instance = SPI1_TX_DMA_INSTANCE, \
  31. .channel = SPI1_TX_DMA_CHANNEL, \
  32. .dma_irq = SPI1_TX_DMA_IRQ, \
  33. }
  34. #endif /* SPI1_TX_DMA_CONFIG */
  35. #endif /* BSP_SPI1_TX_USING_DMA */
  36. #ifdef BSP_SPI1_RX_USING_DMA
  37. #ifndef SPI1_RX_DMA_CONFIG
  38. #define SPI1_RX_DMA_CONFIG \
  39. { \
  40. .dma_rcc = SPI1_RX_DMA_RCC, \
  41. .Instance = SPI1_RX_DMA_INSTANCE, \
  42. .channel = SPI1_RX_DMA_CHANNEL, \
  43. .dma_irq = SPI1_RX_DMA_IRQ, \
  44. }
  45. #endif /* SPI1_RX_DMA_CONFIG */
  46. #endif /* BSP_SPI1_RX_USING_DMA */
  47. #ifdef BSP_USING_SPI2
  48. #ifndef SPI2_BUS_CONFIG
  49. #define SPI2_BUS_CONFIG \
  50. { \
  51. .Instance = SPI2, \
  52. .bus_name = "spi2", \
  53. }
  54. #endif /* SPI2_BUS_CONFIG */
  55. #endif /* BSP_USING_SPI2 */
  56. #ifdef BSP_SPI2_TX_USING_DMA
  57. #ifndef SPI2_TX_DMA_CONFIG
  58. #define SPI2_TX_DMA_CONFIG \
  59. { \
  60. .dma_rcc = SPI2_TX_DMA_RCC, \
  61. .Instance = SPI2_TX_DMA_INSTANCE, \
  62. .channel = SPI2_TX_DMA_CHANNEL, \
  63. .dma_irq = SPI2_TX_DMA_IRQ, \
  64. }
  65. #endif /* SPI2_TX_DMA_CONFIG */
  66. #endif /* BSP_SPI2_TX_USING_DMA */
  67. #ifdef BSP_SPI2_RX_USING_DMA
  68. #ifndef SPI2_RX_DMA_CONFIG
  69. #define SPI2_RX_DMA_CONFIG \
  70. { \
  71. .dma_rcc = SPI2_RX_DMA_RCC, \
  72. .Instance = SPI2_RX_DMA_INSTANCE, \
  73. .channel = SPI2_RX_DMA_CHANNEL, \
  74. .dma_irq = SPI2_RX_DMA_IRQ, \
  75. }
  76. #endif /* SPI2_RX_DMA_CONFIG */
  77. #endif /* BSP_SPI2_RX_USING_DMA */
  78. #ifdef BSP_USING_SPI3
  79. #ifndef SPI3_BUS_CONFIG
  80. #define SPI3_BUS_CONFIG \
  81. { \
  82. .Instance = SPI3, \
  83. .bus_name = "spi3", \
  84. }
  85. #endif /* SPI3_BUS_CONFIG */
  86. #endif /* BSP_USING_SPI3 */
  87. #ifdef BSP_SPI3_TX_USING_DMA
  88. #ifndef SPI3_TX_DMA_CONFIG
  89. #define SPI3_TX_DMA_CONFIG \
  90. { \
  91. .dma_rcc = SPI3_TX_DMA_RCC, \
  92. .Instance = SPI3_TX_DMA_INSTANCE, \
  93. .channel = SPI3_TX_DMA_CHANNEL, \
  94. .dma_irq = SPI3_TX_DMA_IRQ, \
  95. }
  96. #endif /* SPI3_TX_DMA_CONFIG */
  97. #endif /* BSP_SPI3_TX_USING_DMA */
  98. #ifdef BSP_SPI3_RX_USING_DMA
  99. #ifndef SPI3_RX_DMA_CONFIG
  100. #define SPI3_RX_DMA_CONFIG \
  101. { \
  102. .dma_rcc = SPI3_RX_DMA_RCC, \
  103. .Instance = SPI3_RX_DMA_INSTANCE, \
  104. .channel = SPI3_RX_DMA_CHANNEL, \
  105. .dma_irq = SPI3_RX_DMA_IRQ, \
  106. }
  107. #endif /* SPI3_RX_DMA_CONFIG */
  108. #endif /* BSP_SPI3_RX_USING_DMA */
  109. #ifdef BSP_USING_SPI4
  110. #ifndef SPI4_BUS_CONFIG
  111. #define SPI4_BUS_CONFIG \
  112. { \
  113. .Instance = SPI4, \
  114. .bus_name = "spi4", \
  115. }
  116. #endif /* SPI4_BUS_CONFIG */
  117. #endif /* BSP_USING_SPI4 */
  118. #ifdef BSP_SPI4_TX_USING_DMA
  119. #ifndef SPI4_TX_DMA_CONFIG
  120. #define SPI4_TX_DMA_CONFIG \
  121. { \
  122. .dma_rcc = SPI4_TX_DMA_RCC, \
  123. .Instance = SPI4_TX_DMA_INSTANCE, \
  124. .channel = SPI4_TX_DMA_CHANNEL, \
  125. .dma_irq = SPI4_TX_DMA_IRQ, \
  126. }
  127. #endif /* SPI4_TX_DMA_CONFIG */
  128. #endif /* BSP_SPI4_TX_USING_DMA */
  129. #ifdef BSP_SPI4_RX_USING_DMA
  130. #ifndef SPI4_RX_DMA_CONFIG
  131. #define SPI4_RX_DMA_CONFIG \
  132. { \
  133. .dma_rcc = SPI4_RX_DMA_RCC, \
  134. .Instance = SPI4_RX_DMA_INSTANCE, \
  135. .channel = SPI4_RX_DMA_CHANNEL, \
  136. .dma_irq = SPI4_RX_DMA_IRQ, \
  137. }
  138. #endif /* SPI4_RX_DMA_CONFIG */
  139. #endif /* BSP_SPI4_RX_USING_DMA */
  140. #ifdef BSP_USING_SPI5
  141. #ifndef SPI5_BUS_CONFIG
  142. #define SPI5_BUS_CONFIG \
  143. { \
  144. .Instance = SPI5, \
  145. .bus_name = "spi5", \
  146. }
  147. #endif /* SPI5_BUS_CONFIG */
  148. #endif /* BSP_USING_SPI5 */
  149. #ifdef BSP_SPI5_TX_USING_DMA
  150. #ifndef SPI5_TX_DMA_CONFIG
  151. #define SPI5_TX_DMA_CONFIG \
  152. { \
  153. .dma_rcc = SPI5_TX_DMA_RCC, \
  154. .Instance = SPI5_TX_DMA_INSTANCE, \
  155. .channel = SPI5_TX_DMA_CHANNEL, \
  156. .dma_irq = SPI5_TX_DMA_IRQ, \
  157. }
  158. #endif /* SPI5_TX_DMA_CONFIG */
  159. #endif /* BSP_SPI5_TX_USING_DMA */
  160. #ifdef BSP_SPI5_RX_USING_DMA
  161. #ifndef SPI5_RX_DMA_CONFIG
  162. #define SPI5_RX_DMA_CONFIG \
  163. { \
  164. .dma_rcc = SPI5_RX_DMA_RCC, \
  165. .Instance = SPI5_RX_DMA_INSTANCE, \
  166. .channel = SPI5_RX_DMA_CHANNEL, \
  167. .dma_irq = SPI5_RX_DMA_IRQ, \
  168. }
  169. #endif /* SPI5_RX_DMA_CONFIG */
  170. #endif /* BSP_SPI5_RX_USING_DMA */
  171. #ifdef __cplusplus
  172. }
  173. #endif
  174. #endif /*__SPI_CONFIG_H__ */