spi_config.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. * 2018-11-06 SummerGift first version
  9. * 2019-01-05 SummerGift modify DMA support
  10. */
  11. #ifndef __SPI_CONFIG_H__
  12. #define __SPI_CONFIG_H__
  13. #include <rtthread.h>
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #ifdef BSP_USING_SPI1
  18. #ifndef SPI1_BUS_CONFIG
  19. #define SPI1_BUS_CONFIG \
  20. { \
  21. .Instance = SPI1, \
  22. .bus_name = "spi1", \
  23. .irq_type = SPI1_IRQn, \
  24. }
  25. #endif /* SPI1_BUS_CONFIG */
  26. #endif /* BSP_USING_SPI1 */
  27. #ifdef BSP_SPI1_TX_USING_DMA
  28. #ifndef SPI1_TX_DMA_CONFIG
  29. #define SPI1_TX_DMA_CONFIG \
  30. { \
  31. .dma_rcc = SPI1_TX_DMA_RCC, \
  32. .Instance = SPI1_TX_DMA_INSTANCE, \
  33. .channel = SPI1_TX_DMA_CHANNEL, \
  34. .dma_irq = SPI1_TX_DMA_IRQ, \
  35. }
  36. #endif /* SPI1_TX_DMA_CONFIG */
  37. #endif /* BSP_SPI1_TX_USING_DMA */
  38. #ifdef BSP_SPI1_RX_USING_DMA
  39. #ifndef SPI1_RX_DMA_CONFIG
  40. #define SPI1_RX_DMA_CONFIG \
  41. { \
  42. .dma_rcc = SPI1_RX_DMA_RCC, \
  43. .Instance = SPI1_RX_DMA_INSTANCE, \
  44. .channel = SPI1_RX_DMA_CHANNEL, \
  45. .dma_irq = SPI1_RX_DMA_IRQ, \
  46. }
  47. #endif /* SPI1_RX_DMA_CONFIG */
  48. #endif /* BSP_SPI1_RX_USING_DMA */
  49. #ifdef BSP_USING_SPI2
  50. #ifndef SPI2_BUS_CONFIG
  51. #define SPI2_BUS_CONFIG \
  52. { \
  53. .Instance = SPI2, \
  54. .bus_name = "spi2", \
  55. .irq_type = SPI2_IRQn, \
  56. }
  57. #endif /* SPI2_BUS_CONFIG */
  58. #endif /* BSP_USING_SPI2 */
  59. #ifdef BSP_SPI2_TX_USING_DMA
  60. #ifndef SPI2_TX_DMA_CONFIG
  61. #define SPI2_TX_DMA_CONFIG \
  62. { \
  63. .dma_rcc = SPI2_TX_DMA_RCC, \
  64. .Instance = SPI2_TX_DMA_INSTANCE, \
  65. .channel = SPI2_TX_DMA_CHANNEL, \
  66. .dma_irq = SPI2_TX_DMA_IRQ, \
  67. }
  68. #endif /* SPI2_TX_DMA_CONFIG */
  69. #endif /* BSP_SPI2_TX_USING_DMA */
  70. #ifdef BSP_SPI2_RX_USING_DMA
  71. #ifndef SPI2_RX_DMA_CONFIG
  72. #define SPI2_RX_DMA_CONFIG \
  73. { \
  74. .dma_rcc = SPI2_RX_DMA_RCC, \
  75. .Instance = SPI2_RX_DMA_INSTANCE, \
  76. .channel = SPI2_RX_DMA_CHANNEL, \
  77. .dma_irq = SPI2_RX_DMA_IRQ, \
  78. }
  79. #endif /* SPI2_RX_DMA_CONFIG */
  80. #endif /* BSP_SPI2_RX_USING_DMA */
  81. #ifdef BSP_USING_SPI3
  82. #ifndef SPI3_BUS_CONFIG
  83. #define SPI3_BUS_CONFIG \
  84. { \
  85. .Instance = SPI3, \
  86. .bus_name = "spi3", \
  87. .irq_type = SPI3_IRQn, \
  88. }
  89. #endif /* SPI3_BUS_CONFIG */
  90. #endif /* BSP_USING_SPI3 */
  91. #ifdef BSP_SPI3_TX_USING_DMA
  92. #ifndef SPI3_TX_DMA_CONFIG
  93. #define SPI3_TX_DMA_CONFIG \
  94. { \
  95. .dma_rcc = SPI3_TX_DMA_RCC, \
  96. .Instance = SPI3_TX_DMA_INSTANCE, \
  97. .channel = SPI3_TX_DMA_CHANNEL, \
  98. .dma_irq = SPI3_TX_DMA_IRQ, \
  99. }
  100. #endif /* SPI3_TX_DMA_CONFIG */
  101. #endif /* BSP_SPI3_TX_USING_DMA */
  102. #ifdef BSP_SPI3_RX_USING_DMA
  103. #ifndef SPI3_RX_DMA_CONFIG
  104. #define SPI3_RX_DMA_CONFIG \
  105. { \
  106. .dma_rcc = SPI3_RX_DMA_RCC, \
  107. .Instance = SPI3_RX_DMA_INSTANCE, \
  108. .channel = SPI3_RX_DMA_CHANNEL, \
  109. .dma_irq = SPI3_RX_DMA_IRQ, \
  110. }
  111. #endif /* SPI3_RX_DMA_CONFIG */
  112. #endif /* BSP_SPI3_RX_USING_DMA */
  113. #ifdef __cplusplus
  114. }
  115. #endif
  116. #endif /*__SPI_CONFIG_H__ */