9#ifndef INCLUDE_DRV_SDRV_UART_H
10#define INCLUDE_DRV_SDRV_UART_H
14#if CONFIG_UART_ENABLE_DMA
24#define WaitForever 0xFFFFFFFFU
27#define SDRV_UART_OPERATION_TIMEOUT 0x500000U
30#define UART_ABR_PATTERN 0U
31#define SDRV_UART_ABR_PATTERN_CHAR 0x55U
32#define SDRV_UART_MAX_ABR_NUM 8U
34#if CONFIG_UART_ENABLE_DMA
36#ifdef CONFIG_NUM_LINKLIST_ITEMS
38#define NUM_LINKLIST_ITEMS CONFIG_NUM_LINKLIST_ITEMS
41#define NUM_LINKLIST_ITEMS 8
44#define DMA_BURST16_MAD_SIZE_MAX (4000U * 16U)
45#define DMA_BURST1_MAD_SIZE_MAX (4000U * 1U)
49#define SDRV_UART_INTR_TX_FWE 1U
50#define SDRV_UART_INTR_RX_FWF \
52#define SDRV_UART_INTR_RX_FUDF \
54#define SDRV_UART_INTR_TX_FOVF \
56#define SDRV_UART_INTR_RX_FOVF \
58#define SDRV_UART_INTR_PARITYERR \
60#define SDRV_UART_INTR_FRAMEERR \
63#define SDRV_UART_INTR_BAUDRATEERR \
65#define SDRV_UART_INTR_NOISERERR \
67#define SDRV_UART_INTR_RXBREAK \
69#define SDRV_UART_INTR_RXIDLE \
71#define SDRV_UART_INTR_TX_COMPLETED \
73#define SDRV_UART_INTR_ABRPASS \
75#define SDRV_UART_INTR_ABRFAIL \
79#define SDRV_UART_INTR_RX_ERROR \
80 (SDRV_UART_INTR_RX_FOVF | SDRV_UART_INTR_RX_FUDF | \
81 SDRV_UART_INTR_PARITYERR | SDRV_UART_INTR_FRAMEERR | \
82 SDRV_UART_INTR_BAUDRATEERR | SDRV_UART_INTR_NOISERERR)
85#define SDRV_UART_INTR_TX_ERROR (SDRV_UART_INTR_TX_FOVF)
88#define SDRV_UART_INTR_ABR (SDRV_UART_INTR_ABRPASS | SDRV_UART_INTR_ABRFAIL)
91#define SDRV_UART_TX_FIFO_OFFSET 0x200U
92#define SDRV_UART_RX_FIFO_OFFSET 0x300U
652#if CONFIG_UART_ENABLE_DMA
701#if CONFIG_UART_ENABLE_DMA
817 uint8_t *data, uint32_t size,
818 uint32_t *received_bytes,
846 uint32_t *transmitted_bytes, uint32_t times);
861 uint8_t *data, uint32_t size,
902#if CONFIG_UART_ENABLE_DMA
SemiDrive driver common header file.
@ SDRV_STATUS_GROUP_UART
Definition: sdrv_common.h:33
@ SDRV_STATUS_INVALID_PARAM
Definition: sdrv_common.h:76
@ SDRV_STATUS_FAIL
Definition: sdrv_common.h:73
@ SDRV_STATUS_OK
Definition: sdrv_common.h:72
@ SDRV_STATUS_TIMEOUT
Definition: sdrv_common.h:75
@ SDRV_STATUS_BUSY
Definition: sdrv_common.h:74
#define SDRV_ERROR_STATUS(group, code)
Construct a status code value from a group and code number. All the error statuses are negetive numbe...
Definition: sdrv_common.h:17
SemiDrive DMA driver header file.
sdrv_dma_channel_id_e
DMA Channel ID.
Definition: sdrv_dma.h:47
#define CONFIG_ARCH_CACHE_LINE
Definition: sdrv_mmc_sdhci.h:16
sdrv_uart_error_status_e sdrv_uart_set_baudrate(sdrv_uart_t *ctrl, uint32_t baud)
Configure uart baud rate.
sdrv_abr_max
Sdrv UART the character count that abr expect to recv and match.
Definition: sdrv_uart.h:522
@ SDRV_ABR_CHAR4
Definition: sdrv_uart.h:525
@ SDRV_ABR_CHAR16
Definition: sdrv_uart.h:527
@ SDRV_ABR_CHAR128
Definition: sdrv_uart.h:530
@ SDRV_ABR_CHAR64
Definition: sdrv_uart.h:529
@ SDRV_ABR_CHAR32
Definition: sdrv_uart.h:528
@ SDRV_ABR_CHAR2
Definition: sdrv_uart.h:524
@ SDRV_ABR_CHAR1
Definition: sdrv_uart.h:523
@ SDRV_ABR_CHAR8
Definition: sdrv_uart.h:526
bool sdrv_uart_txfifo_empty(sdrv_uart_t *ctrl)
Get empty status of tx fifo.
sdrv_uart_transfer_type
Sdrv UART transfer mode.
Definition: sdrv_uart.h:557
@ SDRV_TRANSFER_NO_MODE
Definition: sdrv_uart.h:558
@ SDRV_TRANSFER_DMA_REALTIME_MODE
Definition: sdrv_uart.h:564
@ SDRV_TRANSFER_SYNC_MODE
Definition: sdrv_uart.h:559
@ SDRV_TRANSFER_REALTIME_MODE
Definition: sdrv_uart.h:561
@ SDRV_TRANSFER_DMA_ASYNC_MODE
Definition: sdrv_uart.h:562
@ SDRV_TRANSFER_ASYNC_MODE
Definition: sdrv_uart.h:560
enum sdrv_uart_transfer_type sdrv_uart_transfer_type_e
Sdrv UART transfer mode.
sdrv_uart_error_status_e sdrv_uart_async_receive(sdrv_uart_t *ctrl, uint8_t *data, uint32_t size, uart_callback_t rx_cb, void *rx_userparam)
Asynchronous UART receive.
sdrv_uart_error_status
UART error status return codes.
Definition: sdrv_uart.h:588
@ Status_Abr_Not_Ready
Definition: sdrv_uart.h:595
@ Status_Timeout
Definition: sdrv_uart.h:590
@ Status_Parity_Err
Definition: sdrv_uart.h:599
@ Status_Baudrate_Err
Definition: sdrv_uart.h:603
@ Status_Frame_Err
Definition: sdrv_uart.h:601
@ Status_Fail
Definition: sdrv_uart.h:592
@ Status_Rxfovf
Definition: sdrv_uart.h:597
@ Status_Invalid_Param
Definition: sdrv_uart.h:593
@ Status_Success
Definition: sdrv_uart.h:589
@ Status_Noise_Err
Definition: sdrv_uart.h:605
@ Status_dma_channel_config_Err
Definition: sdrv_uart.h:607
@ Status_Busy
Definition: sdrv_uart.h:591
sdrv_uart_error_status_e sdrv_uart_intr_status_clear(sdrv_uart_t *ctrl, uint32_t mask)
Clear Sdrv UART Interrupt flag status.
sdrv_uart_error_status_e sdrv_uart_dma_transmit(sdrv_uart_t *ctrl, const uint8_t *data, uint32_t size, uart_callback_t tx_cb, void *tx_userparam, sdrv_dma_t *dma_ctrl, sdrv_dma_channel_t *dma_channel, sdrv_dma_channel_id_e channel_id)
UART transmit data with dma linklist mode.
struct sdrv_uart_regs sdrv_uart_regs_t
sdrv_uart_error_status_e sdrv_uart_stop_realtime_receive(sdrv_uart_t *ctrl)
Stop UART realtime receive.
enum sdrv_uart_stop sdrv_uart_stop_e
Number of stop bits.
sdrv_uart_error_status_e sdrv_uart_dma_receive_abort(sdrv_uart_t *ctrl)
Abort the process of uart to receive data with dma.
enum sdrv_abr_max sdrv_abr_max_e
Sdrv UART the character count that abr expect to recv and match.
enum sdrv_uart_op_mode sdrv_uart_op_mode_e
UART operation mode.
sdrv_uart_error_status_e sdrv_uart_intr_ctrl(sdrv_uart_t *ctrl, uint32_t mask, bool value)
Enable/Disable Sdrv UART Interrupt.
enum sdrv_uart_parity sdrv_uart_parity_e
UART parity type.
int sdrv_uart_irq_handler(uint32_t irq, void *ctrl)
Sdrv UART default IRQ handle function.
sdrv_uart_error_status_e sdrv_uart_abr_start(sdrv_uart_t *ctrl, sdrv_abr_max_e num)
Start auto baudrate detect.
enum sdrv_uart_error_status sdrv_uart_error_status_e
UART error status return codes.
sdrv_uart_error_status_e sdrv_uart_dma_transmit_abort(sdrv_uart_t *ctrl)
Abort the process of uart to transmit data with dma.
sdrv_rxidle_ctl
Sdrv UART the time of high level on rx line to detect idle.
Definition: sdrv_uart.h:536
@ SDRV_IDLE_DETECT_1024CYCLE
Definition: sdrv_uart.h:550
@ SDRV_IDLE_DETECT_64CYCLE
Definition: sdrv_uart.h:542
@ SDRV_IDLE_DETECT_32CYCLE
Definition: sdrv_uart.h:540
@ SDRV_IDLE_DETECT_128CYCLE
Definition: sdrv_uart.h:544
@ SDRV_IDLE_DETECT_512CYCLE
Definition: sdrv_uart.h:548
@ SDRV_IDLE_DETECT_16CYCLE
Definition: sdrv_uart.h:538
@ SDRV_IDLE_DETECT_256CYCLE
Definition: sdrv_uart.h:546
@ SDRV_IDLE_DETECT_DISABLE
Definition: sdrv_uart.h:537
sdrv_uart_parity
UART parity type.
Definition: sdrv_uart.h:487
@ SDRV_UART_EVEN_PARITY
Definition: sdrv_uart.h:489
@ SDRV_UART_NO_PARITY
Definition: sdrv_uart.h:488
@ SDRV_UART_ODD_PARITY
Definition: sdrv_uart.h:490
sdrv_uart_error_status_e sdrv_uart_sync_transmit(sdrv_uart_t *ctrl, const uint8_t *data, uint32_t size, uint32_t *transmitted_bytes, uint32_t times)
Synchronous UART transmit.
sdrv_uart_error_status_e sdrv_uart_dma_receive(sdrv_uart_t *ctrl, uint8_t *data, uint32_t size, uart_callback_t rx_cb, void *rx_userparam, sdrv_dma_t *dma_ctrl, sdrv_dma_channel_t *dma_channel, sdrv_dma_channel_id_e channel_id)
UART receive data with dma linklist mode.
sdrv_uart_error_status_e sdrv_uart_async_transmit_abort(sdrv_uart_t *ctrl)
Asynchronous UART transmit abort.
enum sdrv_uart_dls sdrv_uart_dls_e
Number of data bits in one character.
struct sdrv_uart_fcm_config sdrv_uart_fcm_config_t
Sdrv UART flow control mode configurations.
enum sdrv_rxidle_ctl sdrv_rxidle_ctl_e
Sdrv UART the time of high level on rx line to detect idle.
sdrv_uart_error_status_e sdrv_uart_async_receive_abort(sdrv_uart_t *ctrl)
Asynchronous UART receive abort.
sdrv_uart_stop
Number of stop bits.
Definition: sdrv_uart.h:477
@ SDRV_UART_STOP_0_5_BIT
Definition: sdrv_uart.h:481
@ SDRV_UART_STOP_1_5_BIT
Definition: sdrv_uart.h:479
@ SDRV_UART_STOP_1_BIT
Definition: sdrv_uart.h:478
@ SDRV_UART_STOP_2_BIT
Definition: sdrv_uart.h:480
sdrv_uart_error_status_e sdrv_uart_async_transmit(sdrv_uart_t *ctrl, const uint8_t *data, uint32_t size, uart_callback_t tx_cb, void *tx_userparam)
Asynchronous UART transmit.
sdrv_uart_transfer_status
UART transfer status.
Definition: sdrv_uart.h:572
@ Transfer_TxBusy
Definition: sdrv_uart.h:574
@ Transfer_RxAbrBusy
Definition: sdrv_uart.h:579
@ Transfer_RxBusy
Definition: sdrv_uart.h:576
@ Transfer_TxIdle
Definition: sdrv_uart.h:573
@ Transfer_RxIdle
Definition: sdrv_uart.h:575
@ Transfer_RxFail
Definition: sdrv_uart.h:577
@ Transfer_RxAbrFail
Definition: sdrv_uart.h:581
@ Transfer_TxFail
Definition: sdrv_uart.h:578
@ Transfer_RxAbrReady
Definition: sdrv_uart.h:580
#define NUM_LINKLIST_ITEMS
Definition: sdrv_uart.h:41
enum sdrv_uart_fcm sdrv_uart_fcm_e
Sdrv UART flow control mode.
sdrv_uart_error_status_e sdrv_uart_deinit(sdrv_uart_t *ctrl)
Srdv UART Deinitializes.
uint32_t sdrv_uart_intr_status_get(sdrv_uart_t *ctrl)
Get Sdrv UART Interrupt flag status.
sdrv_uart_error_status_e sdrv_uart_sync_receive(sdrv_uart_t *ctrl, uint8_t *data, uint32_t size, uint32_t *received_bytes, uint32_t times)
Synchronous UART receive.
uint32_t sdrv_uart_dma_bytes_received(sdrv_uart_t *ctrl)
Get the count of data carried by dma.
sdrv_uart_error_status_e sdrv_uart_dma_receive_start(sdrv_uart_t *ctrl, uint8_t *data, uint32_t size, uart_callback_t rx_cb, void *rx_userparam, sdrv_dma_t *dma_ctrl, sdrv_dma_channel_t *dma_channel, sdrv_dma_channel_id_e channel_id)
UART receive data with dma.
sdrv_uart_dls
Number of data bits in one character.
Definition: sdrv_uart.h:467
@ SDRV_UART_CHAR_5_BITS
Definition: sdrv_uart.h:471
@ SDRV_UART_CHAR_8_BITS
Definition: sdrv_uart.h:468
@ SDRV_UART_CHAR_7_BITS
Definition: sdrv_uart.h:469
@ SDRV_UART_CHAR_6_BITS
Definition: sdrv_uart.h:470
struct sdrv_uart_rs485_fcm sdrv_uart_rs485_fcm_t
Sdrv UART RS485 flow control configurations.
uint32_t sdrv_uart_intr_get(sdrv_uart_t *ctrl)
Get Sdrv UART Interrupt enable/disable status.
sdrv_uart_op_mode
UART operation mode.
Definition: sdrv_uart.h:453
@ SDRV_UART_SERIAL_MODE
Definition: sdrv_uart.h:454
enum sdrv_uart_callback_status sdrv_uart_callback_status_e
Definition: sdrv_uart.h:443
uint32_t sdrv_uart_get_rxfifodata(sdrv_uart_t *ctrl, uint8_t *data, uint32_t maxlen)
Get the data in rx fifo.
sdrv_uart_transfer_mode
UART transfer mode.
Definition: sdrv_uart.h:460
@ SDRV_UART_FULL_DUPLEX
Definition: sdrv_uart.h:461
sdrv_uart_error_status_e sdrv_uart_controller_init(sdrv_uart_t *ctrl, const sdrv_uart_config_t *cfg, uart_callback_t callback, void *userData)
Sdrv UART controller initialization.
sdrv_uart_callback_status
UART interrupt handle callback status for user.
Definition: sdrv_uart.h:420
@ SDRV_UART_TxFifoOverFlow
Definition: sdrv_uart.h:425
@ SDRV_UART_RxIdle
Definition: sdrv_uart.h:438
@ SDRV_UART_RxBufferFull
Definition: sdrv_uart.h:439
@ SDRV_UART_RxFWF
Definition: sdrv_uart.h:423
@ SDRV_UART_RxFifoUnderFlow
Definition: sdrv_uart.h:427
@ SDRV_UART_AbrPass
Definition: sdrv_uart.h:432
@ SDRV_UART_RxDmaError
Definition: sdrv_uart.h:437
@ SDRV_UART_TxCompleted
Definition: sdrv_uart.h:422
@ SDRV_UART_TxDmaError
Definition: sdrv_uart.h:435
@ SDRV_UART_FramingError
Definition: sdrv_uart.h:428
@ SDRV_UART_TxDmaDone
Definition: sdrv_uart.h:434
@ SDRV_UART_ParityError
Definition: sdrv_uart.h:429
@ SDRV_UART_AbrFail
Definition: sdrv_uart.h:433
@ SDRV_UART_BaudrateError
Definition: sdrv_uart.h:431
@ SDRV_UART_NoEvent
Definition: sdrv_uart.h:421
@ SDRV_UART_RxDmaDone
Definition: sdrv_uart.h:436
@ SDRV_UART_NoiseError
Definition: sdrv_uart.h:430
@ SDRV_UART_RxFifoOverFlow
Definition: sdrv_uart.h:426
@ SDRV_UART_RxCompleted
Definition: sdrv_uart.h:424
void(* uart_callback_t)(sdrv_uart_t *ctrl, sdrv_uart_callback_status_e status, void *userData)
UART transfer callback function.
Definition: sdrv_uart.h:446
sdrv_uart_error_status_e sdrv_uart_start_realtime_receive(sdrv_uart_t *ctrl)
Start UART realtime receive.
enum sdrv_uart_transfer_status sdrv_uart_transfer_status_e
UART transfer status.
sdrv_uart_fcm
Sdrv UART flow control mode.
Definition: sdrv_uart.h:496
@ SDRV_UART_NO_FC
Definition: sdrv_uart.h:497
enum sdrv_uart_transfer_mode sdrv_uart_transfer_mode_e
UART transfer mode.
struct sdrv_uart_config sdrv_uart_config_t
Sdrv UART configurations.
DMA channel structure.
Definition: sdrv_dma.h:554
DMA link list descriptor.
Definition: sdrv_dma.h:450
DMA controller structure.
Definition: sdrv_dma.h:472
Sdrv UART configurations.
Definition: sdrv_uart.h:673
uint32_t base
Definition: sdrv_uart.h:674
uint32_t irq
Definition: sdrv_uart.h:675
uint8_t rxwmlvl
Definition: sdrv_uart.h:698
sdrv_uart_parity_e parity
Definition: sdrv_uart.h:688
sdrv_uart_stop_e stop_bits
Definition: sdrv_uart.h:687
bool dma_en
Definition: sdrv_uart.h:700
uint8_t abr_en
Definition: sdrv_uart.h:690
uint32_t clk_freq
Definition: sdrv_uart.h:685
sdrv_uart_dls_e data_bits
Definition: sdrv_uart.h:686
uint32_t baud
Definition: sdrv_uart.h:677
sdrv_uart_fcm_config_t fcm
Definition: sdrv_uart.h:689
uint8_t txwmlvl
Definition: sdrv_uart.h:694
sdrv_abr_max_e match_num
Definition: sdrv_uart.h:692
sdrv_rxidle_ctl_e rx_idle
Definition: sdrv_uart.h:703
Sdrv UART flow control mode configurations.
Definition: sdrv_uart.h:513
sdrv_uart_fcm_e fcm_type
Definition: sdrv_uart.h:514
sdrv_uart_rs485_fcm_t rs485_fcm
Definition: sdrv_uart.h:516
Definition: sdrv_uart.h:355
volatile uint32_t PSR3
Definition: sdrv_uart.h:406
volatile uint32_t RXDR
Definition: sdrv_uart.h:414
volatile PSR1_Type PSR1
Definition: sdrv_uart.h:404
volatile uint32_t INT_STA_EN
Definition: sdrv_uart.h:400
volatile INTR0_Type INTR0
Definition: sdrv_uart.h:364
volatile uint32_t PRDATAINJ
Definition: sdrv_uart.h:357
volatile FSR_Type FSR0
Definition: sdrv_uart.h:376
volatile DMACR_Type DMACR
Definition: sdrv_uart.h:379
volatile uint32_t PCR9
Definition: sdrv_uart.h:391
volatile PCR3_Type PCR3
Definition: sdrv_uart.h:385
volatile uint32_t RESERVED1
Definition: sdrv_uart.h:361
volatile uint32_t PSR4
Definition: sdrv_uart.h:407
volatile PCR4_Type PCR4
Definition: sdrv_uart.h:386
volatile MCR0_Type MCR0
Definition: sdrv_uart.h:356
volatile uint32_t RESERVED3[2]
Definition: sdrv_uart.h:368
volatile uint32_t RESERVED10[56]
Definition: sdrv_uart.h:411
volatile PSR0_Type PSR0
Definition: sdrv_uart.h:403
volatile uint32_t INT_SIG_EN
Definition: sdrv_uart.h:401
volatile uint32_t MCR4
Definition: sdrv_uart.h:360
volatile uint32_t PSR7
Definition: sdrv_uart.h:410
volatile uint32_t PSR2
Definition: sdrv_uart.h:405
volatile uint32_t INT_STA
Definition: sdrv_uart.h:399
volatile uint32_t INTEN3
Definition: sdrv_uart.h:369
volatile CMDCSR0_Type CMDCSR0
Definition: sdrv_uart.h:370
volatile uint32_t PCR13
Definition: sdrv_uart.h:395
volatile PCR7_Type PCR7
Definition: sdrv_uart.h:389
volatile PCR5_Type PCR5
Definition: sdrv_uart.h:387
volatile uint32_t RESERVED4[2]
Definition: sdrv_uart.h:372
volatile uint32_t RESERVED6[2]
Definition: sdrv_uart.h:378
volatile PCR8_Type PCR8
Definition: sdrv_uart.h:390
volatile uint32_t INTR3
Definition: sdrv_uart.h:366
volatile PCR2_Type PCR2
Definition: sdrv_uart.h:384
volatile uint32_t RESERVED9[5]
Definition: sdrv_uart.h:402
volatile uint32_t MCR3
Definition: sdrv_uart.h:359
volatile uint32_t MSR1
Definition: sdrv_uart.h:363
volatile uint32_t MSR0
Definition: sdrv_uart.h:362
volatile uint32_t RESERVED7[2]
Definition: sdrv_uart.h:381
volatile uint32_t RESERVED8[8]
Definition: sdrv_uart.h:398
volatile FCR_Type FCR0
Definition: sdrv_uart.h:373
volatile PCR6_Type PCR6
Definition: sdrv_uart.h:388
volatile uint32_t PSR6
Definition: sdrv_uart.h:409
volatile uint32_t RESERVED2[2]
Definition: sdrv_uart.h:365
volatile uint32_t RESERVED11[63]
Definition: sdrv_uart.h:413
volatile uint32_t PCR14
Definition: sdrv_uart.h:396
volatile uint32_t PCR12
Definition: sdrv_uart.h:394
volatile uint32_t PCR10
Definition: sdrv_uart.h:392
volatile uint32_t PCR15
Definition: sdrv_uart.h:397
volatile PCR0_Type PCR0
Definition: sdrv_uart.h:382
volatile CMDCSR1_Type CMDCSR1
Definition: sdrv_uart.h:371
volatile uint32_t PSR5
Definition: sdrv_uart.h:408
volatile PCR1_Type PCR1
Definition: sdrv_uart.h:383
volatile FSR_Type FSR1
Definition: sdrv_uart.h:377
volatile INTR0_Type INTEN0
Definition: sdrv_uart.h:367
volatile DMASR_Type DMASR
Definition: sdrv_uart.h:380
volatile PCR11_Type PCR11
Definition: sdrv_uart.h:393
volatile uint32_t RESERVED5[2]
Definition: sdrv_uart.h:375
volatile uint32_t MCR2
Definition: sdrv_uart.h:358
volatile FCR_Type FCR1
Definition: sdrv_uart.h:374
volatile uint32_t TXDR
Definition: sdrv_uart.h:412
Sdrv UART RS485 flow control configurations.
Definition: sdrv_uart.h:503
uint8_t deat_cycle
Definition: sdrv_uart.h:504
uint8_t re2de_cycle
Definition: sdrv_uart.h:507
uint8_t dedt_cycle
Definition: sdrv_uart.h:505
uint8_t de2re_cycle
Definition: sdrv_uart.h:506
Sdrv UART controller.
Definition: sdrv_uart.h:615
void * rx_userparam
Definition: sdrv_uart.h:641
uint32_t base
Definition: sdrv_uart.h:616
volatile uint8_t abr_count
Definition: sdrv_uart.h:649
uint32_t irq
Definition: sdrv_uart.h:617
volatile uint32_t rx_remain
Definition: sdrv_uart.h:636
uint8_t * rx_ptr
Definition: sdrv_uart.h:635
volatile sdrv_uart_transfer_status_e abr_state
Definition: sdrv_uart.h:651
volatile sdrv_uart_transfer_status_e tx_state
Definition: sdrv_uart.h:646
volatile sdrv_uart_transfer_type_e rxtransfer_type
Definition: sdrv_uart.h:623
void * userData
Definition: sdrv_uart.h:644
volatile sdrv_uart_transfer_type_e txtransfer_type
Definition: sdrv_uart.h:625
uart_callback_t rx_async_cb
Definition: sdrv_uart.h:640
void * tx_userparam
Definition: sdrv_uart.h:633
volatile sdrv_uart_transfer_status_e rx_state
Definition: sdrv_uart.h:647
sdrv_dma_linklist_descriptor_t rx_dma_linklist[NUM_LINKLIST_ITEMS] __attribute__((__aligned__(CONFIG_ARCH_CACHE_LINE)))
uint32_t bytes_rxcarried
Definition: sdrv_uart.h:658
sdrv_dma_channel_t * rx_dmachannel
Definition: sdrv_uart.h:654
uint32_t clk_freq
Definition: sdrv_uart.h:620
sdrv_dma_channel_t * tx_dmachannel
Definition: sdrv_uart.h:655
sdrv_dma_t * dma_instance
Definition: sdrv_uart.h:653
sdrv_dma_linklist_descriptor_t tx_dma_linklist[NUM_LINKLIST_ITEMS] __attribute__((__aligned__(CONFIG_ARCH_CACHE_LINE)))
uart_callback_t tx_async_cb
Definition: sdrv_uart.h:632
uart_callback_t callback
Definition: sdrv_uart.h:643
const uint8_t * tx_ptr
Definition: sdrv_uart.h:627
volatile uint32_t tx_remain
Definition: sdrv_uart.h:628
uint32_t baud
Definition: sdrv_uart.h:619
sdrv_rxidle_ctl_e rx_idle
Definition: sdrv_uart.h:657
Definition: sdrv_uart.h:315
uint32_t RESERVED
Definition: sdrv_uart.h:318
uint32_t DOORBELL
Definition: sdrv_uart.h:317
uint32_t v
Definition: sdrv_uart.h:320
Definition: sdrv_uart.h:323
uint32_t RESERVED
Definition: sdrv_uart.h:328
uint32_t TXBYTENUM
Definition: sdrv_uart.h:325
uint32_t v
Definition: sdrv_uart.h:330
uint32_t PID
Definition: sdrv_uart.h:327
uint32_t RXBYTENUM
Definition: sdrv_uart.h:326
Definition: sdrv_uart.h:333
uint32_t RXDMARST
Definition: sdrv_uart.h:338
uint32_t RESERVED
Definition: sdrv_uart.h:339
uint32_t TXDMARST
Definition: sdrv_uart.h:337
uint32_t TXDMAE
Definition: sdrv_uart.h:335
uint32_t RXDMAE
Definition: sdrv_uart.h:336
uint32_t v
Definition: sdrv_uart.h:341
Definition: sdrv_uart.h:344
uint32_t TXDMAREQ
Definition: sdrv_uart.h:348
uint32_t RESERVED
Definition: sdrv_uart.h:350
uint32_t TXDMA_STATE
Definition: sdrv_uart.h:346
uint32_t RXDMAREQ
Definition: sdrv_uart.h:349
uint32_t v
Definition: sdrv_uart.h:352
uint32_t RXDMA_STATE
Definition: sdrv_uart.h:347
Definition: sdrv_uart.h:232
uint32_t CLR
Definition: sdrv_uart.h:236
uint32_t RESERVED2
Definition: sdrv_uart.h:237
uint32_t v
Definition: sdrv_uart.h:239
uint32_t RESERVED1
Definition: sdrv_uart.h:235
uint32_t WMLVL
Definition: sdrv_uart.h:234
Definition: sdrv_uart.h:242
uint32_t RESERVED
Definition: sdrv_uart.h:249
uint32_t EMPTY
Definition: sdrv_uart.h:247
uint32_t FULL
Definition: sdrv_uart.h:248
uint32_t FILLLVL
Definition: sdrv_uart.h:244
uint32_t v
Definition: sdrv_uart.h:251
uint32_t FIFOSZ
Definition: sdrv_uart.h:246
uint32_t EMPTYLVL
Definition: sdrv_uart.h:245
Definition: sdrv_uart.h:254
uint32_t RXCHKSUMPASS
Definition: sdrv_uart.h:281
uint32_t RESERVED
Definition: sdrv_uart.h:283
uint32_t PARITYERR
Definition: sdrv_uart.h:264
uint32_t IO2EDGE
Definition: sdrv_uart.h:286
uint32_t RXCHKSUMERR
Definition: sdrv_uart.h:282
uint32_t IO0EDGE
Definition: sdrv_uart.h:284
uint32_t APBCMDABORT
Definition: sdrv_uart.h:278
uint32_t RXPIDERR
Definition: sdrv_uart.h:280
uint32_t TC
Definition: sdrv_uart.h:273
uint32_t BAUDRATEERR
Definition: sdrv_uart.h:266
uint32_t RXFABT
Definition: sdrv_uart.h:263
uint32_t RXFOVF
Definition: sdrv_uart.h:261
uint32_t TXFWE
Definition: sdrv_uart.h:256
uint32_t ABRPASS
Definition: sdrv_uart.h:274
uint32_t RXADDR
Definition: sdrv_uart.h:271
uint32_t RXTO
Definition: sdrv_uart.h:268
uint32_t FRAMEERR
Definition: sdrv_uart.h:265
uint32_t IO1EDGE
Definition: sdrv_uart.h:285
uint32_t v
Definition: sdrv_uart.h:289
uint32_t RXFWF
Definition: sdrv_uart.h:257
uint32_t NOISEERR
Definition: sdrv_uart.h:267
uint32_t APBCMDDONE
Definition: sdrv_uart.h:277
uint32_t IO3EDGE
Definition: sdrv_uart.h:287
uint32_t TXFOVF
Definition: sdrv_uart.h:260
uint32_t CHARMATCH
Definition: sdrv_uart.h:272
uint32_t RXBREAK
Definition: sdrv_uart.h:269
uint32_t ABRFAIL
Definition: sdrv_uart.h:275
uint32_t RXFUDF
Definition: sdrv_uart.h:259
uint32_t STARTERR
Definition: sdrv_uart.h:276
uint32_t RXIDLE
Definition: sdrv_uart.h:270
uint32_t TXFUDF
Definition: sdrv_uart.h:258
uint32_t RXPIDPASS
Definition: sdrv_uart.h:279
uint32_t TXFABT
Definition: sdrv_uart.h:262
Definition: sdrv_uart.h:94
uint32_t RESERVED
Definition: sdrv_uart.h:102
uint32_t QCHCTL
Definition: sdrv_uart.h:100
uint32_t CGC
Definition: sdrv_uart.h:98
uint32_t MODEN
Definition: sdrv_uart.h:96
uint32_t OPMOD
Definition: sdrv_uart.h:99
uint32_t v
Definition: sdrv_uart.h:104
uint32_t SELFTESTMODEEN
Definition: sdrv_uart.h:101
uint32_t MODRST
Definition: sdrv_uart.h:97
Definition: sdrv_uart.h:107
uint32_t ABREN
Definition: sdrv_uart.h:117
uint32_t ABRCTL1
Definition: sdrv_uart.h:119
uint32_t ABRCTL0
Definition: sdrv_uart.h:118
uint32_t BITORDER
Definition: sdrv_uart.h:112
uint32_t STOPBIT
Definition: sdrv_uart.h:114
uint32_t ADDRBIT
Definition: sdrv_uart.h:116
uint32_t TRANSFERMODE
Definition: sdrv_uart.h:121
uint32_t DATABIT
Definition: sdrv_uart.h:113
uint32_t FCM
Definition: sdrv_uart.h:120
uint32_t PARITYBIT
Definition: sdrv_uart.h:115
uint32_t RXEN
Definition: sdrv_uart.h:111
uint32_t TXEN
Definition: sdrv_uart.h:110
uint32_t v
Definition: sdrv_uart.h:124
uint32_t PRESALE
Definition: sdrv_uart.h:109
uint32_t RXMUTECTL
Definition: sdrv_uart.h:122
Definition: sdrv_uart.h:216
uint32_t RESERVED
Definition: sdrv_uart.h:227
uint32_t TXPOL
Definition: sdrv_uart.h:220
uint32_t RXSYNCEN
Definition: sdrv_uart.h:225
uint32_t RXMODE
Definition: sdrv_uart.h:222
uint32_t v
Definition: sdrv_uart.h:229
uint32_t RXPOL
Definition: sdrv_uart.h:224
uint32_t TXMODE
Definition: sdrv_uart.h:219
uint32_t TXSEL
Definition: sdrv_uart.h:218
uint32_t RXSEL
Definition: sdrv_uart.h:221
uint32_t RXEDGESEL
Definition: sdrv_uart.h:223
uint32_t RXFILTCTL
Definition: sdrv_uart.h:226
Definition: sdrv_uart.h:127
uint32_t SAMPLERATE
Definition: sdrv_uart.h:130
uint32_t RXIDLECTL
Definition: sdrv_uart.h:132
uint32_t v
Definition: sdrv_uart.h:134
uint32_t RXBREAKCTL
Definition: sdrv_uart.h:131
uint32_t BAUDRATE
Definition: sdrv_uart.h:129
Definition: sdrv_uart.h:137
uint32_t CHAR2
Definition: sdrv_uart.h:140
uint32_t ADDRCHAR
Definition: sdrv_uart.h:141
uint32_t v
Definition: sdrv_uart.h:144
uint32_t ADDRMSK
Definition: sdrv_uart.h:142
uint32_t CHAR1
Definition: sdrv_uart.h:139
Definition: sdrv_uart.h:147
uint32_t DEAT
Definition: sdrv_uart.h:151
uint32_t DEDT
Definition: sdrv_uart.h:152
uint32_t v
Definition: sdrv_uart.h:154
uint32_t DE2RE
Definition: sdrv_uart.h:149
uint32_t RE2DE
Definition: sdrv_uart.h:150
Definition: sdrv_uart.h:157
uint32_t TXADDR
Definition: sdrv_uart.h:159
uint32_t RESERVED2
Definition: sdrv_uart.h:168
uint32_t RXTOCTL
Definition: sdrv_uart.h:167
uint32_t TXBREAKCTL
Definition: sdrv_uart.h:163
uint32_t CHARMATCHCTL
Definition: sdrv_uart.h:165
uint32_t v
Definition: sdrv_uart.h:170
uint32_t BCLKOE
Definition: sdrv_uart.h:166
uint32_t RESERVED1
Definition: sdrv_uart.h:162
uint32_t TXBREAK
Definition: sdrv_uart.h:160
uint32_t TXIDLECTL
Definition: sdrv_uart.h:164
uint32_t TXIDLE
Definition: sdrv_uart.h:161
Definition: sdrv_uart.h:173
uint32_t SIRTXPUL
Definition: sdrv_uart.h:177
uint32_t SIRRXPUL
Definition: sdrv_uart.h:178
uint32_t TXCHARINT
Definition: sdrv_uart.h:175
uint32_t v
Definition: sdrv_uart.h:180
uint32_t RESERVED1
Definition: sdrv_uart.h:176
Definition: sdrv_uart.h:183
uint32_t RESERVED
Definition: sdrv_uart.h:187
uint32_t CHKSUMTYP
Definition: sdrv_uart.h:186
uint32_t v
Definition: sdrv_uart.h:189
uint32_t LINBREAKDEL
Definition: sdrv_uart.h:185
Definition: sdrv_uart.h:192
uint32_t RESERVED
Definition: sdrv_uart.h:195
uint32_t PCMDTO
Definition: sdrv_uart.h:194
uint32_t v
Definition: sdrv_uart.h:197
Definition: sdrv_uart.h:200
uint32_t RESERVED
Definition: sdrv_uart.h:211
uint32_t TXPOL
Definition: sdrv_uart.h:204
uint32_t RXSYNCEN
Definition: sdrv_uart.h:209
uint32_t RXMODE
Definition: sdrv_uart.h:206
uint32_t v
Definition: sdrv_uart.h:213
uint32_t RXPOL
Definition: sdrv_uart.h:208
uint32_t TXMODE
Definition: sdrv_uart.h:203
uint32_t TXSEL
Definition: sdrv_uart.h:202
uint32_t RXSEL
Definition: sdrv_uart.h:205
uint32_t RXEDGESEL
Definition: sdrv_uart.h:207
uint32_t RXFILTCTL
Definition: sdrv_uart.h:210
Definition: sdrv_uart.h:292
uint32_t LIN_CHECKSUM
Definition: sdrv_uart.h:302
uint32_t MUTEMODE
Definition: sdrv_uart.h:300
uint32_t LIN_STATE
Definition: sdrv_uart.h:295
uint32_t IOTX_STATE
Definition: sdrv_uart.h:297
uint32_t v
Definition: sdrv_uart.h:304
uint32_t FC_STATE
Definition: sdrv_uart.h:294
uint32_t PCMD_STATE
Definition: sdrv_uart.h:301
uint32_t RXBREAK_STATE
Definition: sdrv_uart.h:298
uint32_t ABR_STATE
Definition: sdrv_uart.h:299
uint32_t IORX_STATE
Definition: sdrv_uart.h:296
Definition: sdrv_uart.h:307
uint32_t ABRCHAR
Definition: sdrv_uart.h:310
uint32_t AUTOBAUDRATE
Definition: sdrv_uart.h:309
uint32_t v
Definition: sdrv_uart.h:312