Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : usr

Description

UART Status register.

Register Layout

Bits Access Reset Description
[0] R 0x0 ALT_UART_USR_RSVD_BUSY
[1] R 0x1 ALT_UART_USR_TFNF
[2] R 0x1 ALT_UART_USR_TFE
[3] R 0x0 ALT_UART_USR_RFNE
[4] R 0x0 ALT_UART_USR_RFF
[31:5] R 0x0 ALT_UART_USR_RSVD_USR_31TO5

Field : rsvd_busy

UART Busy.

This bit is only valid when UART_16550_COMPATIBLE == NO. This indicates that a serial

transfer is in progress, when cleared indicates that the DW_apb_uart is idle or inactive.

0 = DW_apb_uart is idle or inactive

1 - DW_apb_uart is busy (actively transferring data)

Note that it is possible for the UART Busy bit to be cleared even though a new

character may have been sent from another device. That is, if the DW_apb_uart

has no data in the THR and RBR and there is no transmission in progress and a start

bit of a new character has just reached the DW_apb_uart. This is due to the fact

that a valid start is not seen until the middle of the bit period and this duration

is dependent on the baud divisor that has been programmed. If a second system clock

has been implemented (CLOCK_MODE == Enabled) the assertion of this bit will also be

delayed by several cycles of the slower clock.

Field Access Macros:

#define ALT_UART_USR_RSVD_BUSY_LSB   0
 
#define ALT_UART_USR_RSVD_BUSY_MSB   0
 
#define ALT_UART_USR_RSVD_BUSY_WIDTH   1
 
#define ALT_UART_USR_RSVD_BUSY_SET_MSK   0x00000001
 
#define ALT_UART_USR_RSVD_BUSY_CLR_MSK   0xfffffffe
 
#define ALT_UART_USR_RSVD_BUSY_RESET   0x0
 
#define ALT_UART_USR_RSVD_BUSY_GET(value)   (((value) & 0x00000001) >> 0)
 
#define ALT_UART_USR_RSVD_BUSY_SET(value)   (((value) << 0) & 0x00000001)
 

Field : tfnf

Transmit FIFO Not Full.

This bit is only valid when FIFO_STAT == YES. This is used to indicate that the

transmit FIFO in not full.

0 = Transmit FIFO is full

1 = Transmit FIFO is not full

This bit is cleared when the TX FIFO is full.

Field Enumeration Values:

Enum Value Description
ALT_UART_USR_TFNF_E_FULL 0x0 Transmit FIFO is full
ALT_UART_USR_TFNF_E_NOTFULL 0x1 Transmit FIFO is not full

Field Access Macros:

#define ALT_UART_USR_TFNF_E_FULL   0x0
 
#define ALT_UART_USR_TFNF_E_NOTFULL   0x1
 
#define ALT_UART_USR_TFNF_LSB   1
 
#define ALT_UART_USR_TFNF_MSB   1
 
#define ALT_UART_USR_TFNF_WIDTH   1
 
#define ALT_UART_USR_TFNF_SET_MSK   0x00000002
 
#define ALT_UART_USR_TFNF_CLR_MSK   0xfffffffd
 
#define ALT_UART_USR_TFNF_RESET   0x1
 
#define ALT_UART_USR_TFNF_GET(value)   (((value) & 0x00000002) >> 1)
 
#define ALT_UART_USR_TFNF_SET(value)   (((value) << 1) & 0x00000002)
 

Field : tfe

Transmit FIFO Empty.

This bit is only valid when FIFO_STAT == YES. This is used to indicate that the

transmit FIFO is completely empty.

0 = Transmit FIFO is not empty

1 = Transmit FIFO is empty

This bit is cleared when the TX FIFO is no longer empty.

Field Enumeration Values:

Enum Value Description
ALT_UART_USR_TFE_E_NOTEMPTY 0x0 Transmit FIFO is not empty
ALT_UART_USR_TFE_E_EMPTY 0x1 Transmit FIFO is empty

Field Access Macros:

#define ALT_UART_USR_TFE_E_NOTEMPTY   0x0
 
#define ALT_UART_USR_TFE_E_EMPTY   0x1
 
#define ALT_UART_USR_TFE_LSB   2
 
#define ALT_UART_USR_TFE_MSB   2
 
#define ALT_UART_USR_TFE_WIDTH   1
 
#define ALT_UART_USR_TFE_SET_MSK   0x00000004
 
#define ALT_UART_USR_TFE_CLR_MSK   0xfffffffb
 
#define ALT_UART_USR_TFE_RESET   0x1
 
#define ALT_UART_USR_TFE_GET(value)   (((value) & 0x00000004) >> 2)
 
#define ALT_UART_USR_TFE_SET(value)   (((value) << 2) & 0x00000004)
 

Field : rfne

Receive FIFO Not Empty.

This bit is only valid when FIFO_STAT == YES. This is used to indicate that the

receive FIFO contains one or more entries.

0 = Receive FIFO is empty

1 = Receive FIFO is not empty

This bit is cleared when the RX FIFO is empty.

Field Enumeration Values:

Enum Value Description
ALT_UART_USR_RFNE_E_EMPTY 0x0 Receiive FIFO is empty
ALT_UART_USR_RFNE_E_NOTEMPTY 0x1 Receive FIFO is not empty

Field Access Macros:

#define ALT_UART_USR_RFNE_E_EMPTY   0x0
 
#define ALT_UART_USR_RFNE_E_NOTEMPTY   0x1
 
#define ALT_UART_USR_RFNE_LSB   3
 
#define ALT_UART_USR_RFNE_MSB   3
 
#define ALT_UART_USR_RFNE_WIDTH   1
 
#define ALT_UART_USR_RFNE_SET_MSK   0x00000008
 
#define ALT_UART_USR_RFNE_CLR_MSK   0xfffffff7
 
#define ALT_UART_USR_RFNE_RESET   0x0
 
#define ALT_UART_USR_RFNE_GET(value)   (((value) & 0x00000008) >> 3)
 
#define ALT_UART_USR_RFNE_SET(value)   (((value) << 3) & 0x00000008)
 

Field : rff

Receive FIFO Full.

This bit is only valid when FIFO_STAT == YES. This is used to indicate that the

receive FIFO is completely full. That is:

0 = Receive FIFO not full

1 = Receive FIFO Full

This bit is cleared when the RX FIFO is no longer full.

Field Enumeration Values:

Enum Value Description
ALT_UART_USR_RFF_E_NOTFULL 0x0 Receiive FIFO not full
ALT_UART_USR_RFF_E_FULL 0x1 Transmit FIFO is full

Field Access Macros:

#define ALT_UART_USR_RFF_E_NOTFULL   0x0
 
#define ALT_UART_USR_RFF_E_FULL   0x1
 
#define ALT_UART_USR_RFF_LSB   4
 
#define ALT_UART_USR_RFF_MSB   4
 
#define ALT_UART_USR_RFF_WIDTH   1
 
#define ALT_UART_USR_RFF_SET_MSK   0x00000010
 
#define ALT_UART_USR_RFF_CLR_MSK   0xffffffef
 
#define ALT_UART_USR_RFF_RESET   0x0
 
#define ALT_UART_USR_RFF_GET(value)   (((value) & 0x00000010) >> 4)
 
#define ALT_UART_USR_RFF_SET(value)   (((value) << 4) & 0x00000010)
 

Field : rsvd_usr_31to5

Reserved bits [31:5] - Read Only

Field Access Macros:

#define ALT_UART_USR_RSVD_USR_31TO5_LSB   5
 
#define ALT_UART_USR_RSVD_USR_31TO5_MSB   31
 
#define ALT_UART_USR_RSVD_USR_31TO5_WIDTH   27
 
#define ALT_UART_USR_RSVD_USR_31TO5_SET_MSK   0xffffffe0
 
#define ALT_UART_USR_RSVD_USR_31TO5_CLR_MSK   0x0000001f
 
#define ALT_UART_USR_RSVD_USR_31TO5_RESET   0x0
 
#define ALT_UART_USR_RSVD_USR_31TO5_GET(value)   (((value) & 0xffffffe0) >> 5)
 
#define ALT_UART_USR_RSVD_USR_31TO5_SET(value)   (((value) << 5) & 0xffffffe0)
 

Data Structures

struct  ALT_UART_USR_s
 

Macros

#define ALT_UART_USR_RESET   0x00000006
 
#define ALT_UART_USR_OFST   0x7c
 
#define ALT_UART_USR_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_USR_OFST))
 

Typedefs

typedef struct ALT_UART_USR_s ALT_UART_USR_t
 

Data Structure Documentation

struct ALT_UART_USR_s

WARNING: The C register and register group struct declarations are provided for convenience and illustrative purposes. They should, however, be used with caution as the C language standard provides no guarantees about the alignment or atomicity of device memory accesses. The recommended practice for writing hardware drivers is to use the SoCAL access macros and alt_read_word() and alt_write_word() functions.

The struct declaration for register ALT_UART_USR.

Data Fields
const uint32_t rsvd_busy: 1 ALT_UART_USR_RSVD_BUSY
const uint32_t tfnf: 1 ALT_UART_USR_TFNF
const uint32_t tfe: 1 ALT_UART_USR_TFE
const uint32_t rfne: 1 ALT_UART_USR_RFNE
const uint32_t rff: 1 ALT_UART_USR_RFF
const uint32_t rsvd_usr_31to5: 27 ALT_UART_USR_RSVD_USR_31TO5

Macro Definitions

#define ALT_UART_USR_RSVD_BUSY_LSB   0

The Least Significant Bit (LSB) position of the ALT_UART_USR_RSVD_BUSY register field.

#define ALT_UART_USR_RSVD_BUSY_MSB   0

The Most Significant Bit (MSB) position of the ALT_UART_USR_RSVD_BUSY register field.

#define ALT_UART_USR_RSVD_BUSY_WIDTH   1

The width in bits of the ALT_UART_USR_RSVD_BUSY register field.

#define ALT_UART_USR_RSVD_BUSY_SET_MSK   0x00000001

The mask used to set the ALT_UART_USR_RSVD_BUSY register field value.

#define ALT_UART_USR_RSVD_BUSY_CLR_MSK   0xfffffffe

The mask used to clear the ALT_UART_USR_RSVD_BUSY register field value.

#define ALT_UART_USR_RSVD_BUSY_RESET   0x0

The reset value of the ALT_UART_USR_RSVD_BUSY register field.

#define ALT_UART_USR_RSVD_BUSY_GET (   value)    (((value) & 0x00000001) >> 0)

Extracts the ALT_UART_USR_RSVD_BUSY field value from a register.

#define ALT_UART_USR_RSVD_BUSY_SET (   value)    (((value) << 0) & 0x00000001)

Produces a ALT_UART_USR_RSVD_BUSY register field value suitable for setting the register.

#define ALT_UART_USR_TFNF_E_FULL   0x0

Enumerated value for register field ALT_UART_USR_TFNF

Transmit FIFO is full

#define ALT_UART_USR_TFNF_E_NOTFULL   0x1

Enumerated value for register field ALT_UART_USR_TFNF

Transmit FIFO is not full

#define ALT_UART_USR_TFNF_LSB   1

The Least Significant Bit (LSB) position of the ALT_UART_USR_TFNF register field.

#define ALT_UART_USR_TFNF_MSB   1

The Most Significant Bit (MSB) position of the ALT_UART_USR_TFNF register field.

#define ALT_UART_USR_TFNF_WIDTH   1

The width in bits of the ALT_UART_USR_TFNF register field.

#define ALT_UART_USR_TFNF_SET_MSK   0x00000002

The mask used to set the ALT_UART_USR_TFNF register field value.

#define ALT_UART_USR_TFNF_CLR_MSK   0xfffffffd

The mask used to clear the ALT_UART_USR_TFNF register field value.

#define ALT_UART_USR_TFNF_RESET   0x1

The reset value of the ALT_UART_USR_TFNF register field.

#define ALT_UART_USR_TFNF_GET (   value)    (((value) & 0x00000002) >> 1)

Extracts the ALT_UART_USR_TFNF field value from a register.

#define ALT_UART_USR_TFNF_SET (   value)    (((value) << 1) & 0x00000002)

Produces a ALT_UART_USR_TFNF register field value suitable for setting the register.

#define ALT_UART_USR_TFE_E_NOTEMPTY   0x0

Enumerated value for register field ALT_UART_USR_TFE

Transmit FIFO is not empty

#define ALT_UART_USR_TFE_E_EMPTY   0x1

Enumerated value for register field ALT_UART_USR_TFE

Transmit FIFO is empty

#define ALT_UART_USR_TFE_LSB   2

The Least Significant Bit (LSB) position of the ALT_UART_USR_TFE register field.

#define ALT_UART_USR_TFE_MSB   2

The Most Significant Bit (MSB) position of the ALT_UART_USR_TFE register field.

#define ALT_UART_USR_TFE_WIDTH   1

The width in bits of the ALT_UART_USR_TFE register field.

#define ALT_UART_USR_TFE_SET_MSK   0x00000004

The mask used to set the ALT_UART_USR_TFE register field value.

#define ALT_UART_USR_TFE_CLR_MSK   0xfffffffb

The mask used to clear the ALT_UART_USR_TFE register field value.

#define ALT_UART_USR_TFE_RESET   0x1

The reset value of the ALT_UART_USR_TFE register field.

#define ALT_UART_USR_TFE_GET (   value)    (((value) & 0x00000004) >> 2)

Extracts the ALT_UART_USR_TFE field value from a register.

#define ALT_UART_USR_TFE_SET (   value)    (((value) << 2) & 0x00000004)

Produces a ALT_UART_USR_TFE register field value suitable for setting the register.

#define ALT_UART_USR_RFNE_E_EMPTY   0x0

Enumerated value for register field ALT_UART_USR_RFNE

Receiive FIFO is empty

#define ALT_UART_USR_RFNE_E_NOTEMPTY   0x1

Enumerated value for register field ALT_UART_USR_RFNE

Receive FIFO is not empty

#define ALT_UART_USR_RFNE_LSB   3

The Least Significant Bit (LSB) position of the ALT_UART_USR_RFNE register field.

#define ALT_UART_USR_RFNE_MSB   3

The Most Significant Bit (MSB) position of the ALT_UART_USR_RFNE register field.

#define ALT_UART_USR_RFNE_WIDTH   1

The width in bits of the ALT_UART_USR_RFNE register field.

#define ALT_UART_USR_RFNE_SET_MSK   0x00000008

The mask used to set the ALT_UART_USR_RFNE register field value.

#define ALT_UART_USR_RFNE_CLR_MSK   0xfffffff7

The mask used to clear the ALT_UART_USR_RFNE register field value.

#define ALT_UART_USR_RFNE_RESET   0x0

The reset value of the ALT_UART_USR_RFNE register field.

#define ALT_UART_USR_RFNE_GET (   value)    (((value) & 0x00000008) >> 3)

Extracts the ALT_UART_USR_RFNE field value from a register.

#define ALT_UART_USR_RFNE_SET (   value)    (((value) << 3) & 0x00000008)

Produces a ALT_UART_USR_RFNE register field value suitable for setting the register.

#define ALT_UART_USR_RFF_E_NOTFULL   0x0

Enumerated value for register field ALT_UART_USR_RFF

Receiive FIFO not full

#define ALT_UART_USR_RFF_E_FULL   0x1

Enumerated value for register field ALT_UART_USR_RFF

Transmit FIFO is full

#define ALT_UART_USR_RFF_LSB   4

The Least Significant Bit (LSB) position of the ALT_UART_USR_RFF register field.

#define ALT_UART_USR_RFF_MSB   4

The Most Significant Bit (MSB) position of the ALT_UART_USR_RFF register field.

#define ALT_UART_USR_RFF_WIDTH   1

The width in bits of the ALT_UART_USR_RFF register field.

#define ALT_UART_USR_RFF_SET_MSK   0x00000010

The mask used to set the ALT_UART_USR_RFF register field value.

#define ALT_UART_USR_RFF_CLR_MSK   0xffffffef

The mask used to clear the ALT_UART_USR_RFF register field value.

#define ALT_UART_USR_RFF_RESET   0x0

The reset value of the ALT_UART_USR_RFF register field.

#define ALT_UART_USR_RFF_GET (   value)    (((value) & 0x00000010) >> 4)

Extracts the ALT_UART_USR_RFF field value from a register.

#define ALT_UART_USR_RFF_SET (   value)    (((value) << 4) & 0x00000010)

Produces a ALT_UART_USR_RFF register field value suitable for setting the register.

#define ALT_UART_USR_RSVD_USR_31TO5_LSB   5

The Least Significant Bit (LSB) position of the ALT_UART_USR_RSVD_USR_31TO5 register field.

#define ALT_UART_USR_RSVD_USR_31TO5_MSB   31

The Most Significant Bit (MSB) position of the ALT_UART_USR_RSVD_USR_31TO5 register field.

#define ALT_UART_USR_RSVD_USR_31TO5_WIDTH   27

The width in bits of the ALT_UART_USR_RSVD_USR_31TO5 register field.

#define ALT_UART_USR_RSVD_USR_31TO5_SET_MSK   0xffffffe0

The mask used to set the ALT_UART_USR_RSVD_USR_31TO5 register field value.

#define ALT_UART_USR_RSVD_USR_31TO5_CLR_MSK   0x0000001f

The mask used to clear the ALT_UART_USR_RSVD_USR_31TO5 register field value.

#define ALT_UART_USR_RSVD_USR_31TO5_RESET   0x0

The reset value of the ALT_UART_USR_RSVD_USR_31TO5 register field.

#define ALT_UART_USR_RSVD_USR_31TO5_GET (   value)    (((value) & 0xffffffe0) >> 5)

Extracts the ALT_UART_USR_RSVD_USR_31TO5 field value from a register.

#define ALT_UART_USR_RSVD_USR_31TO5_SET (   value)    (((value) << 5) & 0xffffffe0)

Produces a ALT_UART_USR_RSVD_USR_31TO5 register field value suitable for setting the register.

#define ALT_UART_USR_RESET   0x00000006

The reset value of the ALT_UART_USR register.

#define ALT_UART_USR_OFST   0x7c

The byte offset of the ALT_UART_USR register from the beginning of the component.

#define ALT_UART_USR_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_USR_OFST))

The address of the ALT_UART_USR register.

Typedef Documentation

The typedef declaration for register ALT_UART_USR.