11 #include "hpm_uart_regs.h"
12 #include "hpm_soc_feature.h"
55 #if defined(HPM_IP_FEATURE_UART_FINE_FIFO_THRLD) && (HPM_IP_FEATURE_UART_FINE_FIFO_THRLD == 1)
118 #if defined(HPM_IP_FEATURE_UART_RX_IDLE_DETECT) && (HPM_IP_FEATURE_UART_RX_IDLE_DETECT == 1)
121 #if defined(HPM_IP_FEATURE_UART_9BIT_MODE) && (HPM_IP_FEATURE_UART_9BIT_MODE == 1)
124 #if defined(HPM_IP_FEATURE_UART_ADDR_MATCH) && (HPM_IP_FEATURE_UART_ADDR_MATCH == 1)
161 #if defined(HPM_IP_FEATURE_UART_RX_IDLE_DETECT) && (HPM_IP_FEATURE_UART_RX_IDLE_DETECT == 1)
195 #if defined(HPM_IP_FEATURE_UART_RX_IDLE_DETECT) && (HPM_IP_FEATURE_UART_RX_IDLE_DETECT == 1)
198 #if defined(HPM_IP_FEATURE_UART_9BIT_MODE) && (HPM_IP_FEATURE_UART_9BIT_MODE == 1)
201 #if defined(HPM_IP_FEATURE_UART_RX_EN) && (HPM_IP_FEATURE_UART_RX_EN == 1)
206 #if defined(HPM_IP_FEATURE_UART_TRIG_MODE) && (HPM_IP_FEATURE_UART_TRIG_MODE == 1)
265 #if defined(HPM_IP_FEATURE_UART_RX_EN) && (HPM_IP_FEATURE_UART_RX_EN == 1)
283 #if defined(HPM_IP_FEATURE_UART_FCRR) && (HPM_IP_FEATURE_UART_FCRR == 1)
297 #if defined(HPM_IP_FEATURE_UART_FCRR) && (HPM_IP_FEATURE_UART_FCRR == 1)
311 #if defined(HPM_IP_FEATURE_UART_FCRR) && (HPM_IP_FEATURE_UART_FCRR == 1)
416 return ((ptr->
MSR & mask) != 0U) ? true :
false;
427 ptr->
IER &= ~irq_mask;
438 ptr->
IER |= irq_mask;
463 #if defined(HPM_IP_FEATURE_UART_RX_IDLE_DETECT) && (HPM_IP_FEATURE_UART_RX_IDLE_DETECT == 1)
466 #if !defined(HPM_IP_FEATURE_UART_E00018_FIX) || (HPM_IP_FEATURE_UART_E00018_FIX == 0)
517 #if defined(HPM_IP_FEATURE_UART_E00018_FIX) && (HPM_IP_FEATURE_UART_E00018_FIX == 1)
557 #if defined(HPM_IP_FEATURE_UART_9BIT_MODE) && (HPM_IP_FEATURE_UART_9BIT_MODE == 1)
611 return ((ptr->
LSR & mask) != 0U) ? true :
false;
712 #if defined(HPM_IP_FEATURE_UART_TRIG_MODE) && (HPM_IP_FEATURE_UART_TRIG_MODE == 1)
776 #if defined(HPM_IP_FEATURE_UART_ADDR_MATCH) && (HPM_IP_FEATURE_UART_ADDR_MATCH == 1)
923 #if defined(HPM_IP_FEATURE_UART_DISABLE_DMA_TIMEOUT) && (HPM_IP_FEATURE_UART_DISABLE_DMA_TIMEOUT == 1)
929 static inline void uart_disable_rx_timeout_trig_dma(
UART_Type *ptr)
931 ptr->
FCRR |= UART_FCRR_TMOUT_RXDMA_DIS_MASK;
939 static inline void uart_enable_rx_timeout_trig_dma(
UART_Type *ptr)
941 ptr->
FCRR &= ~UART_FCRR_TMOUT_RXDMA_DIS_MASK;
#define UART_ADDR_CFG_A1_EN_MASK
Definition: hpm_uart_regs.h:167
#define UART_ADDR_CFG_ADDR1_MASK
Definition: hpm_uart_regs.h:190
#define UART_LSR_DR_MASK
Definition: hpm_uart_regs.h:1002
#define UART_ADDR_CFG_ADDR1_SET(x)
Definition: hpm_uart_regs.h:192
#define UART_FCRR_RFIFORST_MASK
Definition: hpm_uart_regs.h:400
#define UART_IIR2_TXIDLE_FLAG_MASK
Definition: hpm_uart_regs.h:225
#define UART_IER_EADDRM_IDLE_MASK
Definition: hpm_uart_regs.h:554
#define UART_IER_ETHEI_MASK
Definition: hpm_uart_regs.h:601
#define UART_IDLE_CFG_TX_IDLE_EN_MASK
Definition: hpm_uart_regs.h:62
#define UART_IER_ELSI_MASK
Definition: hpm_uart_regs.h:591
#define UART_ADDR_CFG_RXEN_9BIT_MASK
Definition: hpm_uart_regs.h:154
#define UART_MOTO_CFG_SWTRG_MASK
Definition: hpm_uart_regs.h:425
#define UART_IIR2_ADDR_MATCH_MASK
Definition: hpm_uart_regs.h:237
#define UART_MCR_RTS_SET(x)
Definition: hpm_uart_regs.h:861
#define UART_MCR_AFE_MASK
Definition: hpm_uart_regs.h:834
#define UART_MSR_CTS_MASK
Definition: hpm_uart_regs.h:1014
#define UART_IER_EADDRM_MASK
Definition: hpm_uart_regs.h:544
#define UART_ADDR_CFG_TXEN_9BIT_MASK
Definition: hpm_uart_regs.h:132
#define UART_IIR2_DATA_LOST_MASK
Definition: hpm_uart_regs.h:259
#define UART_LSR_TFIFO_NUM_GET(x)
Definition: hpm_uart_regs.h:899
#define UART_MCR_LOOP_MASK
Definition: hpm_uart_regs.h:846
#define UART_ADDR_CFG_ADDR0_MASK
Definition: hpm_uart_regs.h:200
#define UART_IDLE_CFG_RX_IDLE_EN_MASK
Definition: hpm_uart_regs.h:110
#define UART_IIR_RXIDLE_FLAG_MASK
Definition: hpm_uart_regs.h:639
#define UART_LSR_PE_MASK
Definition: hpm_uart_regs.h:979
#define UART_IER_EDATLOST_MASK
Definition: hpm_uart_regs.h:564
#define UART_MSR_DCTS_MASK
Definition: hpm_uart_regs.h:1026
#define UART_MOTO_CFG_HWTRG_EN_MASK
Definition: hpm_uart_regs.h:445
#define UART_ADDR_CFG_ADDR0_SET(x)
Definition: hpm_uart_regs.h:202
#define UART_ADDR_CFG_A0_EN_MASK
Definition: hpm_uart_regs.h:177
#define UART_ADDR_CFG_RXEN_ADDR_MSB_MASK
Definition: hpm_uart_regs.h:144
#define UART_MCR_LOOP_SET(x)
Definition: hpm_uart_regs.h:848
#define UART_FCR_RFIFORST_MASK
Definition: hpm_uart_regs.h:718
#define UART_IER_ERXIDLE_MASK
Definition: hpm_uart_regs.h:524
#define UART_LSR_OE_MASK
Definition: hpm_uart_regs.h:990
#define UART_FCR_TFIFORST_MASK
Definition: hpm_uart_regs.h:705
#define UART_LSR_ERRF_MASK
Definition: hpm_uart_regs.h:911
#define UART_IIR_INTRID_MASK
Definition: hpm_uart_regs.h:660
#define UART_IER_EMSI_MASK
Definition: hpm_uart_regs.h:581
#define UART_IIR2_RXIDLE_FLAG_MASK
Definition: hpm_uart_regs.h:213
#define UART_LSR_FE_MASK
Definition: hpm_uart_regs.h:965
#define UART_IER_ETXIDLE_MASK
Definition: hpm_uart_regs.h:534
#define UART_LSR_TEMT_MASK
Definition: hpm_uart_regs.h:923
#define UART_FCRR_TFIFORST_MASK
Definition: hpm_uart_regs.h:387
#define UART_LSR_LBREAK_MASK
Definition: hpm_uart_regs.h:952
#define UART_CFG_FIFOSIZE_MASK
Definition: hpm_uart_regs.h:294
#define UART_MCR_AFE_SET(x)
Definition: hpm_uart_regs.h:836
#define UART_IER_ERBI_MASK
Definition: hpm_uart_regs.h:614
#define UART_IDLE_CFG_RXEN_MASK
Definition: hpm_uart_regs.h:85
#define UART_LSR_THRE_MASK
Definition: hpm_uart_regs.h:936
#define UART_IIR2_ADDR_MATCH_IDLE_MASK
Definition: hpm_uart_regs.h:248
#define UART_RBR_RBR_MASK
Definition: hpm_uart_regs.h:490
#define UART_LSR_RFIFO_NUM_GET(x)
Definition: hpm_uart_regs.h:890
#define UART_MCR_RTS_MASK
Definition: hpm_uart_regs.h:859
#define UART_THR_THR_SET(x)
Definition: hpm_uart_regs.h:502
#define UART_CFG_FIFOSIZE_SHIFT
Definition: hpm_uart_regs.h:295
uint32_t hpm_stat_t
Definition: hpm_common.h:123
#define MAKE_STATUS(group, code)
Definition: hpm_common.h:132
@ status_group_uart
Definition: hpm_common.h:136
static void uart_clear_addr_match_and_rxidle_flag(UART_Type *ptr)
Clear UART address match and rxidle Flag.
Definition: hpm_uart_drv.h:883
void uart_config_transfer_trig_mode(UART_Type *ptr, uart_trig_config_t *config)
uart configure transfer trigger mode
Definition: hpm_uart_drv.c:360
hpm_stat_t uart_flush(UART_Type *ptr)
Flush sending buffer/fifo.
Definition: hpm_uart_drv.c:242
enum num_of_stop_bits num_of_stop_bits_t
static void uart_modem_enable_loopback(UART_Type *ptr)
Enable modem loopback.
Definition: hpm_uart_drv.h:323
hpm_stat_t uart_init(UART_Type *ptr, uart_config_t *config)
Initialization.
Definition: hpm_uart_drv.c:96
static void uart_disable_address0_match(UART_Type *ptr)
uart disable address0 match
Definition: hpm_uart_drv.h:825
hpm_stat_t uart_receive_data(UART_Type *ptr, uint8_t *buf, uint32_t size_in_byte)
Receive bytes blocking.
Definition: hpm_uart_drv.c:297
uart_signal
Definition: hpm_uart_drv.h:96
hpm_stat_t uart_try_receive_byte(UART_Type *ptr, uint8_t *c)
Try to receive one byte without checking data ready status.
Definition: hpm_uart_drv.c:278
enum uart_intr_enable uart_intr_enable_t
hpm_stat_t uart_set_baudrate(UART_Type *ptr, uint32_t baudrate, uint32_t src_clock_hz)
Sets UART baudrate.
Definition: hpm_uart_drv.c:201
static void uart_enable_address1_match(UART_Type *ptr, uint8_t addr)
uart enable address1 match
Definition: hpm_uart_drv.h:814
static void uart_modem_disable_auto_flow_control(UART_Type *ptr)
Disable modem auto flow control.
Definition: hpm_uart_drv.h:344
hpm_stat_t uart_init_txline_idle_detection(UART_Type *ptr, uart_rxline_idle_config_t txidle_config)
Configure UART TX Line detection.
Definition: hpm_uart_drv.c:340
static bool uart_check_status(UART_Type *ptr, uart_stat_t mask)
Check uart status according to the given status mask.
Definition: hpm_uart_drv.h:609
static bool uart_check_modem_status(UART_Type *ptr, uart_modem_stat_t mask)
Check modem status with given mask.
Definition: hpm_uart_drv.h:414
uart_modem_stat
Definition: hpm_uart_drv.h:107
static void uart_disable_irq(UART_Type *ptr, uart_intr_enable_t irq_mask)
Disable IRQ with mask.
Definition: hpm_uart_drv.h:425
static void uart_disable_txline_idle_detection(UART_Type *ptr)
Disable UART TX Idle Line detection logic.
Definition: hpm_uart_drv.h:572
enum hpm_uart_rxline_idle_cond uart_rxline_idle_cond_t
UART Idle detection conditions, suitable for RX and TX.
static void uart_software_trig_transfer(UART_Type *ptr)
uart software trigger transmit
Definition: hpm_uart_drv.h:730
hpm_stat_t uart_send_data(UART_Type *ptr, uint8_t *buf, uint32_t size_in_byte)
Send bytes blocking.
Definition: hpm_uart_drv.c:307
enum uart_intr_id uart_intr_id_t
enum word_length word_length_t
static void uart_enable_txline_idle_detection(UART_Type *ptr)
Enable UART TX Idle Line detection logic.
Definition: hpm_uart_drv.h:562
static bool uart_is_addr_match(UART_Type *ptr)
Determine whether address match for 9bit mode.
Definition: hpm_uart_drv.h:855
uart_intr_id
Definition: hpm_uart_drv.h:132
static uint8_t uart_get_data_count_in_rx_fifo(UART_Type *ptr)
UART get data count in rx fifo.
Definition: hpm_uart_drv.h:759
static void uart_enable_address0_match(UART_Type *ptr, uint8_t addr)
uart enable address0 match
Definition: hpm_uart_drv.h:802
static bool uart_is_txline_idle(UART_Type *ptr)
Determine whether UART TX Line is idle.
Definition: hpm_uart_drv.h:523
static void uart_enable_rx_function(UART_Type *ptr, bool enable)
Definition: hpm_uart_drv.h:266
static void uart_clear_txline_idle_flag(UART_Type *ptr)
Clear UART TX Line Idle Flag.
Definition: hpm_uart_drv.h:532
parity
Definition: hpm_uart_drv.h:30
enum uart_stat uart_stat_t
static uint8_t uart_get_irq_id(UART_Type *ptr)
Get interrupt identification.
Definition: hpm_uart_drv.h:458
static void uart_modem_enable_auto_flow_control(UART_Type *ptr)
Enable modem auto flow control.
Definition: hpm_uart_drv.h:354
enum uart_modem_stat uart_modem_stat_t
hpm_uart_rxline_idle_cond
UART Idle detection conditions, suitable for RX and TX.
Definition: hpm_uart_drv.h:165
hpm_stat_t uart_send_byte(UART_Type *ptr, uint8_t c)
Send one byte after checking thresh hold status.
Definition: hpm_uart_drv.c:223
static void uart_disable_rxline_idle_detection(UART_Type *ptr)
Disable UART RX Idle Line detection logic.
Definition: hpm_uart_drv.h:502
static bool uart_is_addr_match_and_rxidle(UART_Type *ptr)
Determine whether address match and rx idle for 9bit mode.
Definition: hpm_uart_drv.h:874
struct hpm_uart_config uart_config_t
UART config.
static void uart_enable_9bit_transmit_mode(UART_Type *ptr, bool enable)
uart enable 9bit transmit mode
Definition: hpm_uart_drv.h:783
static void uart_reset_tx_fifo(UART_Type *ptr)
Reset TX Fifo.
Definition: hpm_uart_drv.h:281
uart_signal_level
Definition: hpm_uart_drv.h:101
static uint8_t uart_read_byte(UART_Type *ptr)
Read byte from RX.
Definition: hpm_uart_drv.h:401
word_length
Definition: hpm_uart_drv.h:46
static void uart_enable_rxline_idle_detection(UART_Type *ptr)
Enable UART RX Idle Line detection logic.
Definition: hpm_uart_drv.h:492
static bool uart_is_data_lost(UART_Type *ptr)
Determine whether data lost for 9bit mode.
Definition: hpm_uart_drv.h:893
hpm_stat_t uart_init_rxline_idle_detection(UART_Type *ptr, uart_rxline_idle_config_t rxidle_config)
Configure UART RX Line detection.
Definition: hpm_uart_drv.c:319
static void uart_modem_write_rts_pin(UART_Type *ptr, uint8_t high)
Write RTS level for uart modem mode.
Definition: hpm_uart_drv.h:914
struct uart_modem_config uart_modem_config_t
UART modem config.
static void uart_enable_irq(UART_Type *ptr, uart_intr_enable_t irq_mask)
Enable IRQ with mask.
Definition: hpm_uart_drv.h:436
static void uart_modem_config(UART_Type *ptr, uart_modem_config_t *config)
Configure modem.
Definition: hpm_uart_drv.h:365
static uint32_t uart_get_status(UART_Type *ptr)
Get status.
Definition: hpm_uart_drv.h:595
num_of_stop_bits
Definition: hpm_uart_drv.h:39
static void uart_disable_address1_match(UART_Type *ptr)
uart disable address1 match
Definition: hpm_uart_drv.h:835
enum uart_signal_level uart_signal_level_t
void uart_default_config(UART_Type *ptr, uart_config_t *config)
Get default config.
Definition: hpm_uart_drv.c:27
static uint8_t uart_get_fifo_size(UART_Type *ptr)
Get fifo size.
Definition: hpm_uart_drv.h:235
static void uart_enable_hardware_trig_transfer(UART_Type *ptr, bool enable)
uart enable hardware trigger mode
Definition: hpm_uart_drv.h:744
enum uart_signal uart_signal_t
struct hpm_uart_rxline_idle_detect_config uart_rxline_idle_config_t
UART Idle config, suitable for RX and TX.
static void uart_write_byte(UART_Type *ptr, uint8_t c)
Write byte to TX.
Definition: hpm_uart_drv.h:389
uart_fifo_trg_lvl
Definition: hpm_uart_drv.h:54
static void uart_reset_rx_fifo(UART_Type *ptr)
Reset RX Fifo.
Definition: hpm_uart_drv.h:295
static void uart_clear_data_lost_flag(UART_Type *ptr)
Clear UART data lost Flag.
Definition: hpm_uart_drv.h:902
hpm_stat_t uart_receive_byte(UART_Type *ptr, uint8_t *c)
Receive one byte after checking data ready status.
Definition: hpm_uart_drv.c:259
static void uart_reset_all_fifo(UART_Type *ptr)
[in] Reset both TX and RX Fifo
Definition: hpm_uart_drv.h:309
enum parity parity_setting_t
void uart_config_fifo_ctrl(UART_Type *ptr, uart_fifo_ctrl_t *ctrl)
uart config fifo control
Definition: hpm_uart_drv.c:371
enum uart_fifo_trg_lvl uart_fifo_trg_lvl_t
void uart_set_signal_level(UART_Type *ptr, uart_signal_t signal, uart_signal_level_t level)
Set uart signal output level.
Definition: hpm_uart_drv.c:288
static uint8_t uart_get_modem_status(UART_Type *ptr)
Get modem status.
Definition: hpm_uart_drv.h:378
static uint32_t uart_get_enabled_irq(UART_Type *ptr)
Get Enabled IRQ.
Definition: hpm_uart_drv.h:447
static void uart_disable_address_match(UART_Type *ptr)
uart disable address match(address0 and address1)
Definition: hpm_uart_drv.h:845
static uint8_t uart_get_data_count_in_tx_fifo(UART_Type *ptr)
UART get data count in tx fifo.
Definition: hpm_uart_drv.h:770
static void uart_clear_addr_match_flag(UART_Type *ptr)
Clear UART address match Flag.
Definition: hpm_uart_drv.h:864
uart_stat
Definition: hpm_uart_drv.h:141
static void uart_clear_rx_fifo(UART_Type *ptr)
uart clear rx fifo by reading data
Definition: hpm_uart_drv.h:258
static void uart_clear_rxline_idle_flag(UART_Type *ptr)
Clear UART RX Line Idle Flag.
Definition: hpm_uart_drv.h:551
static bool uart_is_rxline_idle(UART_Type *ptr)
Determine whether UART RX Line is idle.
Definition: hpm_uart_drv.h:542
uart_intr_enable
Definition: hpm_uart_drv.h:113
static void uart_modem_disable_loopback(UART_Type *ptr)
Disable modem loopback.
Definition: hpm_uart_drv.h:333
@ uart_signal_rts
Definition: hpm_uart_drv.h:97
@ uart_modem_stat_cts
Definition: hpm_uart_drv.h:108
@ uart_modem_stat_dcts_changed
Definition: hpm_uart_drv.h:109
@ uart_intr_id_tx_slot_avail
Definition: hpm_uart_drv.h:134
@ uart_intr_id_rx_data_avail
Definition: hpm_uart_drv.h:135
@ uart_intr_id_rx_line_stat
Definition: hpm_uart_drv.h:136
@ uart_intr_id_modem_stat
Definition: hpm_uart_drv.h:133
@ uart_intr_id_rx_timeout
Definition: hpm_uart_drv.h:137
@ parity_none
Definition: hpm_uart_drv.h:31
@ parity_always_1
Definition: hpm_uart_drv.h:34
@ parity_even
Definition: hpm_uart_drv.h:33
@ parity_odd
Definition: hpm_uart_drv.h:32
@ parity_always_0
Definition: hpm_uart_drv.h:35
@ uart_rxline_idle_cond_state_machine_idle
Definition: hpm_uart_drv.h:167
@ uart_rxline_idle_cond_rxline_logic_one
Definition: hpm_uart_drv.h:166
@ uart_signal_level_low
Definition: hpm_uart_drv.h:103
@ uart_signal_level_high
Definition: hpm_uart_drv.h:102
@ word_length_5_bits
Definition: hpm_uart_drv.h:47
@ word_length_7_bits
Definition: hpm_uart_drv.h:49
@ word_length_6_bits
Definition: hpm_uart_drv.h:48
@ word_length_8_bits
Definition: hpm_uart_drv.h:50
@ stop_bits_1_5
Definition: hpm_uart_drv.h:41
@ stop_bits_2
Definition: hpm_uart_drv.h:42
@ stop_bits_1
Definition: hpm_uart_drv.h:40
@ uart_fifo_16_bytes
Definition: hpm_uart_drv.h:71
@ uart_fifo_7_bytes
Definition: hpm_uart_drv.h:62
@ uart_fifo_9_bytes
Definition: hpm_uart_drv.h:64
@ uart_fifo_11_bytes
Definition: hpm_uart_drv.h:66
@ uart_tx_fifo_trg_lt_one_quarter
Definition: hpm_uart_drv.h:81
@ uart_tx_fifo_trg_lt_three_quarters
Definition: hpm_uart_drv.h:79
@ uart_fifo_12_bytes
Definition: hpm_uart_drv.h:67
@ uart_rx_fifo_trg_gt_three_quarters
Definition: hpm_uart_drv.h:76
@ uart_tx_fifo_trg_lt_half
Definition: hpm_uart_drv.h:80
@ uart_fifo_10_bytes
Definition: hpm_uart_drv.h:65
@ uart_fifo_4_bytes
Definition: hpm_uart_drv.h:59
@ uart_fifo_5_bytes
Definition: hpm_uart_drv.h:60
@ uart_fifo_3_bytes
Definition: hpm_uart_drv.h:58
@ uart_rx_fifo_trg_not_empty
Definition: hpm_uart_drv.h:73
@ uart_fifo_8_bytes
Definition: hpm_uart_drv.h:63
@ uart_fifo_14_bytes
Definition: hpm_uart_drv.h:69
@ uart_fifo_15_bytes
Definition: hpm_uart_drv.h:70
@ uart_fifo_2_bytes
Definition: hpm_uart_drv.h:57
@ uart_rx_fifo_trg_gt_half
Definition: hpm_uart_drv.h:75
@ uart_tx_fifo_trg_not_full
Definition: hpm_uart_drv.h:78
@ uart_rx_fifo_trg_gt_one_quarter
Definition: hpm_uart_drv.h:74
@ uart_fifo_13_bytes
Definition: hpm_uart_drv.h:68
@ uart_fifo_1_byte
Definition: hpm_uart_drv.h:56
@ uart_fifo_6_bytes
Definition: hpm_uart_drv.h:61
@ status_uart_no_suitable_baudrate_parameter_found
Definition: hpm_uart_drv.h:26
@ uart_stat_overrun_error
Definition: hpm_uart_drv.h:143
@ uart_stat_parity_error
Definition: hpm_uart_drv.h:144
@ uart_stat_transmitter_empty
Definition: hpm_uart_drv.h:148
@ uart_stat_tx_slot_avail
Definition: hpm_uart_drv.h:147
@ uart_stat_line_break
Definition: hpm_uart_drv.h:146
@ uart_stat_data_ready
Definition: hpm_uart_drv.h:142
@ uart_stat_rx_fifo_error
Definition: hpm_uart_drv.h:149
@ uart_stat_framing_error
Definition: hpm_uart_drv.h:145
@ uart_intr_addr_datalost
Definition: hpm_uart_drv.h:127
@ uart_intr_rx_data_avail_or_timeout
Definition: hpm_uart_drv.h:114
@ uart_intr_modem_stat
Definition: hpm_uart_drv.h:117
@ uart_intr_rx_line_stat
Definition: hpm_uart_drv.h:116
@ uart_intr_addr_match
Definition: hpm_uart_drv.h:125
@ uart_intr_tx_slot_avail
Definition: hpm_uart_drv.h:115
@ uart_intr_addr_match_and_rxidle
Definition: hpm_uart_drv.h:126
@ uart_intr_tx_line_idle
Definition: hpm_uart_drv.h:122
@ uart_intr_rx_line_idle
Definition: hpm_uart_drv.h:119
Definition: hpm_uart_regs.h:12
__RW uint32_t IDLE_CFG
Definition: hpm_uart_regs.h:14
__RW uint32_t MCR
Definition: hpm_uart_regs.h:35
__RW uint32_t ADDR_CFG
Definition: hpm_uart_regs.h:15
__W uint32_t FCR
Definition: hpm_uart_regs.h:32
__R uint32_t MSR
Definition: hpm_uart_regs.h:37
__RW uint32_t IIR
Definition: hpm_uart_regs.h:31
__R uint32_t RBR
Definition: hpm_uart_regs.h:22
__R uint32_t LSR
Definition: hpm_uart_regs.h:36
__RW uint32_t CFG
Definition: hpm_uart_regs.h:17
__RW uint32_t IIR2
Definition: hpm_uart_regs.h:16
__W uint32_t THR
Definition: hpm_uart_regs.h:23
__RW uint32_t FCRR
Definition: hpm_uart_regs.h:19
__RW uint32_t GPR
Definition: hpm_uart_regs.h:38
__RW uint32_t MOTO_CFG
Definition: hpm_uart_regs.h:20
__RW uint32_t IER
Definition: hpm_uart_regs.h:27
UART config.
Definition: hpm_uart_drv.h:184
uint8_t num_of_stop_bits
Definition: hpm_uart_drv.h:187
uint8_t parity
Definition: hpm_uart_drv.h:189
uint8_t rx_fifo_level
Definition: hpm_uart_drv.h:191
bool rx_enable
Definition: hpm_uart_drv.h:202
bool fifo_enable
Definition: hpm_uart_drv.h:193
uint8_t tx_fifo_level
Definition: hpm_uart_drv.h:190
uint8_t word_length
Definition: hpm_uart_drv.h:188
uart_rxline_idle_config_t rxidle_config
Definition: hpm_uart_drv.h:196
uint32_t src_freq_in_hz
Definition: hpm_uart_drv.h:185
uart_rxline_idle_config_t txidle_config
Definition: hpm_uart_drv.h:199
uart_modem_config_t modem_config
Definition: hpm_uart_drv.h:194
uint32_t baudrate
Definition: hpm_uart_drv.h:186
bool dma_enable
Definition: hpm_uart_drv.h:192
UART Idle config, suitable for RX and TX.
Definition: hpm_uart_drv.h:173
bool detect_irq_enable
Definition: hpm_uart_drv.h:175
uint8_t threshold
Definition: hpm_uart_drv.h:177
uart_rxline_idle_cond_t idle_cond
Definition: hpm_uart_drv.h:176
bool detect_enable
Definition: hpm_uart_drv.h:174
Definition: hpm_uart_drv.h:216
uint8_t rx_fifo_level
Definition: hpm_uart_drv.h:218
bool fifo_enable
Definition: hpm_uart_drv.h:222
bool reset_tx_fifo
Definition: hpm_uart_drv.h:219
bool reset_rx_fifo
Definition: hpm_uart_drv.h:220
bool dma_enable
Definition: hpm_uart_drv.h:221
uint8_t tx_fifo_level
Definition: hpm_uart_drv.h:217
UART modem config.
Definition: hpm_uart_drv.h:155
bool loop_back_en
Definition: hpm_uart_drv.h:157
bool auto_flow_ctrl_en
Definition: hpm_uart_drv.h:156
bool set_rts_high
Definition: hpm_uart_drv.h:158
Definition: hpm_uart_drv.h:207
bool en_stop_bit_insert
Definition: hpm_uart_drv.h:209
bool trig_clr_rxfifo
Definition: hpm_uart_drv.h:212
uint16_t stop_bit_len
Definition: hpm_uart_drv.h:208
bool hardware_trig
Definition: hpm_uart_drv.h:210
bool trig_mode
Definition: hpm_uart_drv.h:211