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-09 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 #define UART3_IRQHandler USART3_IRQHandler 24 #define UART4_IRQHandler UART4_IRQHandler 25 #define UART5_IRQHandler UART5_IRQHandler 26 27 #if defined(BSP_USING_UART1) 28 #define UART1_CONFIG \ 29 { \ 30 .name = "uart1", \ 31 .uart_x = USART1, \ 32 .irqn = USART1_IRQn, \ 33 } 34 35 #if defined(BSP_UART1_RX_USING_DMA) 36 #define UART1_RX_DMA_CONFIG \ 37 { \ 38 .dma_channel = UART1_RX_DMA_CHANNEL, \ 39 .dma_clock = UART1_RX_DMA_CLOCK, \ 40 .dma_irqn = UART1_RX_DMA_IRQ, \ 41 } 42 #endif /* BSP_UART1_RX_USING_DMA */ 43 44 #if defined(BSP_UART1_TX_USING_DMA) 45 #define UART1_TX_DMA_CONFIG \ 46 { \ 47 .dma_channel = UART1_TX_DMA_CHANNEL, \ 48 .dma_clock = UART1_TX_DMA_CLOCK, \ 49 .dma_irqn = UART1_TX_DMA_IRQ, \ 50 } 51 #endif /* BSP_UART1_TX_USING_DMA */ 52 #endif /* BSP_USING_UART1 */ 53 54 #if defined(BSP_USING_UART2) 55 #define UART2_CONFIG \ 56 { \ 57 .name = "uart2", \ 58 .uart_x = USART2, \ 59 .irqn = USART2_IRQn, \ 60 } 61 62 #if defined(BSP_UART2_RX_USING_DMA) 63 #define UART2_RX_DMA_CONFIG \ 64 { \ 65 .dma_channel = UART2_RX_DMA_CHANNEL, \ 66 .dma_clock = UART2_RX_DMA_CLOCK, \ 67 .dma_irqn = UART2_RX_DMA_IRQ, \ 68 } 69 #endif /* BSP_UART2_RX_USING_DMA */ 70 71 #if defined(BSP_UART2_TX_USING_DMA) 72 #define UART2_TX_DMA_CONFIG \ 73 { \ 74 .dma_channel = UART2_TX_DMA_CHANNEL, \ 75 .dma_clock = UART2_TX_DMA_CLOCK, \ 76 .dma_irqn = UART2_TX_DMA_IRQ, \ 77 } 78 #endif /* BSP_UART2_TX_USING_DMA */ 79 #endif /* BSP_USING_UART2 */ 80 81 #if defined(BSP_USING_UART3) 82 #define UART3_CONFIG \ 83 { \ 84 .name = "uart3", \ 85 .uart_x = USART3, \ 86 .irqn = USART3_IRQn, \ 87 } 88 89 #if defined(BSP_UART3_RX_USING_DMA) 90 #define UART3_RX_DMA_CONFIG \ 91 { \ 92 .dma_channel = UART3_RX_DMA_CHANNEL, \ 93 .dma_clock = UART3_RX_DMA_CLOCK, \ 94 .dma_irqn = UART3_RX_DMA_IRQ, \ 95 } 96 #endif /* BSP_UART3_RX_USING_DMA */ 97 98 #if defined(BSP_UART3_TX_USING_DMA) 99 #define UART3_TX_DMA_CONFIG \ 100 { \ 101 .dma_channel = UART3_TX_DMA_CHANNEL, \ 102 .dma_clock = UART3_TX_DMA_CLOCK, \ 103 .dma_irqn = UART3_TX_DMA_IRQ, \ 104 } 105 #endif /* BSP_UART3_TX_USING_DMA */ 106 #endif /* BSP_USING_UART3 */ 107 108 #if defined(BSP_USING_UART4) 109 #define UART4_CONFIG \ 110 { \ 111 .name = "uart4", \ 112 .uart_x = UART4, \ 113 .irqn = UART4_IRQn, \ 114 } 115 116 #if defined(BSP_UART4_RX_USING_DMA) 117 #define UART4_RX_DMA_CONFIG \ 118 { \ 119 .dma_channel = UART4_RX_DMA_CHANNEL, \ 120 .dma_clock = UART4_RX_DMA_CLOCK, \ 121 .dma_irqn = UART4_RX_DMA_IRQ, \ 122 } 123 #endif /* BSP_UART4_RX_USING_DMA */ 124 125 #if defined(BSP_UART4_TX_USING_DMA) 126 #define UART4_TX_DMA_CONFIG \ 127 { \ 128 .dma_channel = UART4_TX_DMA_CHANNEL, \ 129 .dma_clock = UART4_TX_DMA_CLOCK, \ 130 .dma_irqn = UART4_TX_DMA_IRQ, \ 131 } 132 #endif /* BSP_UART4_TX_USING_DMA */ 133 #endif /* BSP_USING_UART4 */ 134 135 #if defined(BSP_USING_UART5) 136 #define UART5_CONFIG \ 137 { \ 138 .name = "uart5", \ 139 .uart_x = UART5, \ 140 .irqn = UART5_IRQn, \ 141 } 142 #endif /* BSP_USING_UART5 */ 143 144 #ifdef __cplusplus 145 } 146 #endif 147 148 #endif 149