\n
address_offset : 0x0 Bytes (0x0)
size : 0x1000 byte (0x0)
mem_usage : registers
protection : not protected
Data Register
address_offset : 0x0 Bytes (0x0)
size : 16 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA : UART data register:
FE : Frame error. This bit is set to 1 if the received character did not have a valid stop bit. In FIFO mode, this error is associated with the character at the top of the FIFO.
bits : 8 - 8 (1 bit)
access : read-only
PE : Parity error. This bit is set to 1 if the parity of the received data character does not match the parity selected as defined by bits 2 and 7 of the LCRH_RX register. In FIFO mode, this error is associated with the character at the top of the FIFO.
bits : 9 - 9 (1 bit)
access : read-only
BE : Break error. This bit is set to 1 if a break condition was detected, indicating that the received data input was held low for longer than a full-word transmission time (defined as start, data, parity and stop bits). In FIFO mode, this error is associated with the character at the top of the FIFO. When a break occurs, only one 0 character is loaded into the FIFO. The next character is only enabled after the receive data input goes to HIGH (marking state), and the next valid start bit is received
bits : 10 - 10 (1 bit)
access : read-only
OE : Overrun error. This bit is set to 1 if data is received and the receive FIFO is already full. This is cleared to 0b once there is an empty space in the FIFO and a new character can be written to it. The FIFO content remains valid since no further data is written when the FIFO is full, only the content of the shift register is overwritten.
bits : 11 - 11 (1 bit)
access : read-only
Flag Register
address_offset : 0x18 Bytes (0x0)
size : 16 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
CTS : Clear to send.
bits : 0 - 0 (1 bit)
BUSY : UART Busy. If this bit is set to 1, the UART is busy transmitting data. This bit remains set until the complete byte, including all the stop bits, has been sent from the shift register. However, if the transmit section of the UART is disabled in the middle of a transmission, the BUSY bit gets cleared. This bit is set again once the transmit section is re-enabled to complete the remaining transmission.This bit is set as soon as the transmit FIFO becomes nonempty (regardless of whether the UART is enabled or not).
bits : 3 - 3 (1 bit)
RXFE : Receive FIFO empty. If the FIFO is disabled (bit FEN = 0b), this bit is set when the receive holding register is empty. If the FIFO is enabled (FEN = 1b), the RXFE bit is set when the receive FIFO is empty.
bits : 4 - 4 (1 bit)
TXFF : Transmit FIFO full. If the FIFO is disabled (bit FEN = 0b), this bit is set when the transmit holding register is full. If the FIFO is enabled (FEN = 1b), the TXFF bit is set when the transmit FIFO is full.
bits : 5 - 5 (1 bit)
RXFF : Receive FIFO full. If the FIFO is disabled (bit FEN = 0b), this bit is set when the receive holding register is full. If the FIFO is enabled (FEN = 1b), the RXFF bit is set when the receive FIFO is full.
bits : 6 - 6 (1 bit)
TXFE : Transmit FIFO empty. If the FIFO is disabled (bit FEN = 0b), this bit is set when the transmit holding register is empty. If the FIFO is enabled (FEN = 1b), the TXFE bit is set when the transmit FIFO is empty.
bits : 7 - 7 (1 bit)
DCTS : Delta Clear To Send. This bit is set CTS changes since the last read of the FR register.
bits : 9 - 9 (1 bit)
RTXDIS : Remote Transmitter Disabled (software flow control). This bit indicates an Xoff character was sent to the remote transmitter to stop it after the received FIFO has passed over its trigger limit. This bit is cleared when a Xon character is sent to the remote transmitter.
bits : 13 - 13 (1 bit)
Receive Line Control Register
address_offset : 0x1C Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PEN_RX : RX parity enable:
Enumeration:
1 : PARITY_ENABLE
Parity Enable
0 : PARITY_DISABLE
Parity Disable
End of enumeration elements list.
EPS_RX : RX even parity selection, when the parity is enabled.
Enumeration:
0 : ODD
Odd parity generation and checking is performed during reception, which check for an odd number of 1s in data and parity bits
1 : EVEN
Even parity generation and checking is performed during reception, which check for an even number of 1s in data and parity bits
End of enumeration elements list.
STP2_RX : RX two stop bits select. This bit enables the check for two stop bits being received:
Enumeration:
0 : STOP_BIT1
1 stop bit received
1 : STOP_BITS2
2 stop bits received
End of enumeration elements list.
FEN_RX : RX enable FIFOs. This bit enables/disables the receive RX FIFO buffer:
Enumeration:
0 : RXFIFO_DISABLED
RX FIFO is disabled
1 : RXFIFO_ENABLED
RX FIFO is enabled
End of enumeration elements list.
WLEN_RX : RX Word length. This bit field indicates the number of data bits received in a frame as follows:
Enumeration:
0 : BIT5
5 bits
1 : BIT6
6 bits
2 : BIT7
7 bits
3 : BIT8
8 bits
End of enumeration elements list.
SPS_RX : RX stick parity select:
Enumeration:
0 : STICK_PARITY_DISABLE
stick parity disable
1 : STICK_PARITY_ENABLE
stick parity enable
End of enumeration elements list.
Integer Baud Rate Register
address_offset : 0x24 Bytes (0x0)
size : 16 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DIVINT : Baud rate integer. The baud rate divisor is calculated as follows:
When OVSFACT = 0b in the CR register: Baud rate divisor = (Frequency (UARTCLK)/(16*Baud rate))
When OVSFACT = 1b in CR register: Baud rate divisor = (Frequency (UARTCLK)/(8*Baud rate))
where Frequency (UARTCLK) is the UART reference clock frequency. The baud rate divisor comprises the integer value (DIVINT) and the fractional value (DIVFRAC). The contents of the IBRD and FBRD registers are not updated until transmission or reception of the current character has completed.
Fractional Baud Rate Register
address_offset : 0x28 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DIVFRAC : Baud rate fraction. Baud rate integer. The baud rate divisor is calculated as follows:
When OVSFACT = 0b in the CR register: Baud rate divisor = (Frequency (UARTCLK)/(16*Baud rate))
When OVSFACT = 1b in CR register: Baud rate divisor = (Frequency (UARTCLK)/(8*Baud rate))
where Frequency (UARTCLK) is the UART reference clock frequency. The baud rate divisor comprises the integer value (DIVINT) and the fractional value (DIVFRAC). The contents of the IBRD and FBRD registers are not updated until transmission or reception of the current character has completed.
Transmit Line Control Register
address_offset : 0x2C Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BRK : Send break. This bit allows a continuous low-level to be forced on TX output, after completion of the current character. This bit must be asserted for at least one complete frame transmission time in order to generate a break condition. The transmit FIFO contents remain unaffected during a break condition.
Enumeration:
0 : TX_NORMAL
Normal transmission
1 : TX_BREAK_CONDITION
Break condition transmission
End of enumeration elements list.
PEN_TX : TX parity enable:
Enumeration:
1 : PARITY_ENABLE
Parity Enable
0 : PARITY_DISABLE
Parity Disable
End of enumeration elements list.
EPS_TX : TX even parity select. This bit selects the parity generation, when the parity is enabled (PEN_TX =1b). This bit has no effect when parity is disabled (PEN_TX = 0b).
Enumeration:
0 : ODD
Odd parity generation and checking is performed during transmission, which check for an odd number of 1s in data and parity bits
1 : EVEN
Even parity generation and checking is performed during transmission, which check for an even number of 1s in data and parity bits
End of enumeration elements list.
STP2_TX : TX two stop bits select. This bit enables the check for two stop bits being received:
Enumeration:
0 : STOP_BIT1
1 stop bit received
1 : STOP_BITS2
2 stop bits received
End of enumeration elements list.
FEN_TX : TX Enable FIFO. This bit enables/disables the transmit TX FIFO buffer:
Enumeration:
0 : TXFIFO_DISABLED
TX FIFO is disabled
1 : TXFIFO_ENABLED
TX FIFO is enabled
End of enumeration elements list.
WLEN_TX : TX word length. This bit field indicates the number of data bits transmitted in a frame as follows:
Enumeration:
0 : BIT5
5 bits
1 : BIT6
6 bits
2 : BIT7
7 bits
3 : BIT8
8 bits
End of enumeration elements list.
SPS_TX : TX Stick parity check:
Enumeration:
0 : STICK_PARITY_DISABLE
stick parity disable
1 : STICK_PARITY_ENABLE
stick parity enable
End of enumeration elements list.
Control Register
address_offset : 0x30 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
UARTEN : UART enable. This bit enables the UART.
Enumeration:
1 : ENABLE
Enable the UART
0 : DISABLE
Disable the UART
End of enumeration elements list.
OVSFACT : UART oversampling factor.This bit enables the UART oversampling factor. If UARTCLK is 16 MHz thus max. baud-rate is 1 Mbaud when OVSFACT = 0b, and 2 Mbaud when OVSFACT = 1b.
Enumeration:
0 : Cycles_16
16 UARTCLK clock cycles
1 : Cycles_8
8 UARTCLK clock cycles
End of enumeration elements list.
TXE : Transmit enable.
Enumeration:
1 : TX_ENABLE
Enable the TX UART
0 : TX_DISABLE
Disable the TX UART
End of enumeration elements list.
RXE : Receive enable.
Enumeration:
1 : RX_ENABLE
Enable the RX UART
0 : RX_DISABLE
Disable the RX UART
End of enumeration elements list.
RTS : Request to send.
Enumeration:
1 : REQUEST_TO_SEND_HIGH
request to send high
0 : REQUEST_TO_SEND_LOW
request to send low
End of enumeration elements list.
RTSEN : RTS hardware flow control enable.
Enumeration:
0 : RTS_DISABLE
RTS hardware flow control disable
1 : RTS_ENABLE
RTS hardware flow control enable
End of enumeration elements list.
CTSEN : CTS hardware flow control enable.
Enumeration:
0 : CTS_DISABLE
CTS hardware flow control disable
1 : CTS_ENABLE
CTS hardware flow control enable
End of enumeration elements list.
STA_B_DURATION : START bit duration Receiver state. These bits can be used to configure the START bit duration (in clock cycles) to get the bit sampled in the middle of the UART receiver. These bits can be used only when using high baud rates (IBRD = 1, FBRD >= 0 and OVSFACT = 1). Below the formula to calculate the START bit duration receiver state:
STA_B_DURATION = Integer(Fuartclk/(2* BAUD RATE)) - 1
Example: when UARTCLK = 16 MHz and BAUD RATE = 2.0 Mbps then STA_B_DURATION = 4 - 1 = 3. STA_B_DURATION field should be configured with 4'b0011.
Interrupt FIFO level select register
address_offset : 0x34 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
TXIFLSEL : Transmit interrupt FIFO level select. This bit field selects the trigger points for TX FIFO interrupt:
Enumeration:
0 : TXFIFO_1_64
Interrupt when FIFO >= 1/64 empty
1 : TXFIFO_1_32
Interrupt when FIFO >= 1/32 empty
2 : TXFIFO_1_16
Interrupt when FIFO >= 1/16 empty
3 : TXFIFO_1_8
Interrupt when FIFO >= 1/8 empty
4 : TXFIFO_1_4
Interrupt when FIFO >= 1/4 empty
5 : TXFIFO_1_2
Interrupt when FIFO >= 1/2 empty
6 : TXFIFO_3_4
Interrupt when FIFO >= 3/4 empty
End of enumeration elements list.
RXIFLSEL : Receive interrupt FIFO level select. This bit field selects the trigger points for RX FIFO interrupt:
Enumeration:
0 : RXFIFO_1_64
Interrupt when FIFO >= 1/64 full
1 : RXFIFO_1_32
Interrupt when FIFO >= 1/32 full
2 : RXFIFO_1_16
Interrupt when FIFO >= 1/16 full
3 : RXFIFO_1_8
Interrupt when FIFO >= 1/8 full
4 : RXFIFO_1_4
Interrupt when FIFO >= 1/4 full
5 : RXFIFO_1_2
Interrupt when FIFO >= 1/2 full
6 : RXFIFO_3_4
Interrupt when FIFO >= 3/4 full
End of enumeration elements list.
Interrupt Mask Set/Clear Register
address_offset : 0x38 Bytes (0x0)
size : 16 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CTSMIM : Clear to send modem interrupt mask. On a read, the current mask for the CTSMIM interrupt is returned.
Enumeration:
1 : SET_MASK
set the interrupt mask
0 : CLEAR_MASK
clear the interrupt mask
End of enumeration elements list.
RXIM : Receive interrupt mask. On a read, the current mask for the RXIM interrupt is returned.
TXIM : Transmit interrupt mask. On a read, the current mask for the TXIM interrupt is returned.
RTIM : Receive timeout interrupt mask. On a read, the current mask for the RTIM interrupt is returned.
FEIM : Framing error interrupt mask. On a read, the current mask for the FEIM interrupt is returned.
PEIM : Parity error interrupt mask. On a read, the current mask for the PEIM interrupt is returned.
BEIM : Break error interrupt mask. On a read, the current mask for the BEIM interrupt is returned.
OEIM : Overrun error interrupt mask. On a read, the current mask for the OEIM interrupt is returned.
XOFFIM : XOFF interrupt mask. On a read, the current mask for the XOFFIM interrupt is returned.
TXFEIM : TX FIFO empty interrupt mask. On a read, the current mask for the TXFEIM interrupt is returned.
Raw Interrupt Status Register
address_offset : 0x3C Bytes (0x0)
size : 16 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
CTSMIS : Clear to send interrupt status.
Enumeration:
1 : INTERRUPT_PENDING
interrupt pending
0 : INTERRUPT_NOT_PENDING
interrupt not pending
End of enumeration elements list.
RXIS : Receive interrupt status.
TXIM : Transmit interrupt status.
RTIS : Receive timeout interrupt status.
FEIS : Framing error interrupt status.
PEIS : Parity error interrupt status.
BEIS : Break error interrupt status.
OEIS : Overrun error interrupt status.
XOFFIS : XOFF interrupt status.
TXFEIS : TX FIFO empty interrupt status.
Receive Status Register
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
FE : Frame error. This bit is set to 1 if the received character did not have a valid stop bit (a valid stop bit is 1).This bit is cleared to 0b after a write to ECR. In FIFO mode, this error is associated with the character at the top of the FIFO.
bits : 0 - 0 (1 bit)
access : read-only
PE : Parity error. This bit is set to 1 if the parity of the received data character does not match the parity selected as defined by bits 2 and 7 of the LCRH_RX register.This bit is cleared to 0b after a write to ECR. In FIFO mode, this error is associated with the character at the top of the FIFO.
bits : 1 - 1 (1 bit)
access : read-only
BE : Break error. This bit is set to 1 if a break condition was detected, indicating that the received data input was held low for longer than a full-word transmission time (defined as start, data, parity and stop bits). This bit is cleared to 0b after a write to ECR. In FIFO mode, this error is associated with the character at the top of the FIFO. When a break occurs, only one 0 character is loaded into the FIFO. The next character is only enabled after the receive data input goes to HIGH (marking state), and the next valid start bit is received.
bits : 2 - 2 (1 bit)
access : read-only
OE : Overrun error. This bit is set to 1 if data is received and the receive FIFO is already full. This is cleared to 0 by a write to ECR (data value is not important). The FIFO contents remain valid since no further data is written when the FIFO is full, only the content of the shift register are overwritten. The CPU or DMA must now read the data in order to empty the FIFO.
bits : 3 - 3 (1 bit)
access : read-only
Error Clear Register. A write to this register clears the framing (FE), parity (PE), break (BE), and overrun (OE) errors.
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
alternate_register : RSR
reset_Mask : 0x0
Masked Interrupt Status Register
address_offset : 0x40 Bytes (0x0)
size : 16 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
CTSMMIS : Clear to send masked interrupt status.
Enumeration:
1 : INTERRUPT_PENDING
interrupt pending
0 : INTERRUPT_NOT_PENDING
interrupt not pending
End of enumeration elements list.
RXMIS : Receive masked interrupt status.
TXMIS : Transmit masked interrupt status.
RTMIS : Receive timeout masked interrupt status.
FEMIS : Framing error masked interrupt status.
PEMIS : Parity error masked interrupt status.
BEMIS : Break error masked interrupt status.
OEMIS : Overrun error masked interrupt status.
XOFFMIS : XOFF interrupt masked status.
TXFEMIS : TX FIFO empty masked interrupt status.
Interrupt Clear Register
address_offset : 0x44 Bytes (0x0)
size : 16 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
CTSMIC : Clear to send modem interrupt clear.
RXIC : Receive interrupt clear.
TXIC : Transmit interrupt clear.
RTIC : Receive timeout interrupt clear.
FEIC : Framing error interrupt clear.
PEIC : Parity error interrupt clear.
BEIC : Break error interrupt clear.
OEIC : Overrun error interrupt clear.
XOFFIC : XOFF interrupt clear.
TXFEIC : TX FIFO empty interrupt clear.
DMA control register
address_offset : 0x48 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
RXDMAE : Receive DMA enable bit.
Enumeration:
1 : DMA_MODE_RX_ENABLE
DMA mode for reception enable
0 : DMA_MODE_RX_DISABLE
DMA mode for reception disable
End of enumeration elements list.
TXDMAE : Transmit DMA enable bit.
Enumeration:
1 : DMA_MODE_TX_ENABLE
DMA mode for transmission enable
0 : DMA_MODE_TX_DISABLE
DMA mode for transmission disable
End of enumeration elements list.
DMAONERR : DMA on error.
Enumeration:
1 : DMA_ON_ERR_ENABLE
DMA receive requests are disabled when the UART error interrupt is asserted
0 : DMA_ON_ERR_DISABLE
UART error interrupt status has no impact in receive DMA mode
End of enumeration elements list.
XON/XOFF Control Register
address_offset : 0x50 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
SFEN : Software flow control enable.
Enumeration:
1 : SOFTWARE_FLOW_CTRL_ENABLE
software flow ctrl enable
0 : SOFTWARE_FLOW_CTRL_DISABLE
software flow ctrl disable
End of enumeration elements list.
SFRMOD : Software receive flow control mode:
Enumeration:
0 : SFR_MODE_DISABLE
Receive flow control is disable
1 : SFR_MODE_XON1_XOFF1
Xon1, Xoff1 characters are used in receive software flow control
2 : SFR_MODE_XON2_XOFF2
Xon2, Xoff2 characters are used in receive software flow control
3 : SFR_MODE_XON1_XON2_XOFF1_XOFF2
Xon1 and Xon2, Xoff1 and Xoff2 characters are used in receive software flow control
End of enumeration elements list.
SFTMOD : Software transmit flow control mode:
Enumeration:
0 : SFR_MODE_DISABLE
Transmit flow control is disable
1 : SFR_MODE_XON1_XOFF1
Xon1, Xoff1 characters are used in transmit software flow control
2 : SFR_MODE_XON2_XOFF2
Xon2, Xoff2 characters are used in transmit software flow control
3 : SFR_MODE_XON1_XON2_XOFF1_XOFF2
Xon1 and Xon2, Xoff1 and Xoff2 characters are used in transmit software flow control
End of enumeration elements list.
XONANY : Xon-any bit:
Enumeration:
1 : XONANY_ENABLE
any incoming character is considered as a valid Xon
0 : XONANY_DISABLE
incoming character must match Xon programmed value(s) to be a valid Xon
End of enumeration elements list.
SPECHAR : Special character detection bit.
Enumeration:
1 : SPECHAR_ENABLE
special character detection enabled
0 : SPECHAR_DISABLE
pecial character detection disabled
End of enumeration elements list.
Register used to store the Xon1 character used for software flow control
address_offset : 0x54 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
XON1 : Value of Xon1 character used in the software flow control
bits : 0 - 7 (8 bit)
Register used to store the Xon2 character used for software flow control
address_offset : 0x58 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
XON2 : Value of Xon2 character used in the software flow control
bits : 0 - 7 (8 bit)
Register used to store the Xoff1 character used for software flow control
address_offset : 0x5C Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
XOFF1 : Value of Xoff1 character used in the software flow control
bits : 0 - 7 (8 bit)
Register used to store the Xoff2 character used for software flow control
address_offset : 0x60 Bytes (0x0)
size : 8 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
XOFF2 : Value of Xoff2 character used in the software flow control
bits : 0 - 7 (8 bit)
Timeout Register
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIOD : Timeout period configuration. This bit field contains the timeout period for the UART timeout interrupt assertion. The receive timeout interrupt is asserted when the receive FIFO is not empty and no further data is received over a programmed timeout period. The duration before the timeout interrupt will assert is calculated by the following formula:
Timeout_Duration = (TIMEOUT_PERIOD) / (OVSP * Baud_Rate)
orTimeout_Duration = (TIMEOUT_PERIOD) * Baud_Divisor * Tuartclk
Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !
This website is sponsored by Embeetle, an IDE designed from scratch for embedded software developers.