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