SemiDrive SSDK Appication Program Interface PTG3.0
sdrv_uart.h
Go to the documentation of this file.
1
9#ifndef INCLUDE_DRV_SDRV_UART_H
10#define INCLUDE_DRV_SDRV_UART_H
11
12#include <compiler.h>
13#include <sdrv_common.h>
14#if CONFIG_UART_ENABLE_DMA
15#include <sdrv_dma.h>
16#endif
17#include <types.h>
18
19#ifndef ASSEMBLY
20
21__BEGIN_CDECLS
22
23/* The default count of timeout */
24#define WaitForever 0xFFFFFFFFU
25
26/* The operation's timeout period of register. */
27#define SDRV_UART_OPERATION_TIMEOUT 0x500000U
28
29/* Auto baud detect param */
30#define UART_ABR_PATTERN 0U
31#define SDRV_UART_ABR_PATTERN_CHAR 0x55U
32#define SDRV_UART_MAX_ABR_NUM 8U
33
34#if CONFIG_UART_ENABLE_DMA
35/* Linklist config. */
36#ifdef CONFIG_NUM_LINKLIST_ITEMS
37/* User linklist length. */
38#define NUM_LINKLIST_ITEMS CONFIG_NUM_LINKLIST_ITEMS
39#else
40/* Default linklist length. */
41#define NUM_LINKLIST_ITEMS 8
42#endif
43/* Default mad length. */
44#define DMA_BURST16_MAD_SIZE_MAX (4000U * 16U)
45#define DMA_BURST1_MAD_SIZE_MAX (4000U * 1U)
46#endif
47
49#define SDRV_UART_INTR_TX_FWE 1U
50#define SDRV_UART_INTR_RX_FWF \
51 (1U << 1)
52#define SDRV_UART_INTR_RX_FUDF \
53 (1U << 3)
54#define SDRV_UART_INTR_TX_FOVF \
55 (1U << 4)
56#define SDRV_UART_INTR_RX_FOVF \
57 (1U << 5)
58#define SDRV_UART_INTR_PARITYERR \
59 (1U << 8)
60#define SDRV_UART_INTR_FRAMEERR \
61 (1U << 9)
63#define SDRV_UART_INTR_BAUDRATEERR \
64 (1U << 10)
65#define SDRV_UART_INTR_NOISERERR \
66 (1U << 11)
67#define SDRV_UART_INTR_RXBREAK \
68 (1U << 13)
69#define SDRV_UART_INTR_RXIDLE \
70 (1U << 14)
71#define SDRV_UART_INTR_TX_COMPLETED \
72 (1U << 17)
73#define SDRV_UART_INTR_ABRPASS \
74 (1U << 18)
75#define SDRV_UART_INTR_ABRFAIL \
76 (1U << 19)
78/* Uart receive error interrupt bitmask. */
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)
83
84/* Uart transmit error interrupt bitmask. */
85#define SDRV_UART_INTR_TX_ERROR (SDRV_UART_INTR_TX_FOVF)
86
87/* Uart abr interrupt bitmask. */
88#define SDRV_UART_INTR_ABR (SDRV_UART_INTR_ABRPASS | SDRV_UART_INTR_ABRFAIL)
89
90/* Uart tx/rx fifo base offset. */
91#define SDRV_UART_TX_FIFO_OFFSET 0x200U
92#define SDRV_UART_RX_FIFO_OFFSET 0x300U
93
94typedef union {
95 struct {
96 uint32_t MODEN : 1;
97 uint32_t MODRST : 1;
98 uint32_t CGC : 2;
99 uint32_t OPMOD : 4;
100 uint32_t QCHCTL : 1;
101 uint32_t SELFTESTMODEEN : 1;
102 uint32_t RESERVED : 22;
103 };
104 uint32_t v;
105} MCR0_Type;
106
107typedef union {
108 struct {
109 uint32_t PRESALE : 5;
110 uint32_t TXEN : 1;
111 uint32_t RXEN : 1;
112 uint32_t BITORDER : 1;
113 uint32_t DATABIT : 3;
114 uint32_t STOPBIT : 2;
115 uint32_t PARITYBIT : 3;
116 uint32_t ADDRBIT : 1;
117 uint32_t ABREN : 1;
118 uint32_t ABRCTL0 : 4;
119 uint32_t ABRCTL1 : 3;
120 uint32_t FCM : 3;
121 uint32_t TRANSFERMODE : 1;
122 uint32_t RXMUTECTL : 3;
123 };
124 uint32_t v;
125} PCR0_Type;
126
127typedef union {
128 struct {
129 uint32_t BAUDRATE : 24;
130 uint32_t SAMPLERATE : 2;
131 uint32_t RXBREAKCTL : 3;
132 uint32_t RXIDLECTL : 3;
133 };
134 uint32_t v;
135} PCR1_Type;
136
137typedef union {
138 struct {
139 uint32_t CHAR1 : 8;
140 uint32_t CHAR2 : 8;
141 uint32_t ADDRCHAR : 8;
142 uint32_t ADDRMSK : 8;
143 };
144 uint32_t v;
145} PCR2_Type;
146
147typedef union {
148 struct {
149 uint32_t DE2RE : 8;
150 uint32_t RE2DE : 8;
151 uint32_t DEAT : 8;
152 uint32_t DEDT : 8;
153 };
154 uint32_t v;
155} PCR3_Type;
156
157typedef union {
158 struct {
159 uint32_t TXADDR : 1;
160 uint32_t TXBREAK : 1;
161 uint32_t TXIDLE : 1;
162 uint32_t RESERVED1 : 5;
163 uint32_t TXBREAKCTL : 4;
164 uint32_t TXIDLECTL : 4;
165 uint32_t CHARMATCHCTL : 3;
166 uint32_t BCLKOE : 1;
167 uint32_t RXTOCTL : 3;
168 uint32_t RESERVED2 : 9;
169 };
170 uint32_t v;
171} PCR4_Type;
172
173typedef union {
174 struct {
175 uint32_t TXCHARINT : 8;
176 uint32_t RESERVED1 : 8;
177 uint32_t SIRTXPUL : 8;
178 uint32_t SIRRXPUL : 8;
179 };
180 uint32_t v;
181} PCR5_Type;
182
183typedef union {
184 struct {
185 uint32_t LINBREAKDEL : 3;
186 uint32_t CHKSUMTYP : 1;
187 uint32_t RESERVED : 28;
188 };
189 uint32_t v;
190} PCR6_Type;
191
192typedef union {
193 struct {
194 uint32_t PCMDTO : 5;
195 uint32_t RESERVED : 27;
196 };
197 uint32_t v;
198} PCR7_Type;
199
200typedef union {
201 struct {
202 uint32_t TXSEL : 4;
203 uint32_t TXMODE : 3;
204 uint32_t TXPOL : 1;
205 uint32_t RXSEL : 4;
206 uint32_t RXMODE : 2;
207 uint32_t RXEDGESEL : 2;
208 uint32_t RXPOL : 1;
209 uint32_t RXSYNCEN : 1;
210 uint32_t RXFILTCTL : 3;
211 uint32_t RESERVED : 11;
212 };
213 uint32_t v;
214} PCR8_Type;
215
216typedef union {
217 struct {
218 uint32_t TXSEL : 4;
219 uint32_t TXMODE : 3;
220 uint32_t TXPOL : 1;
221 uint32_t RXSEL : 4;
222 uint32_t RXMODE : 2;
223 uint32_t RXEDGESEL : 2;
224 uint32_t RXPOL : 1;
225 uint32_t RXSYNCEN : 1;
226 uint32_t RXFILTCTL : 3;
227 uint32_t RESERVED : 11;
228 };
229 uint32_t v;
230} PCR11_Type;
231
232typedef union {
233 struct {
234 uint32_t WMLVL : 8;
235 uint32_t RESERVED1 : 8;
236 uint32_t CLR : 1;
237 uint32_t RESERVED2 : 15;
238 };
239 uint32_t v;
240} FCR_Type;
241
242typedef union {
243 struct {
244 uint32_t FILLLVL : 8;
245 uint32_t EMPTYLVL : 8;
246 uint32_t FIFOSZ : 8;
247 uint32_t EMPTY : 1;
248 uint32_t FULL : 1;
249 uint32_t RESERVED : 6;
250 };
251 uint32_t v;
252} FSR_Type;
253
254typedef union {
255 struct {
256 uint32_t TXFWE : 1;
257 uint32_t RXFWF : 1;
258 uint32_t TXFUDF : 1;
259 uint32_t RXFUDF : 1;
260 uint32_t TXFOVF : 1;
261 uint32_t RXFOVF : 1;
262 uint32_t TXFABT : 1;
263 uint32_t RXFABT : 1;
264 uint32_t PARITYERR : 1;
265 uint32_t FRAMEERR : 1;
266 uint32_t BAUDRATEERR : 1;
267 uint32_t NOISEERR : 1;
268 uint32_t RXTO : 1;
269 uint32_t RXBREAK : 1;
270 uint32_t RXIDLE : 1;
271 uint32_t RXADDR : 1;
272 uint32_t CHARMATCH : 1;
273 uint32_t TC : 1;
274 uint32_t ABRPASS : 1;
275 uint32_t ABRFAIL : 1;
276 uint32_t STARTERR : 1;
277 uint32_t APBCMDDONE : 1;
278 uint32_t APBCMDABORT : 1;
279 uint32_t RXPIDPASS : 1;
280 uint32_t RXPIDERR : 1;
281 uint32_t RXCHKSUMPASS : 1;
282 uint32_t RXCHKSUMERR : 1;
283 uint32_t RESERVED : 1;
284 uint32_t IO0EDGE : 1;
285 uint32_t IO1EDGE : 1;
286 uint32_t IO2EDGE : 1;
287 uint32_t IO3EDGE : 1;
288 };
289 uint32_t v;
290} INTR0_Type;
291
292typedef union {
293 struct {
294 uint32_t FC_STATE : 4;
295 uint32_t LIN_STATE : 4;
296 uint32_t IORX_STATE : 4;
297 uint32_t IOTX_STATE : 4;
298 uint32_t RXBREAK_STATE : 2;
299 uint32_t ABR_STATE : 3;
300 uint32_t MUTEMODE : 1;
301 uint32_t PCMD_STATE : 2;
302 uint32_t LIN_CHECKSUM : 8;
303 };
304 uint32_t v;
305} PSR0_Type;
306
307typedef union {
308 struct {
309 uint32_t AUTOBAUDRATE : 24;
310 uint32_t ABRCHAR : 4;
311 };
312 uint32_t v;
313} PSR1_Type;
314
315typedef union {
316 struct {
317 uint32_t DOORBELL : 16;
318 uint32_t RESERVED : 16;
319 };
320 uint32_t v;
322
323typedef union {
324 struct {
325 uint32_t TXBYTENUM : 8;
326 uint32_t RXBYTENUM : 8;
327 uint32_t PID : 8;
328 uint32_t RESERVED : 8;
329 };
330 uint32_t v;
332
333typedef union {
334 struct {
335 uint32_t TXDMAE : 1;
336 uint32_t RXDMAE : 1;
337 uint32_t TXDMARST : 1;
338 uint32_t RXDMARST : 1;
339 uint32_t RESERVED : 28;
340 };
341 uint32_t v;
342} DMACR_Type;
343
344typedef union {
345 struct {
346 uint32_t TXDMA_STATE : 2;
347 uint32_t RXDMA_STATE : 2;
348 uint32_t TXDMAREQ : 1;
349 uint32_t RXDMAREQ : 1;
350 uint32_t RESERVED : 26;
351 };
352 uint32_t v;
353} DMASR_Type;
354
355typedef struct sdrv_uart_regs {
356 volatile MCR0_Type MCR0; /* 0x0 */
357 volatile uint32_t PRDATAINJ; /* 0x4 */
358 volatile uint32_t MCR2; /* 0x8 */
359 volatile uint32_t MCR3; /* 0xC */
360 volatile uint32_t MCR4; /* 0x10 */
361 volatile uint32_t RESERVED1; /* 0x14 */
362 volatile uint32_t MSR0; /* 0x18 */
363 volatile uint32_t MSR1; /* 0x1C */
364 volatile INTR0_Type INTR0; /* 0x20 */
365 volatile uint32_t RESERVED2[2]; /* 0x24 ~ 0x28 */
366 volatile uint32_t INTR3; /* 0x2C */
367 volatile INTR0_Type INTEN0; /* 0x30 */
368 volatile uint32_t RESERVED3[2]; /* 0x34 ~ 0x38 */
369 volatile uint32_t INTEN3; /* 0x3C */
370 volatile CMDCSR0_Type CMDCSR0; /* 0x40 */
371 volatile CMDCSR1_Type CMDCSR1; /* 0x44 */
372 volatile uint32_t RESERVED4[2]; /* 0x48 ~ 0x4C */
373 volatile FCR_Type FCR0; /* 0x50 */
374 volatile FCR_Type FCR1; /* 0x54 */
375 volatile uint32_t RESERVED5[2]; /* 0x58 ~ 0x5C */
376 volatile FSR_Type FSR0; /* 0x60 */
377 volatile FSR_Type FSR1; /* 0x64 */
378 volatile uint32_t RESERVED6[2]; /* 0x68 ~ 0x6C */
379 volatile DMACR_Type DMACR; /* 0x70 */
380 volatile DMASR_Type DMASR; /* 0x74 */
381 volatile uint32_t RESERVED7[2]; /* 0x78 ~ 0x7C */
382 volatile PCR0_Type PCR0; /* 0x80 */
383 volatile PCR1_Type PCR1; /* 0x84 */
384 volatile PCR2_Type PCR2; /* 0x88 */
385 volatile PCR3_Type PCR3; /* 0x8C */
386 volatile PCR4_Type PCR4; /* 0x90 */
387 volatile PCR5_Type PCR5; /* 0x94 */
388 volatile PCR6_Type PCR6; /* 0x98 */
389 volatile PCR7_Type PCR7; /* 0x9C */
390 volatile PCR8_Type PCR8; /* 0xA0 */
391 volatile uint32_t PCR9; /* 0xA4 */
392 volatile uint32_t PCR10; /* 0xA8 */
393 volatile PCR11_Type PCR11; /* 0xAC */
394 volatile uint32_t PCR12; /* 0xB0 */
395 volatile uint32_t PCR13; /* 0xB4 */
396 volatile uint32_t PCR14; /* 0xB8 */
397 volatile uint32_t PCR15; /* 0xBC */
398 volatile uint32_t RESERVED8[8]; /* 0xC0 ~ 0xDC */
399 volatile uint32_t INT_STA; /* 0xE0 */
400 volatile uint32_t INT_STA_EN; /* 0xE4 */
401 volatile uint32_t INT_SIG_EN; /* 0xE8 */
402 volatile uint32_t RESERVED9[5]; /* 0xEC ~ 0xFC */
403 volatile PSR0_Type PSR0; /* 0x100 */
404 volatile PSR1_Type PSR1; /* 0x104 */
405 volatile uint32_t PSR2; /* 0x108 */
406 volatile uint32_t PSR3; /* 0x10C */
407 volatile uint32_t PSR4; /* 0x110 */
408 volatile uint32_t PSR5; /* 0x114 */
409 volatile uint32_t PSR6; /* 0x118 */
410 volatile uint32_t PSR7; /* 0x11C */
411 volatile uint32_t RESERVED10[56]; /* 0x120 ~ 0x1FC */
412 volatile uint32_t TXDR; /* 0x200 */
413 volatile uint32_t RESERVED11[63]; /* 0x204 ~ 0x2FC */
414 volatile uint32_t RXDR; /* 0x300 */
416
440};
441
442typedef struct sdrv_uart sdrv_uart_t;
444
446typedef void (*uart_callback_t)(sdrv_uart_t *ctrl,
448 void *userData);
449
453typedef enum sdrv_uart_op_mode {
456
463
467typedef enum sdrv_uart_dls {
473
477typedef enum sdrv_uart_stop {
483
487typedef enum sdrv_uart_parity {
492
496typedef enum sdrv_uart_fcm {
499
503typedef struct sdrv_uart_rs485_fcm {
504 uint8_t deat_cycle;
505 uint8_t dedt_cycle;
506 uint8_t de2re_cycle;
507 uint8_t re2de_cycle;
509
513typedef struct sdrv_uart_fcm_config {
518
522typedef enum sdrv_abr_max {
532
536typedef enum sdrv_rxidle_ctl {
539 1U,
541 2U,
543 3U,
545 4U,
547 5U,
549 6U,
551 7U,
553
565 5U,
568
581 Transfer_RxAbrFail = 8U,
584
598 1U),
602 3U),
606 5U),
609 6U),
611
615struct sdrv_uart {
616 uint32_t base;
617 uint32_t irq;
619 uint32_t baud;
620 uint32_t clk_freq;
627 const uint8_t *tx_ptr;
628 volatile uint32_t tx_remain;
635 uint8_t *rx_ptr;
636 volatile uint32_t rx_remain;
644 void *userData;
649 volatile uint8_t abr_count;
652#if CONFIG_UART_ENABLE_DMA
658 uint32_t bytes_rxcarried; /* The number of carried bytes by dma, only for
659 dma mode. */
660 /* Uart rx dma linklist. */
663 /* Uart tx dma linklist. */
666
667#endif
668};
669
673typedef struct sdrv_uart_config {
674 uint32_t base;
675 uint32_t irq;
676 uint32_t
685 uint32_t clk_freq;
690 uint8_t abr_en;
694 uint8_t txwmlvl;
695 /* SDRV_UART_INTR_RX_FWF interrupt will be setted when the number of data in
696 * rx fifo more than rxwmlvl + 1.
697 */
698 uint8_t rxwmlvl;
700 bool dma_en;
701#if CONFIG_UART_ENABLE_DMA
704#endif
706
724 uart_callback_t callback, void *userData);
725
739
752 uint32_t baud);
753
764 sdrv_abr_max_e num);
765
779uint32_t sdrv_uart_get_rxfifodata(sdrv_uart_t *ctrl, uint8_t *data,
780 uint32_t maxlen);
781
792
803
817 uint8_t *data, uint32_t size,
818 uint32_t *received_bytes,
819 uint32_t times);
820
830
845sdrv_uart_sync_transmit(sdrv_uart_t *ctrl, const uint8_t *data, uint32_t size,
846 uint32_t *transmitted_bytes, uint32_t times);
847
861 uint8_t *data, uint32_t size,
862 uart_callback_t rx_cb,
863 void *rx_userparam);
864
874
888sdrv_uart_async_transmit(sdrv_uart_t *ctrl, const uint8_t *data, uint32_t size,
889 uart_callback_t tx_cb, void *tx_userparam);
890
901
902#if CONFIG_UART_ENABLE_DMA
924sdrv_uart_dma_receive(sdrv_uart_t *ctrl, uint8_t *data, uint32_t size,
925 uart_callback_t rx_cb, void *rx_userparam,
926 sdrv_dma_t *dma_ctrl, sdrv_dma_channel_t *dma_channel,
927 sdrv_dma_channel_id_e channel_id);
928
940
965sdrv_uart_dma_transmit(sdrv_uart_t *ctrl, const uint8_t *data, uint32_t size,
966 uart_callback_t tx_cb, void *tx_userparam,
967 sdrv_dma_t *dma_ctrl, sdrv_dma_channel_t *dma_channel,
968 sdrv_dma_channel_id_e channel_id);
969
982
1007 sdrv_uart_t *ctrl, uint8_t *data, uint32_t size, uart_callback_t rx_cb,
1008 void *rx_userparam, sdrv_dma_t *dma_ctrl, sdrv_dma_channel_t *dma_channel,
1009 sdrv_dma_channel_id_e channel_id);
1010
1020
1021#endif
1022
1034 bool value);
1035
1046
1056
1067 uint32_t mask);
1068
1078int sdrv_uart_irq_handler(uint32_t irq, void *ctrl);
1079
1080__END_CDECLS
1081
1082#endif
1083
1084#endif
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 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