1 /* 2 * Copyright (c) 2006-2022, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2021-08-23 AisinoChip the first version 9 */ 10 11 #ifndef __UART_CONFIG_H__ 12 #define __UART_CONFIG_H__ 13 14 #include <rtthread.h> 15 #include "board.h" 16 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 #if defined(RT_USING_SERIAL) 23 24 #if defined(BSP_USING_UART1) 25 26 #if defined(RT_SERIAL_USING_DMA) 27 #if defined(BSP_UART1_RX_USING_DMA) 28 #ifndef UART1_DMA_RX_CONFIG 29 #define UART1_DMA_RX_CONFIG \ 30 { \ 31 .Instance = UART1_RX_DMA_INSTANCE, \ 32 .dma_rcc = UART1_RX_DMA_RCC, \ 33 .dma_irq = UART1_RX_DMA_IRQ, \ 34 .channel = UART1_RX_DMA_CHANNEL, \ 35 .request = UART1_RX_DMA_REQUEST, \ 36 } 37 #endif /* UART1_DMA_RX_CONFIG */ 38 #endif /* BSP_UART1_RX_USING_DMA */ 39 40 #if defined(BSP_UART1_TX_USING_DMA) 41 #ifndef UART1_DMA_TX_CONFIG 42 #define UART1_DMA_TX_CONFIG \ 43 { \ 44 .Instance = UART1_TX_DMA_INSTANCE, \ 45 .dma_rcc = UART1_TX_DMA_RCC, \ 46 .dma_irq = UART1_TX_DMA_IRQ, \ 47 .channel = UART1_RX_DMA_CHANNEL, \ 48 .request = UART1_RX_DMA_REQUEST, \ 49 } 50 #endif /* UART1_DMA_TX_CONFIG */ 51 #endif /* BSP_UART1_TX_USING_DMA */ 52 #endif /* RT_SERIAL_USING_DMA */ 53 54 #ifndef UART1_CONFIG 55 #define UART1_CONFIG \ 56 { \ 57 .name = "uart1", \ 58 .Instance = UART1, \ 59 .irq_type = UART1_IRQn, \ 60 .enable_id = EN_UART1, \ 61 .tx_port = UART1_TX_PORT, \ 62 .rx_port = UART1_RX_PORT, \ 63 .tx_pin = UART1_TX_PIN, \ 64 .rx_pin = UART1_RX_PIN, \ 65 } 66 #endif /* UART1_CONFIG */ 67 #endif /* BSP_USING_UART1 */ 68 69 #if defined(BSP_USING_UART2) 70 71 #if defined(RT_SERIAL_USING_DMA) 72 #if defined(BSP_UART2_RX_USING_DMA) 73 #ifndef UART2_DMA_RX_CONFIG 74 #define UART2_DMA_RX_CONFIG \ 75 { \ 76 .Instance = UART2_RX_DMA_INSTANCE, \ 77 .dma_rcc = UART2_RX_DMA_RCC, \ 78 .dma_irq = UART2_RX_DMA_IRQ, \ 79 .channel = UART2_RX_DMA_CHANNEL, \ 80 .request = UART2_RX_DMA_REQUEST, \ 81 } 82 #endif /* UART2_DMA_RX_CONFIG */ 83 #endif /* BSP_UART2_RX_USING_DMA */ 84 85 #if defined(BSP_UART2_TX_USING_DMA) 86 #ifndef UART2_DMA_TX_CONFIG 87 #define UART2_DMA_TX_CONFIG \ 88 { \ 89 .Instance = UART2_TX_DMA_INSTANCE, \ 90 .dma_rcc = UART2_TX_DMA_RCC, \ 91 .dma_irq = UART2_TX_DMA_IRQ, \ 92 .channel = UART2_TX_DMA_CHANNEL, \ 93 .request = UART2_TX_DMA_REQUEST, \ 94 } 95 #endif /* UART2_DMA_TX_CONFIG */ 96 #endif /* BSP_UART2_TX_USING_DMA */ 97 #endif /* RT_SERIAL_USING_DMA */ 98 99 #ifndef UART2_CONFIG 100 #define UART2_CONFIG \ 101 { \ 102 .name = "uart2", \ 103 .Instance = UART2, \ 104 .irq_type = UART2_IRQn, \ 105 .enable_id = EN_UART2, \ 106 .tx_port = UART2_TX_PORT, \ 107 .rx_port = UART2_RX_PORT, \ 108 .tx_pin = UART2_TX_PIN, \ 109 .rx_pin = UART2_RX_PIN, \ 110 } 111 #endif /* UART2_CONFIG */ 112 #endif /* BSP_USING_UART2 */ 113 114 #if defined(BSP_USING_UART3) 115 116 #if defined(RT_SERIAL_USING_DMA) 117 #if defined(BSP_UART3_RX_USING_DMA) 118 #ifndef UART3_DMA_RX_CONFIG 119 #define UART3_DMA_RX_CONFIG \ 120 { \ 121 .Instance = UART3_RX_DMA_INSTANCE, \ 122 .dma_rcc = UART3_RX_DMA_RCC, \ 123 .dma_irq = UART3_RX_DMA_IRQ, \ 124 .channel = UART3_RX_DMA_CHANNEL, \ 125 .request = UART3_RX_DMA_REQUEST, \ 126 } 127 #endif /* UART3_DMA_RX_CONFIG */ 128 #endif /* BSP_UART3_RX_USING_DMA */ 129 130 #if defined(BSP_UART3_TX_USING_DMA) 131 #ifndef UART3_DMA_TX_CONFIG 132 #define UART3_DMA_TX_CONFIG \ 133 { \ 134 .Instance = UART3_TX_DMA_INSTANCE, \ 135 .dma_rcc = UART3_TX_DMA_RCC, \ 136 .dma_irq = UART3_TX_DMA_IRQ, \ 137 .channel = UART3_TX_DMA_CHANNEL, \ 138 .request = UART3_TX_DMA_REQUEST, \ 139 } 140 #endif /* UART3_DMA_TX_CONFIG */ 141 #endif /* BSP_UART3_TX_USING_DMA */ 142 #endif /* RT_SERIAL_USING_DMA */ 143 144 #ifndef UART3_CONFIG 145 #define UART3_CONFIG \ 146 { \ 147 .name = "uart3", \ 148 .Instance = UART3, \ 149 .irq_type = UART3_IRQn, \ 150 .enable_id = EN_UART3, \ 151 .tx_port = UART3_TX_PORT, \ 152 .rx_port = UART3_RX_PORT, \ 153 .tx_pin = UART3_TX_PIN, \ 154 .rx_pin = UART3_RX_PIN, \ 155 } 156 #endif /* UART3_CONFIG */ 157 #endif /* BSP_USING_UART3 */ 158 159 #ifdef __cplusplus 160 } 161 #endif 162 163 #endif /* RT_USING_SERIAL */ 164 165 #endif /* __UART_CONFIG_H__ */ 166