18#ifndef __HAL_DRIVER_PL011_UART_H__
19#define __HAL_DRIVER_PL011_UART_H__
25#if VSF_HAL_USE_USART == ENABLED
27#if defined(__VSF_HAL_PL011_UART_CLASS_IMPLEMENT)
28# define __VSF_CLASS_IMPLEMENT__
29#elif defined(__VSF_HAL_PL011_UART_CLASS_INHERIT__)
30# define __VSF_CLASS_INHERIT__
41#ifndef VSF_PL011_USART_CFG_MULTI_CLASS
42# define VSF_PL011_USART_CFG_MULTI_CLASS VSF_USART_CFG_MULTI_CLASS
45#define VSF_USART_CFG_REIMPLEMENT_TYPE_MODE ENABLED
46#define VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
47#define VSF_USART_CFG_REIMPLEMENT_TYPE_STATUS ENABLED
160#if VSF_PL011_USART_CFG_MULTI_CLASS == ENABLED
vsf_err_t
Definition __type.h:42
vsf_usart_mode_t
Definition uart.h:32
vsf_usart_irq_mask_t
Definition uart.h:106
Definition vsf_pl011_uart.h:159
unsigned int uint32_t
Definition lvgl.h:43
#define vsf_class(__name)
Definition ooc_class.h:48
const i_spi_t vsf_spi_irq_mask_t irq_mask
Definition spi_interface.h:38
uint32_t uintptr_t
Definition stdint.h:38
unsigned int uint_fast32_t
Definition stdint.h:27
unsigned short uint_fast16_t
Definition stdint.h:25
Definition vsf_template_usart.h:695
Definition vsf_template_usart.h:621
Definition vsf_template_usart.h:615
uint32_t cts
Definition vsf_pl011_uart.h:135
uint32_t ri
Definition vsf_pl011_uart.h:143
uint32_t is_busy
Definition usart.h:280
uint32_t value
Definition usart.h:283
uint32_t txff
Definition vsf_pl011_uart.h:140
uint32_t rxfe
Definition vsf_pl011_uart.h:139
uint32_t dsr
Definition vsf_pl011_uart.h:136
uint32_t dcd
Definition vsf_pl011_uart.h:137
uint32_t txfe
Definition vsf_pl011_uart.h:142
uint32_t rxff
Definition vsf_pl011_uart.h:141
Definition vsf_template_usart.h:726
vsf_adc_isr_t isr
Definition adc.h:83
fsm_rt_t
Definition vsf_fsm.h:315
fsm_rt_t vsf_pl011_usart_disable(vsf_pl011_usart_t *pl011_usart_ptr)
vsf_usart_irq_mask_t vsf_pl011_usart_irq_disable(vsf_pl011_usart_t *pl011_usart_ptr, vsf_usart_irq_mask_t irq_mask)
vsf_usart_mode_t
Definition vsf_pl011_uart.h:52
@ PL011_USART_ENABLE_MASK
Definition vsf_pl011_uart.h:99
@ PL011_USART_MODE_MASK
Definition vsf_pl011_uart.h:81
@ VSF_USART_8_BIT_LENGTH
Definition vsf_pl011_uart.h:54
@ PL011_USART_STOPBIT_MASK
Definition vsf_pl011_uart.h:74
@ VSF_USART_EVEN_PARITY
Definition vsf_pl011_uart.h:66
@ PL011_USART_BIT_LENGTH_MASK
Definition vsf_pl011_uart.h:70
@ VSF_USART_ODD_PARITY
Definition vsf_pl011_uart.h:65
@ VSF_USART_NO_PARITY
Definition vsf_pl011_uart.h:64
@ VSF_USART_RTS_HWCONTROL
Definition vsf_pl011_uart.h:95
@ VSF_USART_RX_ENABLE
Definition vsf_pl011_uart.h:90
@ VSF_USART_FORCE_0_PARITY
Definition vsf_pl011_uart.h:67
@ VSF_USART_TX_ENABLE
Definition vsf_pl011_uart.h:86
@ VSF_USART_9_BIT_LENGTH
Definition vsf_pl011_uart.h:104
@ VSF_USART_7_BIT_LENGTH
Definition vsf_pl011_uart.h:55
@ VSF_USART_1_STOPBIT
Definition vsf_pl011_uart.h:60
@ VSF_USART_FORCE_1_PARITY
Definition vsf_pl011_uart.h:68
@ VSF_USART_RX_DISABLE
Definition vsf_pl011_uart.h:91
@ VSF_USART_2_STOPBIT
Definition vsf_pl011_uart.h:61
@ VSF_USART_CTS_HWCONTROL
Definition vsf_pl011_uart.h:96
@ VSF_USART_5_BIT_LENGTH
Definition vsf_pl011_uart.h:57
@ PL011_USART_PARITY_MASK
Definition vsf_pl011_uart.h:76
@ VSF_USART_RTS_CTS_HWCONTROL
Definition vsf_pl011_uart.h:97
@ VSF_USART_TX_DISABLE
Definition vsf_pl011_uart.h:87
@ VSF_USART_6_BIT_LENGTH
Definition vsf_pl011_uart.h:56
@ VSF_USART_NO_HWCONTROL
Definition vsf_pl011_uart.h:94
@ VSF_USART_1_5_STOPBIT
Definition vsf_pl011_uart.h:105
vsf_usart_irq_mask_t vsf_pl011_usart_irq_enable(vsf_pl011_usart_t *pl011_usart_ptr, vsf_usart_irq_mask_t irq_mask)
vsf_err_t vsf_pl011_usart_init(vsf_pl011_usart_t *pl011_usart_ptr, vsf_usart_cfg_t *cfg_ptr, uint_fast32_t clk_hz)
fsm_rt_t vsf_pl011_usart_enable(vsf_pl011_usart_t *pl011_usart_ptr)
void vsf_pl011_usart_fini(vsf_pl011_usart_t *pl011_usart_ptr)
vsf_usart_irq_mask_t
Definition vsf_pl011_uart.h:108
@ VSF_USART_IRQ_MASK_OVERFLOW_ERR
Definition vsf_pl011_uart.h:119
@ PL011_USART_IRQ_MASK_FIFO
Definition vsf_pl011_uart.h:125
@ VSF_USART_IRQ_MASK_TX
Definition vsf_pl011_uart.h:111
@ VSF_USART_IRQ_MASK_BREAK_ERR
Definition vsf_pl011_uart.h:118
@ VSF_USART_IRQ_MASK_RX
Definition vsf_pl011_uart.h:110
@ VSF_USART_IRQ_MASK_RX_TIMEOUT
Definition vsf_pl011_uart.h:113
@ PL011_USART_IRQ_MASK_ERROR
Definition vsf_pl011_uart.h:121
@ VSF_USART_IRQ_MASK_PARITY_ERR
Definition vsf_pl011_uart.h:117
@ VSF_USART_IRQ_MASK_FRAME_ERR
Definition vsf_pl011_uart.h:116
@ PL011_USART_IRQ_MASK
Definition vsf_pl011_uart.h:127
uint_fast16_t vsf_pl011_usart_rxfifo_read(vsf_pl011_usart_t *pl011_usart_ptr, void *buffer_ptr, uint_fast16_t count)
vsf_usart_capability_t vsf_pl011_usart_capability(vsf_pl011_usart_t *pl011_usart_ptr, uint_fast32_t clk_hz)
vsf_usart_status_t vsf_pl011_usart_status(vsf_pl011_usart_t *pl011_usart_ptr)
uint_fast16_t vsf_pl011_usart_rxfifo_get_data_count(vsf_pl011_usart_t *pl011_usart_ptr)
struct vsf_usart_status_t vsf_usart_status_t
uint_fast16_t vsf_pl011_usart_txfifo_write(vsf_pl011_usart_t *pl011_usart_ptr, void *buffer_ptr, uint_fast16_t count)
uintptr_t vsf_pl011_usart_rxdma_config(vsf_pl011_usart_t *pl011_usart_ptr, bool enable)
uint_fast16_t vsf_pl011_usart_txfifo_get_free_count(vsf_pl011_usart_t *pl011_usart_ptr)
uintptr_t vsf_pl011_usart_txdma_config(vsf_pl011_usart_t *pl011_usart_ptr, bool enable)
void vsf_pl011_usart_irqhandler(vsf_pl011_usart_t *pl011_usart_ptr)