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  * 2023-01-31     shelton      first version
9  */
10 
11 #ifndef __UART_CONFIG_H__
12 #define __UART_CONFIG_H__
13 
14 #include <rtthread.h>
15 #include "dma_config.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #define UART1_IRQHandler      USART1_IRQHandler
22 #define UART2_IRQHandler      USART2_IRQHandler
23 
24 #if defined(BSP_USING_UART1)
25 #define UART1_CONFIG                                                \
26     {                                                               \
27         .name = "uart1",                                            \
28         .uart_x = USART1,                                           \
29         .irqn = USART1_IRQn,                                        \
30     }
31 
32 #if defined(BSP_UART1_RX_USING_DMA)
33 #define UART1_RX_DMA_CONFIG                                         \
34     {                                                               \
35         .dma_channel = UART1_RX_DMA_CHANNEL,                        \
36         .dma_clock = UART1_RX_DMA_CLOCK,                            \
37         .dma_irqn = UART1_RX_DMA_IRQ,                               \
38     }
39 #endif /* BSP_UART1_RX_USING_DMA */
40 
41 #if defined(BSP_UART1_TX_USING_DMA)
42 #define UART1_TX_DMA_CONFIG                                         \
43     {                                                               \
44         .dma_channel = UART1_TX_DMA_CHANNEL,                        \
45         .dma_clock = UART1_TX_DMA_CLOCK,                            \
46         .dma_irqn = UART1_TX_DMA_IRQ,                               \
47     }
48 #endif /* BSP_UART1_TX_USING_DMA */
49 #endif /* BSP_USING_UART1 */
50 
51 #if defined(BSP_USING_UART2)
52 #define UART2_CONFIG                                                \
53     {                                                               \
54         .name = "uart2",                                            \
55         .uart_x = USART2,                                           \
56         .irqn = USART2_IRQn,                                        \
57     }
58 
59 #if defined(BSP_UART2_RX_USING_DMA)
60 #define UART2_RX_DMA_CONFIG                                         \
61     {                                                               \
62         .dma_channel = UART2_RX_DMA_CHANNEL,                        \
63         .dma_clock = UART2_RX_DMA_CLOCK,                            \
64         .dma_irqn = UART2_RX_DMA_IRQ,                               \
65     }
66 #endif /* BSP_UART2_RX_USING_DMA */
67 
68 #if defined(BSP_UART2_TX_USING_DMA)
69 #define UART2_TX_DMA_CONFIG                                         \
70     {                                                               \
71         .dma_channel = UART2_TX_DMA_CHANNEL,                        \
72         .dma_clock = UART2_TX_DMA_CLOCK,                            \
73         .dma_irqn = UART2_TX_DMA_IRQ,                               \
74     }
75 #endif /* BSP_UART2_TX_USING_DMA */
76 #endif /* BSP_USING_UART2 */
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
82 #endif
83