1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /*
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2021-9-1 DongBowen first version
- */
- #ifndef __DRV_USART_H__
- #define __DRV_USART_H__
- #include <rtthread.h>
- #include "rtdevice.h"
- #include "board_config.h"
- /* hc config class */
- struct hc_uart_cfg
- {
- const char *name;
- M0P_UART_TypeDef *uart;
- en_sysctrl_peripheral_gate_t uart_periph;
- IRQn_Type irqn;
- en_gpio_port_t rx_port;
- en_gpio_pin_t rx_pin;
- en_gpio_af_t rx_af;
- en_gpio_port_t tx_port;
- en_gpio_pin_t tx_pin;
- en_gpio_af_t tx_af;
- };
- /* hc uart dirver class */
- struct hc_uart
- {
- struct hc_uart_cfg *cfg;
- struct rt_serial_device serial_device;
- };
- #ifdef BSP_USING_UART0
- #ifndef UART0_CFG
- #define UART0_CFG \
- { \
- .name = "uart0", \
- .uart = M0P_UART0, \
- .uart_periph = SysctrlPeripheralUart0, \
- .irqn = UART0_2_IRQn, \
- .rx_port = UART0_RX_PORT, \
- .rx_pin = UART0_RX_PIN, \
- .rx_af = UART0_RX_AF, \
- .tx_port = UART0_TX_PORT, \
- .tx_pin = UART0_TX_PIN, \
- .tx_af = UART0_TX_AF, \
- }
- #endif /* UART0_CFG */
- #endif /* BSP_USING_UART0 */
- #ifdef BSP_USING_UART1
- #ifndef UART1_CFG
- #define UART1_CFG \
- { \
- .name = "uart1", \
- .uart = M0P_UART1, \
- .uart_periph = SysctrlPeripheralUart1, \
- .irqn = UART1_3_IRQn, \
- .rx_port = UART1_RX_PORT, \
- .rx_pin = UART1_RX_PIN, \
- .rx_af = UART1_RX_AF, \
- .tx_port = UART1_TX_PORT, \
- .tx_pin = UART1_TX_PIN, \
- .tx_af = UART1_TX_AF, \
- }
- #endif /* UART1_CFG */
- #endif /* BSP_USING_UART1 */
- int rt_hw_uart_init(void);
- #endif /* __DRV_USART_H__ */
|