spi_config.h 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 change to new framework
  9. */
  10. #ifndef __SPI_CONFIG_H__
  11. #define __SPI_CONFIG_H__
  12. #include <rtthread.h>
  13. #ifdef BSP_USING_SPI1
  14. #define SPI1_BUS_CONFIG \
  15. { \
  16. .Instance = SPI1, \
  17. .bus_name = "spi1", \
  18. .dma_rx.dma_rcc = RCC_AHB1ENR_DMA1EN, \
  19. .dma_tx.dma_rcc = RCC_AHB1ENR_DMA1EN, \
  20. .dma_rx.Instance = DMA1_Channel2, \
  21. .dma_rx.request = DMA_REQUEST_1, \
  22. .dma_rx.dma_irq = DMA1_Channel2_IRQn, \
  23. .dma_tx.Instance = DMA1_Channel3, \
  24. .dma_tx.request = DMA_REQUEST_1, \
  25. .dma_tx.dma_irq = DMA1_Channel3_IRQn, \
  26. }
  27. #define SPI1_DMA_RX_IRQHandler DMA1_Channel2_IRQHandler
  28. #define SPI1_DMA_TX_IRQHandler DMA1_Channel3_IRQHandler
  29. #endif
  30. #ifdef BSP_USING_SPI2
  31. #define SPI2_BUS_CONFIG \
  32. { \
  33. .Instance = SPI2, \
  34. .bus_name = "spi2", \
  35. .dma_rx.dma_rcc = RCC_AHB1ENR_DMA1EN, \
  36. .dma_tx.dma_rcc = RCC_AHB1ENR_DMA1EN, \
  37. .dma_rx.Instance = DMA1_Channel4, \
  38. .dma_rx.request = DMA_REQUEST_1, \
  39. .dma_rx.dma_irq = DMA1_Channel4_IRQn, \
  40. .dma_tx.Instance = DMA1_Channel5, \
  41. .dma_tx.request = DMA_REQUEST_1, \
  42. .dma_tx.dma_irq = DMA1_Channel5_IRQn, \
  43. }
  44. #define SPI2_DMA_RX_IRQHandler DMA1_Channel4_IRQHandler
  45. #define SPI2_DMA_TX_IRQHandler DMA1_Channel5_IRQHandler
  46. #endif
  47. #ifdef BSP_USING_SPI3
  48. #define SPI3_BUS_CONFIG \
  49. { \
  50. .Instance = SPI3, \
  51. .bus_name = "spi3", \
  52. .dma_rx.dma_rcc = RCC_AHB1ENR_DMA2EN, \
  53. .dma_tx.dma_rcc = RCC_AHB1ENR_DMA2EN, \
  54. .dma_rx.Instance = DMA2_Channel1, \
  55. .dma_rx.request = DMA_REQUEST_3, \
  56. .dma_rx.dma_irq = DMA2_Channel1_IRQn, \
  57. .dma_tx.Instance = DMA2_Channel2, \
  58. .dma_tx.request = DMA_REQUEST_3, \
  59. .dma_tx.dma_irq = DMA2_Channel2_IRQn, \
  60. }
  61. #define SPI3_DMA_RX_IRQHandler DMA2_Channel1_IRQHandler
  62. #define SPI3_DMA_TX_IRQHandler DMA2_Channel2_IRQHandler
  63. #endif
  64. #endif /*__SPI_CONFIG_H__ */