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-01-05 zylx first version 9 * 2019-01-08 SummerGift clean up the code 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 .request = SPI1_TX_DMA_REQUEST, \ 39 .dma_irq = SPI1_TX_DMA_IRQ, \ 40 } 41 #endif /* SPI1_TX_DMA_CONFIG */ 42 #endif /* BSP_SPI1_TX_USING_DMA */ 43 44 #ifdef BSP_SPI1_RX_USING_DMA 45 #ifndef SPI1_RX_DMA_CONFIG 46 #define SPI1_RX_DMA_CONFIG \ 47 { \ 48 .dma_rcc = SPI1_RX_DMA_RCC, \ 49 .Instance = SPI1_RX_DMA_INSTANCE, \ 50 .request = SPI1_RX_DMA_REQUEST, \ 51 .dma_irq = SPI1_RX_DMA_IRQ, \ 52 } 53 #endif /* SPI1_RX_DMA_CONFIG */ 54 #endif /* BSP_SPI1_RX_USING_DMA */ 55 56 #ifdef BSP_USING_SPI2 57 #ifndef SPI2_BUS_CONFIG 58 #if defined(STM32G0B0xx) || defined(STM32G0B1xx) || defined(STM32G0C1xx) 59 #define SPI2_BUS_CONFIG \ 60 { \ 61 .Instance = SPI2, \ 62 .bus_name = "spi2", \ 63 .irq_type = SPI2_3_IRQn, \ 64 } 65 #else 66 #define SPI2_BUS_CONFIG \ 67 { \ 68 .Instance = SPI2, \ 69 .bus_name = "spi2", \ 70 .irq_type = SPI2_IRQn, \ 71 } 72 #endif /* defined(STM32G0B0xx) || defined(STM32G0B1xx) || defined(STM32G0C1xx) */ 73 #endif /* SPI2_BUS_CONFIG */ 74 #endif /* BSP_USING_SPI2 */ 75 76 #ifdef BSP_SPI2_TX_USING_DMA 77 #ifndef SPI2_TX_DMA_CONFIG 78 #define SPI2_TX_DMA_CONFIG \ 79 { \ 80 .dma_rcc = SPI2_TX_DMA_RCC, \ 81 .Instance = SPI2_TX_DMA_INSTANCE, \ 82 .request = SPI2_TX_DMA_REQUEST, \ 83 .dma_irq = SPI2_TX_DMA_IRQ, \ 84 } 85 #endif /* SPI2_TX_DMA_CONFIG */ 86 #endif /* BSP_SPI2_TX_USING_DMA */ 87 88 #ifdef BSP_SPI2_RX_USING_DMA 89 #ifndef SPI2_RX_DMA_CONFIG 90 #define SPI2_RX_DMA_CONFIG \ 91 { \ 92 .dma_rcc = SPI2_RX_DMA_RCC, \ 93 .Instance = SPI2_RX_DMA_INSTANCE, \ 94 .request = SPI2_RX_DMA_REQUEST, \ 95 .dma_irq = SPI2_RX_DMA_IRQ, \ 96 } 97 #endif /* SPI2_RX_DMA_CONFIG */ 98 #endif /* BSP_SPI2_RX_USING_DMA */ 99 100 #ifdef __cplusplus 101 } 102 #endif 103 104 #endif /*__SPI_CONFIG_H__ */ 105 106 107 108