1 /* 2 * Copyright (c) 2006-2023, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2018-10-30 SummerGift first version 9 * 2019-01-05 zylx modify dma support 10 * 2020-05-02 whj4674672 support stm32h7 uart dma 11 */ 12 13 #ifndef __UART_CONFIG_H__ 14 #define __UART_CONFIG_H__ 15 16 #include <rtthread.h> 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 #if defined(BSP_USING_UART1) 23 #ifndef UART1_CONFIG 24 #define UART1_CONFIG \ 25 { \ 26 .name = "uart1", \ 27 .Instance = USART1, \ 28 .irq_type = USART1_IRQn, \ 29 } 30 #endif /* UART1_CONFIG */ 31 #endif /* BSP_USING_UART1 */ 32 33 #if defined(BSP_UART1_RX_USING_DMA) 34 #ifndef UART1_DMA_RX_CONFIG 35 #define UART1_DMA_RX_CONFIG \ 36 { \ 37 .Instance = UART1_RX_DMA_INSTANCE, \ 38 .request = UART1_RX_DMA_REQUEST, \ 39 .dma_rcc = UART1_RX_DMA_RCC, \ 40 .dma_irq = UART1_RX_DMA_IRQ, \ 41 } 42 #endif /* UART1_DMA_RX_CONFIG */ 43 #endif /* BSP_UART1_RX_USING_DMA */ 44 45 #if defined(BSP_USING_UART2) 46 #ifndef UART2_CONFIG 47 #define UART2_CONFIG \ 48 { \ 49 .name = "uart2", \ 50 .Instance = USART2, \ 51 .irq_type = USART2_IRQn, \ 52 } 53 #endif /* UART2_CONFIG */ 54 #endif /* BSP_USING_UART2 */ 55 56 #if defined(BSP_UART2_RX_USING_DMA) 57 #ifndef UART2_DMA_RX_CONFIG 58 #define UART2_DMA_RX_CONFIG \ 59 { \ 60 .Instance = UART2_RX_DMA_INSTANCE, \ 61 .request = UART2_RX_DMA_REQUEST, \ 62 .dma_rcc = UART2_RX_DMA_RCC, \ 63 .dma_irq = UART2_RX_DMA_IRQ, \ 64 } 65 #endif /* UART2_DMA_RX_CONFIG */ 66 #endif /* BSP_UART2_RX_USING_DMA */ 67 #if defined(BSP_UART2_TX_USING_DMA) 68 #ifndef UART2_DMA_TX_CONFIG 69 #define UART2_DMA_TX_CONFIG \ 70 { \ 71 .Instance = UART2_TX_DMA_INSTANCE, \ 72 .request = UART2_TX_DMA_REQUEST, \ 73 .dma_rcc = UART2_TX_DMA_RCC, \ 74 .dma_irq = UART2_TX_DMA_IRQ, \ 75 } 76 #endif /* UART2_DMA_TX_CONFIG */ 77 #endif /* BSP_UART2_TX_USING_DMA */ 78 79 #if defined(BSP_USING_UART3) 80 #ifndef UART3_CONFIG 81 #define UART3_CONFIG \ 82 { \ 83 .name = "uart3", \ 84 .Instance = USART3, \ 85 .irq_type = USART3_IRQn, \ 86 } 87 #endif /* UART3_CONFIG */ 88 #endif /* BSP_USING_UART3 */ 89 90 #if defined(BSP_UART3_RX_USING_DMA) 91 #ifndef UART3_DMA_RX_CONFIG 92 #define UART3_DMA_RX_CONFIG \ 93 { \ 94 .Instance = UART3_RX_DMA_INSTANCE, \ 95 .request = UART3_RX_DMA_REQUEST, \ 96 .dma_rcc = UART3_RX_DMA_RCC, \ 97 .dma_irq = UART3_RX_DMA_IRQ, \ 98 } 99 #endif /* UART3_DMA_RX_CONFIG */ 100 #endif /* BSP_UART3_RX_USING_DMA */ 101 102 #if defined(BSP_USING_UART4) 103 #ifndef UART4_CONFIG 104 #define UART4_CONFIG \ 105 { \ 106 .name = "uart4", \ 107 .Instance = UART4, \ 108 .irq_type = UART4_IRQn, \ 109 } 110 #endif /* UART4_CONFIG */ 111 #endif /* BSP_USING_UART4 */ 112 113 #if defined(BSP_UART4_RX_USING_DMA) 114 #ifndef UART4_DMA_RX_CONFIG 115 #define UART4_DMA_RX_CONFIG \ 116 { \ 117 .Instance = UART4_RX_DMA_INSTANCE, \ 118 .request = UART4_RX_DMA_REQUEST, \ 119 .dma_rcc = UART4_RX_DMA_RCC, \ 120 .dma_irq = UART4_RX_DMA_IRQ, \ 121 } 122 #endif /* UART4_DMA_RX_CONFIG */ 123 #endif /* BSP_UART4_RX_USING_DMA */ 124 125 #if defined(BSP_USING_UART5) 126 #ifndef UART5_CONFIG 127 #define UART5_CONFIG \ 128 { \ 129 .name = "uart5", \ 130 .Instance = UART5, \ 131 .irq_type = UART5_IRQn, \ 132 } 133 #endif /* UART5_CONFIG */ 134 #endif /* BSP_USING_UART5 */ 135 136 #if defined(BSP_UART5_RX_USING_DMA) 137 #ifndef UART5_DMA_RX_CONFIG 138 #define UART5_DMA_RX_CONFIG \ 139 { \ 140 .Instance = UART5_RX_DMA_INSTANCE, \ 141 .request = UART5_RX_DMA_REQUEST, \ 142 .dma_rcc = UART5_RX_DMA_RCC, \ 143 .dma_irq = UART5_RX_DMA_IRQ, \ 144 } 145 #endif /* UART5_DMA_RX_CONFIG */ 146 #endif /* BSP_UART5_RX_USING_DMA */ 147 148 #ifdef __cplusplus 149 } 150 #endif 151 152 #endif 153