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  * 2019-01-05     SummerGift   modify DMA support
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         .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         .dma_irq = SPI1_RX_DMA_IRQ,                 \
50     }
51 #endif /* SPI1_RX_DMA_CONFIG */
52 #endif /* BSP_SPI1_RX_USING_DMA */
53 
54 #ifdef BSP_USING_SPI2
55 #ifndef SPI2_BUS_CONFIG
56 #define SPI2_BUS_CONFIG                             \
57     {                                               \
58         .Instance = SPI2,                           \
59         .bus_name = "spi2",                         \
60         .irq_type = SPI2_IRQn,                      \
61     }
62 #endif /* SPI2_BUS_CONFIG */
63 #endif /* BSP_USING_SPI2 */
64 
65 #ifdef BSP_SPI2_TX_USING_DMA
66 #ifndef SPI2_TX_DMA_CONFIG
67 #define SPI2_TX_DMA_CONFIG                          \
68     {                                               \
69         .dma_rcc  = SPI2_TX_DMA_RCC,                \
70         .Instance = SPI2_TX_DMA_INSTANCE,           \
71         .dma_irq  = SPI2_TX_DMA_IRQ,                \
72     }
73 #endif /* SPI2_TX_DMA_CONFIG */
74 #endif /* BSP_SPI2_TX_USING_DMA */
75 
76 #ifdef BSP_SPI2_RX_USING_DMA
77 #ifndef SPI2_RX_DMA_CONFIG
78 #define SPI2_RX_DMA_CONFIG                          \
79     {                                               \
80         .dma_rcc  = SPI2_RX_DMA_RCC,                \
81         .Instance = SPI2_RX_DMA_INSTANCE,           \
82         .dma_irq  = SPI2_RX_DMA_IRQ,                \
83     }
84 #endif /* SPI2_RX_DMA_CONFIG */
85 #endif /* BSP_SPI2_RX_USING_DMA */
86 
87 #ifdef __cplusplus
88 }
89 #endif
90 
91 #endif /*__SPI_CONFIG_H__ */
92 
93 
94 
95