1 /*
2  * Copyright (c) 2006-2021, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2022-11-18     shelton      first version
9  */
10 
11 #ifndef __SPI_CONFIG_H__
12 #define __SPI_CONFIG_H__
13 
14 #include <rtthread.h>
15 #include "dma_config.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #define SPI1_IRQHandler      SPI1_IRQHandler
22 #define SPI2_IRQHandler      SPI2_IRQHandler
23 
24 #ifdef BSP_USING_SPI1
25 #define SPI1_CONFIG                                 \
26     {                                               \
27         .spi_x = SPI1,                              \
28         .spi_name = "spi1",                         \
29         .irqn = SPI1_IRQn,                          \
30     }
31 #endif /* BSP_USING_SPI1 */
32 
33 #ifdef BSP_SPI1_RX_USING_DMA
34 #define SPI1_RX_DMA_CONFIG                          \
35     {                                               \
36         .dma_channel = SPI1_RX_DMA_CHANNEL,         \
37         .dma_clock = SPI1_RX_DMA_CLOCK,             \
38         .dma_irqn = SPI1_RX_DMA_IRQ,                \
39     }
40 #endif /* BSP_SPI1_RX_USING_DMA */
41 
42 #ifdef BSP_SPI1_TX_USING_DMA
43 #define SPI1_TX_DMA_CONFIG                          \
44     {                                               \
45         .dma_channel = SPI1_TX_DMA_CHANNEL,         \
46         .dma_clock = SPI1_TX_DMA_CLOCK,             \
47         .dma_irqn = SPI1_TX_DMA_IRQ,                \
48     }
49 #endif /* BSP_SPI1_TX_USING_DMA */
50 
51 #ifdef BSP_USING_SPI2
52 #define SPI2_CONFIG                                 \
53     {                                               \
54         .spi_x = SPI2,                              \
55         .spi_name = "spi2",                         \
56         .irqn = SPI2_IRQn,                          \
57     }
58 #endif /* BSP_USING_SPI2 */
59 
60 #ifdef BSP_SPI2_RX_USING_DMA
61 #define SPI2_RX_DMA_CONFIG                          \
62     {                                               \
63         .dma_channel = SPI2_RX_DMA_CHANNEL,         \
64         .dma_clock = SPI2_RX_DMA_CLOCK,             \
65         .dma_irqn = SPI2_RX_DMA_IRQ,                \
66     }
67 #endif /* BSP_SPI2_RX_USING_DMA */
68 
69 #ifdef BSP_SPI2_TX_USING_DMA
70 #define SPI2_TX_DMA_CONFIG                          \
71     {                                               \
72         .dma_channel = SPI2_TX_DMA_CHANNEL,         \
73         .dma_clock = SPI2_TX_DMA_CLOCK,             \
74         .dma_irqn = SPI2_TX_DMA_IRQ,                \
75     }
76 #endif /* BSP_SPI2_TX_USING_DMA */
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
82 #endif /*__SPI_CONFIG_H__ */
83