spi_config.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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. * 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. }
  24. #endif /* SPI1_BUS_CONFIG */
  25. #endif /* BSP_USING_SPI1 */
  26. #ifdef BSP_SPI1_TX_USING_DMA
  27. #ifndef SPI1_TX_DMA_CONFIG
  28. #define SPI1_TX_DMA_CONFIG \
  29. { \
  30. .dma_rcc = SPI1_TX_DMA_RCC, \
  31. .Instance = SPI1_TX_DMA_INSTANCE, \
  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. .dma_irq = SPI1_RX_DMA_IRQ, \
  43. }
  44. #endif /* SPI1_RX_DMA_CONFIG */
  45. #endif /* BSP_SPI1_RX_USING_DMA */
  46. #ifdef BSP_USING_SPI2
  47. #ifndef SPI2_BUS_CONFIG
  48. #define SPI2_BUS_CONFIG \
  49. { \
  50. .Instance = SPI2, \
  51. .bus_name = "spi2", \
  52. }
  53. #endif /* SPI2_BUS_CONFIG */
  54. #endif /* BSP_USING_SPI2 */
  55. #ifdef BSP_SPI2_TX_USING_DMA
  56. #ifndef SPI2_TX_DMA_CONFIG
  57. #define SPI2_TX_DMA_CONFIG \
  58. { \
  59. .dma_rcc = SPI2_TX_DMA_RCC, \
  60. .Instance = SPI2_TX_DMA_INSTANCE, \
  61. .dma_irq = SPI2_TX_DMA_IRQ, \
  62. }
  63. #endif /* SPI2_TX_DMA_CONFIG */
  64. #endif /* BSP_SPI2_TX_USING_DMA */
  65. #ifdef BSP_SPI2_RX_USING_DMA
  66. #ifndef SPI2_RX_DMA_CONFIG
  67. #define SPI2_RX_DMA_CONFIG \
  68. { \
  69. .dma_rcc = SPI2_RX_DMA_RCC, \
  70. .Instance = SPI2_RX_DMA_INSTANCE, \
  71. .dma_irq = SPI2_RX_DMA_IRQ, \
  72. }
  73. #endif /* SPI2_RX_DMA_CONFIG */
  74. #endif /* BSP_SPI2_RX_USING_DMA */
  75. #ifdef BSP_USING_SPI3
  76. #ifndef SPI3_BUS_CONFIG
  77. #define SPI3_BUS_CONFIG \
  78. { \
  79. .Instance = SPI3, \
  80. .bus_name = "spi3", \
  81. }
  82. #endif /* SPI3_BUS_CONFIG */
  83. #endif /* BSP_USING_SPI3 */
  84. #ifdef BSP_SPI3_TX_USING_DMA
  85. #ifndef SPI3_TX_DMA_CONFIG
  86. #define SPI3_TX_DMA_CONFIG \
  87. { \
  88. .dma_rcc = SPI3_TX_DMA_RCC, \
  89. .Instance = SPI3_TX_DMA_INSTANCE, \
  90. .dma_irq = SPI3_TX_DMA_IRQ, \
  91. }
  92. #endif /* SPI3_TX_DMA_CONFIG */
  93. #endif /* BSP_SPI3_TX_USING_DMA */
  94. #ifdef BSP_SPI3_RX_USING_DMA
  95. #ifndef SPI3_RX_DMA_CONFIG
  96. #define SPI3_RX_DMA_CONFIG \
  97. { \
  98. .dma_rcc = SPI3_RX_DMA_RCC, \
  99. .Instance = SPI3_RX_DMA_INSTANCE, \
  100. .dma_irq = SPI3_RX_DMA_IRQ, \
  101. }
  102. #endif /* SPI3_RX_DMA_CONFIG */
  103. #endif /* BSP_SPI3_RX_USING_DMA */
  104. #ifdef __cplusplus
  105. }
  106. #endif
  107. #endif /*__SPI_CONFIG_H__ */