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  * 2020-10-14     Dozingfiretruck   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