spi_config.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2021-08-31 AisinoChip first version
  9. */
  10. #ifndef __SPI_CONFIG_H__
  11. #define __SPI_CONFIG_H__
  12. #include <rtconfig.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. .irq_type = SPI1_IRQn, \
  23. .enable_id=EN_SPI1, \
  24. .cs_port = SPI1_CS_PORT, \
  25. .cs_pin = SPI1_CS_PIN, \
  26. .cs_alternate = SPI1_CS_ALTERNATE, \
  27. .sck_port = SPI1_SCK_PORT, \
  28. .sck_pin = SPI1_SCK_PIN, \
  29. .sck_alternate = SPI1_SCK_ALTERNATE, \
  30. .mosi_port = SPI1_MOSI_PORT, \
  31. .mosi_pin = SPI1_MOSI_PIN, \
  32. .mosi_alternate = SPI1_MOSI_ALTERNATE, \
  33. .miso_port = SPI1_MISO_PORT, \
  34. .miso_pin = SPI1_MISO_PIN, \
  35. .miso_alternate = SPI1_MISO_ALTERNATE, \
  36. .wp_port = SPI1_WP_PORT, \
  37. .wp_pin = SPI1_WP_PIN, \
  38. .wp_alternate = SPI1_WP_ALTERNATE, \
  39. .hold_port = SPI1_HOLD_PORT, \
  40. .hold_pin = SPI1_HOLD_PIN, \
  41. .hold_alternate = SPI1_HOLD_ALTERNATE, \
  42. }
  43. #endif /* SPI1_BUS_CONFIG */
  44. #endif /* BSP_USING_SPI1 */
  45. #ifdef BSP_SPI1_TX_USING_DMA
  46. #ifndef SPI1_TX_DMA_CONFIG
  47. #define SPI1_TX_DMA_CONFIG \
  48. { \
  49. .dma_rcc = SPI1_TX_DMA_RCC, \
  50. .Instance = SPI1_TX_DMA_INSTANCE, \
  51. .dma_irq = SPI1_TX_DMA_IRQ, \
  52. .channel = SPI1_TX_DMA_CHANNEL, \
  53. .request = SPI1_TX_DMA_REQUEST, \
  54. }
  55. #endif /* SPI1_TX_DMA_CONFIG */
  56. #endif /* BSP_SPI1_TX_USING_DMA */
  57. #ifdef BSP_SPI1_RX_USING_DMA
  58. #ifndef SPI1_RX_DMA_CONFIG
  59. #define SPI1_RX_DMA_CONFIG \
  60. { \
  61. .dma_rcc = SPI1_RX_DMA_RCC, \
  62. .Instance = SPI1_RX_DMA_INSTANCE, \
  63. .dma_irq = SPI1_RX_DMA_IRQ, \
  64. .channel = SPI1_RX_DMA_CHANNEL, \
  65. .request = SPI1_RX_DMA_REQUEST, \
  66. }
  67. #endif /* SPI1_RX_DMA_CONFIG */
  68. #endif /* BSP_SPI1_RX_USING_DMA */
  69. #ifdef BSP_USING_SPI2
  70. #ifndef SPI2_BUS_CONFIG
  71. #define SPI2_BUS_CONFIG \
  72. { \
  73. .Instance = SPI2, \
  74. .bus_name = "spi2", \
  75. .irq_type = SPI2_IRQn, \
  76. .enable_id=EN_SPI2, \
  77. .cs_port = SPI2_CS_PORT, \
  78. .cs_pin = SPI2_CS_PIN, \
  79. .cs_alternate = SPI2_CS_ALTERNATE, \
  80. .sck_port = SPI2_SCK_PORT, \
  81. .sck_pin = SPI2_SCK_PIN, \
  82. .sck_alternate = SPI2_SCK_ALTERNATE, \
  83. .mosi_port = SPI2_MOSI_PORT, \
  84. .mosi_pin = SPI2_MOSI_PIN, \
  85. .mosi_alternate = SPI2_MOSI_ALTERNATE, \
  86. .miso_port = SPI2_MISO_PORT, \
  87. .miso_pin = SPI2_MISO_PIN, \
  88. .miso_alternate = SPI2_MISO_ALTERNATE, \
  89. .wp_port = SPI2_WP_PORT, \
  90. .wp_pin = SPI2_WP_PIN, \
  91. .wp_alternate = SPI2_WP_ALTERNATE, \
  92. .hold_port = SPI2_HOLD_PORT, \
  93. .hold_pin = SPI2_HOLD_PIN, \
  94. .hold_alternate = SPI2_HOLD_ALTERNATE, \
  95. }
  96. #endif /* SPI2_BUS_CONFIG */
  97. #endif /* BSP_USING_SPI2 */
  98. #ifdef BSP_SPI2_TX_USING_DMA
  99. #ifndef SPI2_TX_DMA_CONFIG
  100. #define SPI2_TX_DMA_CONFIG \
  101. { \
  102. .dma_rcc = SPI2_TX_DMA_RCC, \
  103. .Instance = SPI2_TX_DMA_INSTANCE, \
  104. .dma_irq = SPI2_TX_DMA_IRQ, \
  105. .channel = SPI2_TX_DMA_CHANNEL, \
  106. .request = SPI2_TX_DMA_REQUEST, \
  107. }
  108. #endif /* SPI2_TX_DMA_CONFIG */
  109. #endif /* BSP_SPI2_TX_USING_DMA */
  110. #ifdef BSP_SPI2_RX_USING_DMA
  111. #ifndef SPI2_RX_DMA_CONFIG
  112. #define SPI2_RX_DMA_CONFIG \
  113. { \
  114. .dma_rcc = SPI2_RX_DMA_RCC, \
  115. .Instance = SPI2_RX_DMA_INSTANCE, \
  116. .dma_irq = SPI2_RX_DMA_IRQ, \
  117. .channel = SPI2_RX_DMA_CHANNEL, \
  118. .request = SPI2_RX_DMA_REQUEST, \
  119. }
  120. #endif /* SPI2_RX_DMA_CONFIG */
  121. #endif /* BSP_SPI2_RX_USING_DMA */
  122. #ifdef __cplusplus
  123. }
  124. #endif
  125. #endif /*__SPI_CONFIG_H__ */