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 .flex_channel = UART1_RX_DMA_FLEX_CHANNEL, \ 39 .request_id = UART1_RX_DMA_REQ_ID, \ 40 } 41 #endif /* BSP_UART1_RX_USING_DMA */ 42 43 #if defined(BSP_UART1_TX_USING_DMA) 44 #define UART1_TX_DMA_CONFIG \ 45 { \ 46 .dma_channel = UART1_TX_DMA_CHANNEL, \ 47 .dma_clock = UART1_TX_DMA_CLOCK, \ 48 .dma_irqn = UART1_TX_DMA_IRQ, \ 49 .flex_channel = UART1_TX_DMA_FLEX_CHANNEL, \ 50 .request_id = UART1_TX_DMA_REQ_ID, \ 51 } 52 #endif /* BSP_UART1_TX_USING_DMA */ 53 #endif /* BSP_USING_UART1 */ 54 55 #if defined(BSP_USING_UART2) 56 #define UART2_CONFIG \ 57 { \ 58 .name = "uart2", \ 59 .uart_x = USART2, \ 60 .irqn = USART2_IRQn, \ 61 } 62 63 #if defined(BSP_UART2_RX_USING_DMA) 64 #define UART2_RX_DMA_CONFIG \ 65 { \ 66 .dma_channel = UART2_RX_DMA_CHANNEL, \ 67 .dma_clock = UART2_RX_DMA_CLOCK, \ 68 .dma_irqn = UART2_RX_DMA_IRQ, \ 69 .flex_channel = UART2_RX_DMA_FLEX_CHANNEL, \ 70 .request_id = UART2_RX_DMA_REQ_ID, \ 71 } 72 #endif /* BSP_UART2_RX_USING_DMA */ 73 74 #if defined(BSP_UART2_TX_USING_DMA) 75 #define UART2_TX_DMA_CONFIG \ 76 { \ 77 .dma_channel = UART2_TX_DMA_CHANNEL, \ 78 .dma_clock = UART2_TX_DMA_CLOCK, \ 79 .dma_irqn = UART2_TX_DMA_IRQ, \ 80 .flex_channel = UART2_TX_DMA_FLEX_CHANNEL, \ 81 .request_id = UART2_TX_DMA_REQ_ID, \ 82 } 83 #endif /* BSP_UART2_TX_USING_DMA */ 84 #endif /* BSP_USING_UART2 */ 85 86 #if defined(BSP_USING_UART3) 87 #define UART3_CONFIG \ 88 { \ 89 .name = "uart3", \ 90 .uart_x = USART3, \ 91 .irqn = USART4_3_IRQn, \ 92 } 93 94 #if defined(BSP_UART3_RX_USING_DMA) 95 #define UART3_RX_DMA_CONFIG \ 96 { \ 97 .dma_channel = UART3_RX_DMA_CHANNEL, \ 98 .dma_clock = UART3_RX_DMA_CLOCK, \ 99 .dma_irqn = UART3_RX_DMA_IRQ, \ 100 .flex_channel = UART3_RX_DMA_FLEX_CHANNEL, \ 101 .request_id = UART3_RX_DMA_REQ_ID, \ 102 } 103 #endif /* BSP_UART3_RX_USING_DMA */ 104 105 #if defined(BSP_UART3_TX_USING_DMA) 106 #define UART3_TX_DMA_CONFIG \ 107 { \ 108 .dma_channel = UART3_TX_DMA_CHANNEL, \ 109 .dma_clock = UART3_TX_DMA_CLOCK, \ 110 .dma_irqn = UART3_TX_DMA_IRQ, \ 111 .flex_channel = UART3_TX_DMA_FLEX_CHANNEL, \ 112 .request_id = UART3_TX_DMA_REQ_ID, \ 113 } 114 #endif /* BSP_UART3_TX_USING_DMA */ 115 #endif /* BSP_USING_UART3 */ 116 117 #if defined(BSP_USING_UART4) 118 #define UART4_CONFIG \ 119 { \ 120 .name = "uart4", \ 121 .uart_x = USART4, \ 122 .irqn = USART4_3_IRQn, \ 123 } 124 #endif /* BSP_USING_UART4 */ 125 126 #ifdef __cplusplus 127 } 128 #endif 129 130 #endif 131