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