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_REQUEST, \ 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_REQUEST, \ 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_REQUEST, \ 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_REQUEST, \ 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_REQUEST, \ 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_REQUEST, \ 120 .dma_irq = SPI3_RX_DMA_IRQ, \ 121 } 122 #endif /* SPI3_RX_DMA_CONFIG */ 123 #endif /* BSP_SPI3_RX_USING_DMA */ 124 125 #ifdef __cplusplus 126 } 127 #endif 128 129 #endif /*__SPI_CONFIG_H__ */ 130