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 */ 10 11 #ifndef __SPI_CONFIG_H__ 12 #define __SPI_CONFIG_H__ 13 14 #include <rtthread.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #ifdef BSP_USING_SPI1 21 #ifndef SPI1_BUS_CONFIG 22 #define SPI1_BUS_CONFIG \ 23 { \ 24 .Instance = SPI1, \ 25 .bus_name = "spi1", \ 26 .irq_type = SPI1_IRQn, \ 27 } 28 #endif /* SPI1_BUS_CONFIG */ 29 #endif /* BSP_USING_SPI1 */ 30 31 #ifdef BSP_SPI1_TX_USING_DMA 32 #ifndef SPI1_TX_DMA_CONFIG 33 #define SPI1_TX_DMA_CONFIG \ 34 { \ 35 .dma_rcc = SPI1_TX_DMA_RCC, \ 36 .Instance = SPI1_TX_DMA_INSTANCE, \ 37 .request = SPI1_TX_DMA_CHANNEL, \ 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 .request = SPI1_RX_DMA_CHANNEL, \ 50 .dma_irq = SPI1_RX_DMA_IRQ, \ 51 } 52 #endif /* SPI1_RX_DMA_CONFIG */ 53 #endif /* BSP_SPI1_RX_USING_DMA */ 54 55 #ifdef BSP_USING_SPI2 56 #ifndef SPI2_BUS_CONFIG 57 #define SPI2_BUS_CONFIG \ 58 { \ 59 .Instance = SPI2, \ 60 .bus_name = "spi2", \ 61 .irq_type = SPI2_IRQn, \ 62 } 63 #endif /* SPI2_BUS_CONFIG */ 64 #endif /* BSP_USING_SPI2 */ 65 66 #ifdef BSP_SPI2_TX_USING_DMA 67 #ifndef SPI2_TX_DMA_CONFIG 68 #define SPI2_TX_DMA_CONFIG \ 69 { \ 70 .dma_rcc = SPI2_TX_DMA_RCC, \ 71 .Instance = SPI2_TX_DMA_INSTANCE, \ 72 .request = SPI2_TX_DMA_CHANNEL, \ 73 .dma_irq = SPI2_TX_DMA_IRQ, \ 74 } 75 #endif /* SPI2_TX_DMA_CONFIG */ 76 #endif /* BSP_SPI2_TX_USING_DMA */ 77 78 #ifdef BSP_SPI2_RX_USING_DMA 79 #ifndef SPI2_RX_DMA_CONFIG 80 #define SPI2_RX_DMA_CONFIG \ 81 { \ 82 .dma_rcc = SPI2_RX_DMA_RCC, \ 83 .Instance = SPI2_RX_DMA_INSTANCE, \ 84 .request = SPI2_RX_DMA_CHANNEL, \ 85 .dma_irq = SPI2_RX_DMA_IRQ, \ 86 } 87 #endif /* SPI2_RX_DMA_CONFIG */ 88 #endif /* BSP_SPI2_RX_USING_DMA */ 89 90 #ifdef BSP_USING_SPI3 91 #ifndef SPI3_BUS_CONFIG 92 #define SPI3_BUS_CONFIG \ 93 { \ 94 .Instance = SPI3, \ 95 .bus_name = "spi3", \ 96 .irq_type = SPI3_IRQn, \ 97 } 98 #endif /* SPI3_BUS_CONFIG */ 99 #endif /* BSP_USING_SPI3 */ 100 101 #ifdef BSP_SPI3_TX_USING_DMA 102 #ifndef SPI3_TX_DMA_CONFIG 103 #define SPI3_TX_DMA_CONFIG \ 104 { \ 105 .dma_rcc = SPI3_TX_DMA_RCC, \ 106 .Instance = SPI3_TX_DMA_INSTANCE, \ 107 .request = SPI3_TX_DMA_CHANNEL, \ 108 .dma_irq = SPI3_TX_DMA_IRQ, \ 109 } 110 #endif /* SPI3_TX_DMA_CONFIG */ 111 #endif /* BSP_SPI3_TX_USING_DMA */ 112 113 #ifdef BSP_SPI3_RX_USING_DMA 114 #ifndef SPI3_RX_DMA_CONFIG 115 #define SPI3_RX_DMA_CONFIG \ 116 { \ 117 .dma_rcc = SPI3_RX_DMA_RCC, \ 118 .Instance = SPI3_RX_DMA_INSTANCE, \ 119 .request = SPI3_RX_DMA_CHANNEL, \ 120 .dma_irq = SPI3_RX_DMA_IRQ, \ 121 } 122 #endif /* SPI3_RX_DMA_CONFIG */ 123 #endif /* BSP_SPI3_RX_USING_DMA */ 124 125 #ifdef BSP_USING_SPI4 126 #ifndef SPI4_BUS_CONFIG 127 #define SPI4_BUS_CONFIG \ 128 { \ 129 .Instance = SPI4, \ 130 .bus_name = "spi4", \ 131 .irq_type = SPI4_IRQn, \ 132 } 133 #endif /* SPI4_BUS_CONFIG */ 134 #endif /* BSP_USING_SPI4 */ 135 136 #ifdef BSP_SPI4_TX_USING_DMA 137 #ifndef SPI4_TX_DMA_CONFIG 138 #define SPI4_TX_DMA_CONFIG \ 139 { \ 140 .dma_rcc = SPI4_TX_DMA_RCC, \ 141 .Instance = SPI4_TX_DMA_INSTANCE, \ 142 .request = SPI4_TX_DMA_CHANNEL, \ 143 .dma_irq = SPI4_TX_DMA_IRQ, \ 144 } 145 #endif /* SPI4_TX_DMA_CONFIG */ 146 #endif /* BSP_SPI4_TX_USING_DMA */ 147 148 #ifdef BSP_SPI4_RX_USING_DMA 149 #ifndef SPI4_RX_DMA_CONFIG 150 #define SPI4_RX_DMA_CONFIG \ 151 { \ 152 .dma_rcc = SPI4_RX_DMA_RCC, \ 153 .Instance = SPI4_RX_DMA_INSTANCE, \ 154 .request = SPI4_RX_DMA_CHANNEL, \ 155 .dma_irq = SPI4_RX_DMA_IRQ, \ 156 } 157 #endif /* SPI4_RX_DMA_CONFIG */ 158 #endif /* BSP_SPI4_RX_USING_DMA */ 159 160 #ifdef BSP_USING_SPI5 161 #ifndef SPI5_BUS_CONFIG 162 #define SPI5_BUS_CONFIG \ 163 { \ 164 .Instance = SPI5, \ 165 .bus_name = "spi5", \ 166 .irq_type = SPI5_IRQn, \ 167 } 168 #endif /* SPI5_BUS_CONFIG */ 169 #endif /* BSP_USING_SPI5 */ 170 171 #ifdef BSP_SPI5_TX_USING_DMA 172 #ifndef SPI5_TX_DMA_CONFIG 173 #define SPI5_TX_DMA_CONFIG \ 174 { \ 175 .dma_rcc = SPI5_TX_DMA_RCC, \ 176 .Instance = SPI5_TX_DMA_INSTANCE, \ 177 .request = SPI5_TX_DMA_CHANNEL, \ 178 .dma_irq = SPI5_TX_DMA_IRQ, \ 179 } 180 #endif /* SPI5_TX_DMA_CONFIG */ 181 #endif /* BSP_SPI5_TX_USING_DMA */ 182 183 #ifdef BSP_SPI5_RX_USING_DMA 184 #ifndef SPI5_RX_DMA_CONFIG 185 #define SPI5_RX_DMA_CONFIG \ 186 { \ 187 .dma_rcc = SPI5_RX_DMA_RCC, \ 188 .Instance = SPI5_RX_DMA_INSTANCE, \ 189 .request = SPI5_RX_DMA_CHANNEL, \ 190 .dma_irq = SPI5_RX_DMA_IRQ, \ 191 } 192 #endif /* SPI5_RX_DMA_CONFIG */ 193 #endif /* BSP_SPI5_RX_USING_DMA */ 194 195 #ifdef __cplusplus 196 } 197 #endif 198 199 #endif /*__SPI_CONFIG_H__ */ 200