VSF Documented
uart.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __HAL_DRIVER_ALLWINNER_F1CX00S_UART_H__
19#define __HAL_DRIVER_ALLWINNER_F1CX00S_UART_H__
20
21/*============================ INCLUDES ======================================*/
22
23#include "hal/vsf_hal_cfg.h"
24
25#if VSF_HAL_USE_USART == ENABLED
26
27#include "../../__device.h"
29
30/*============================ MACROS ========================================*/
31
32#define VSF_USART_CFG_REIMPLEMENT_TYPE_MODE ENABLED
33#define VSF_USART_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
34#define VSF_USART_CFG_REIMPLEMENT_TYPE_STATUS ENABLED
35
36/*============================ MACROFIED FUNCTIONS ===========================*/
37/*============================ TYPES =========================================*/
38
39
40typedef enum vsf_usart_mode_t {
47
52
61
64
67
76
85
94
95 VSF_USART_FORCE_0_PARITY = (0x1ul << 31),
96 VSF_USART_FORCE_1_PARITY = (0x1ul << 30),
100
101 VSF_USART_1_5_STOPBIT = (0x1ul << 29),
104
105 VSF_USART_9_BIT_LENGTH = (0x4ul << 28),
108
109 VSF_USART_NO_HWCONTROL = (0x0ul << 26),
110 VSF_USART_RTS_HWCONTROL = (0x1ul << 26),
111 VSF_USART_CTS_HWCONTROL = (0x2ul << 26),
116
117 VSF_USART_TX_ENABLE = (0x0ul << 25),
118 VSF_USART_RX_ENABLE = (0x0ul << 24),
121
128
132
135
139
148
155
156typedef struct vsf_usart_status_t {
157 union {
159 struct {
160 uint32_t is_busy : 1;
161 uint32_t ir : 8;
162 };
163 };
165
166/*============================ INCLUDES ======================================*/
167
168#define VSF_USART_CFG_DEC_PREFIX vsf_hw
169#define VSF_USART_CFG_DEC_UPCASE_PREFIX VSF_HW
171
172/*============================ TYPES =========================================*/
173
174
175/*============================ GLOBAL VARIABLES ==============================*/
176/*============================ PROTOTYPES ====================================*/
177
178
179#endif /*VSF_HAL_USE_USART*/
180
181#endif /*__HAL_DRIVER_ALLWINNER_F1CX00S_UART_H__*/
182/* EOF */
vsf_usart_mode_t
Definition uart.h:32
vsf_usart_irq_mask_t
Definition uart.h:105
@ F1C100S_USART_PARITY_MASK
Definition uart.h:44
@ F1C100S_USART_HWCONTROL_MASK
Definition uart.h:63
@ F1C100S_USART_IRDA_SIR_MODE
Definition uart.h:65
@ F1C100S_USART_TX_FIFO_THRES_MASK
Definition uart.h:72
@ F1C100S_USART_RX_FIFO_THRES_1
Definition uart.h:77
@ VSF_USART_EVEN_PARITY
Definition uart.h:42
@ VSF_USART_BIT_LENGTH_MASK
Definition uart.h:106
@ F1C100S_USART_RX_FIFO_THRES_HALF
Definition uart.h:79
@ F1C100S_USART_MODE_ALL_BITS_MASK
Definition uart.h:86
@ F1C100S_USART_TX_FIFO_THRES_2
Definition uart.h:69
@ VSF_USART_ENABLE_MASK
Definition uart.h:119
@ VSF_USART_PARITY_MASK
Definition uart.h:97
@ VSF_USART_MODE_ALL_BITS_MASK
Definition uart.h:122
@ F1C100S_USART_RX_FIFO_THRES_MASK
Definition uart.h:81
@ VSF_USART_HWCONTROL_MASK
Definition uart.h:112
@ F1C100S_USART_LOOP_BACK_MODE
Definition uart.h:66
@ F1C100S_USART_TX_FIFO_THRES_QUARTER
Definition uart.h:70
@ VSF_USART_STOPBIT_MASK
Definition uart.h:102
@ F1C100S_USART_RX_FIFO_THRES_QUARTER
Definition uart.h:78
@ F1C100S_USART_TX_FIFO_THRES_HALF
Definition uart.h:71
@ F1C100S_USART_STOPBIT_MASK
Definition uart.h:50
@ F1C100S_USART_TX_FIFO_THRES_EMPTY
Definition uart.h:68
@ F1C100S_USART_RX_FIFO_THRES_2_LESS
Definition uart.h:80
@ F1C100S_USART_BIT_LENGTH_MASK
Definition uart.h:57
@ F1C100S_USART_IRQ_ALL_BITS_MASK
Definition uart.h:133
@ VSF_USART_IRQ_MASK_ERR
Definition uart.h:144
@ VSF_USART_IRQ_ALL_BITS_MASK
Definition uart.h:149
struct vsf_usart_status_t vsf_usart_status_t
vsf_usart_mode_t
Definition uart.h:36
@ VSF_USART_8_BIT_LENGTH
Definition uart.h:38
@ VSF_USART_ODD_PARITY
Definition uart.h:50
@ VSF_USART_NO_PARITY
Definition uart.h:49
@ VSF_USART_RTS_HWCONTROL
Definition uart.h:60
@ VSF_USART_RX_ENABLE
Definition uart.h:67
@ VSF_USART_FORCE_0_PARITY
Definition uart.h:56
@ VSF_USART_TX_ENABLE
Definition uart.h:64
@ VSF_USART_9_BIT_LENGTH
Definition uart.h:54
@ VSF_USART_7_BIT_LENGTH
Definition uart.h:39
@ VSF_USART_1_STOPBIT
Definition uart.h:44
@ VSF_USART_FORCE_1_PARITY
Definition uart.h:57
@ VSF_USART_2_STOPBIT
Definition uart.h:45
@ VSF_USART_CTS_HWCONTROL
Definition uart.h:61
@ VSF_USART_5_BIT_LENGTH
Definition uart.h:41
@ VSF_USART_RTS_CTS_HWCONTROL
Definition uart.h:62
@ VSF_USART_6_BIT_LENGTH
Definition uart.h:40
@ VSF_USART_NO_HWCONTROL
Definition uart.h:59
@ VSF_USART_1_5_STOPBIT
Definition uart.h:46
vsf_usart_irq_mask_t
Definition uart.h:84
@ VSF_USART_IRQ_MASK_OVERFLOW_ERR
Definition uart.h:101
@ VSF_USART_IRQ_MASK_TX
Definition uart.h:87
@ VSF_USART_IRQ_MASK_BREAK_ERR
Definition uart.h:100
@ VSF_USART_IRQ_MASK_RX
Definition uart.h:86
@ VSF_USART_IRQ_MASK_RX_TIMEOUT
Definition uart.h:91
@ VSF_USART_IRQ_MASK_PARITY_ERR
Definition uart.h:99
@ VSF_USART_IRQ_MASK_FRAME_ERR
Definition uart.h:98
@ VSF_USART_IRQ_MASK_TX_CPL
Definition uart.h:35
@ VSF_USART_IRQ_MASK_RX_CPL
Definition uart.h:36
#define FCR_RT_QUARTER
Definition f1c100s_reg.h:419
#define IER_ETBEI
Definition f1c100s_reg.h:413
#define LCR_DLS_5
Definition f1c100s_reg.h:442
#define FCR_TFT_EMPTY
Definition f1c100s_reg.h:423
#define FCR_RT_HALF
Definition f1c100s_reg.h:420
#define FCR_TFT_2
Definition f1c100s_reg.h:424
#define LCR_PEN
Definition f1c100s_reg.h:437
#define MCR_SIRE
Definition f1c100s_reg.h:447
#define LCR_STOP_1
Definition f1c100s_reg.h:439
#define FCR_RT_1
Definition f1c100s_reg.h:418
#define FCR_TFT_QUARTER
Definition f1c100s_reg.h:425
#define LCR_DLS_6
Definition f1c100s_reg.h:443
#define IER_ERBFI
Definition f1c100s_reg.h:414
#define LCR_STOP_2
Definition f1c100s_reg.h:440
#define LCR_DLS_7
Definition f1c100s_reg.h:444
#define LCR_DLS_8
Definition f1c100s_reg.h:445
#define MCR_LOOP
Definition f1c100s_reg.h:449
#define LCR_EPS_ODD
Definition f1c100s_reg.h:435
#define FCR_RT_2_LESS
Definition f1c100s_reg.h:421
#define FCR_TFT_HALF
Definition f1c100s_reg.h:426
#define MCR_AFCE
Definition f1c100s_reg.h:448
#define LCR_EPS_EVEN
Definition f1c100s_reg.h:436
unsigned uint32_t
Definition stdint.h:9
Definition vsf_template_hal_driver.h:196
Definition uart.h:156
uint32_t is_busy
Definition usart.h:276