Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Interrupt Identity Register (when read) - iir

Description

Returns interrupt identification and FIFO enable/disable when read.

Register Layout

Bits Access Reset Description
[3:0] R 0x1 Interrupt ID
[5:4] ??? 0x0 UNDEFINED
[7:6] R 0x0 FIFO Enabled
[31:8] ??? 0x0 UNDEFINED

Field : Interrupt ID - id

This indicates the highest priority pending interrupt.

Field Enumeration Values:

Enum Value Description
ALT_UART_IIR_ID_E_MODMSTAT 0x0 Modem status
ALT_UART_IIR_ID_E_NOINTRPENDING 0x1 No Interrupt pending
ALT_UART_IIR_ID_E_THREMPTY 0x2 THR empty
ALT_UART_IIR_ID_E_RXDATAVAILABLE 0x4 Receive data available
ALT_UART_IIR_ID_E_RXLINESTAT 0x6 Receive line status
ALT_UART_IIR_ID_E_CHARTMO 0xc Character timeout

Field Access Macros:

#define ALT_UART_IIR_ID_E_MODMSTAT   0x0
 
#define ALT_UART_IIR_ID_E_NOINTRPENDING   0x1
 
#define ALT_UART_IIR_ID_E_THREMPTY   0x2
 
#define ALT_UART_IIR_ID_E_RXDATAVAILABLE   0x4
 
#define ALT_UART_IIR_ID_E_RXLINESTAT   0x6
 
#define ALT_UART_IIR_ID_E_CHARTMO   0xc
 
#define ALT_UART_IIR_ID_LSB   0
 
#define ALT_UART_IIR_ID_MSB   3
 
#define ALT_UART_IIR_ID_WIDTH   4
 
#define ALT_UART_IIR_ID_SET_MSK   0x0000000f
 
#define ALT_UART_IIR_ID_CLR_MSK   0xfffffff0
 
#define ALT_UART_IIR_ID_RESET   0x1
 
#define ALT_UART_IIR_ID_GET(value)   (((value) & 0x0000000f) >> 0)
 
#define ALT_UART_IIR_ID_SET(value)   (((value) << 0) & 0x0000000f)
 

Field : FIFO Enabled - fifoen

This is used to indicate whether the FIFO's are enabled or disabled.

Field Enumeration Values:

Enum Value Description
ALT_UART_IIR_FIFOEN_E_DISD 0x0 FIFO disabled
ALT_UART_IIR_FIFOEN_E_END 0x3 FIFO enabled

Field Access Macros:

#define ALT_UART_IIR_FIFOEN_E_DISD   0x0
 
#define ALT_UART_IIR_FIFOEN_E_END   0x3
 
#define ALT_UART_IIR_FIFOEN_LSB   6
 
#define ALT_UART_IIR_FIFOEN_MSB   7
 
#define ALT_UART_IIR_FIFOEN_WIDTH   2
 
#define ALT_UART_IIR_FIFOEN_SET_MSK   0x000000c0
 
#define ALT_UART_IIR_FIFOEN_CLR_MSK   0xffffff3f
 
#define ALT_UART_IIR_FIFOEN_RESET   0x0
 
#define ALT_UART_IIR_FIFOEN_GET(value)   (((value) & 0x000000c0) >> 6)
 
#define ALT_UART_IIR_FIFOEN_SET(value)   (((value) << 6) & 0x000000c0)
 

Data Structures

struct  ALT_UART_IIR_s
 

Macros

#define ALT_UART_IIR_OFST   0x8
 
#define ALT_UART_IIR_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_IIR_OFST))
 

Typedefs

typedef struct ALT_UART_IIR_s ALT_UART_IIR_t
 

Data Structure Documentation

struct ALT_UART_IIR_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_IIR.

Data Fields
const uint32_t id: 4 Interrupt ID
uint32_t __pad0__: 2 UNDEFINED
const uint32_t fifoen: 2 FIFO Enabled
uint32_t __pad1__: 24 UNDEFINED

Macro Definitions

#define ALT_UART_IIR_ID_E_MODMSTAT   0x0

Enumerated value for register field ALT_UART_IIR_ID

Modem status

#define ALT_UART_IIR_ID_E_NOINTRPENDING   0x1

Enumerated value for register field ALT_UART_IIR_ID

No Interrupt pending

#define ALT_UART_IIR_ID_E_THREMPTY   0x2

Enumerated value for register field ALT_UART_IIR_ID

THR empty

#define ALT_UART_IIR_ID_E_RXDATAVAILABLE   0x4

Enumerated value for register field ALT_UART_IIR_ID

Receive data available

#define ALT_UART_IIR_ID_E_RXLINESTAT   0x6

Enumerated value for register field ALT_UART_IIR_ID

Receive line status

#define ALT_UART_IIR_ID_E_CHARTMO   0xc

Enumerated value for register field ALT_UART_IIR_ID

Character timeout

#define ALT_UART_IIR_ID_LSB   0

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

#define ALT_UART_IIR_ID_MSB   3

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

#define ALT_UART_IIR_ID_WIDTH   4

The width in bits of the ALT_UART_IIR_ID register field.

#define ALT_UART_IIR_ID_SET_MSK   0x0000000f

The mask used to set the ALT_UART_IIR_ID register field value.

#define ALT_UART_IIR_ID_CLR_MSK   0xfffffff0

The mask used to clear the ALT_UART_IIR_ID register field value.

#define ALT_UART_IIR_ID_RESET   0x1

The reset value of the ALT_UART_IIR_ID register field.

#define ALT_UART_IIR_ID_GET (   value)    (((value) & 0x0000000f) >> 0)

Extracts the ALT_UART_IIR_ID field value from a register.

#define ALT_UART_IIR_ID_SET (   value)    (((value) << 0) & 0x0000000f)

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

#define ALT_UART_IIR_FIFOEN_E_DISD   0x0

Enumerated value for register field ALT_UART_IIR_FIFOEN

FIFO disabled

#define ALT_UART_IIR_FIFOEN_E_END   0x3

Enumerated value for register field ALT_UART_IIR_FIFOEN

FIFO enabled

#define ALT_UART_IIR_FIFOEN_LSB   6

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

#define ALT_UART_IIR_FIFOEN_MSB   7

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

#define ALT_UART_IIR_FIFOEN_WIDTH   2

The width in bits of the ALT_UART_IIR_FIFOEN register field.

#define ALT_UART_IIR_FIFOEN_SET_MSK   0x000000c0

The mask used to set the ALT_UART_IIR_FIFOEN register field value.

#define ALT_UART_IIR_FIFOEN_CLR_MSK   0xffffff3f

The mask used to clear the ALT_UART_IIR_FIFOEN register field value.

#define ALT_UART_IIR_FIFOEN_RESET   0x0

The reset value of the ALT_UART_IIR_FIFOEN register field.

#define ALT_UART_IIR_FIFOEN_GET (   value)    (((value) & 0x000000c0) >> 6)

Extracts the ALT_UART_IIR_FIFOEN field value from a register.

#define ALT_UART_IIR_FIFOEN_SET (   value)    (((value) << 6) & 0x000000c0)

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

#define ALT_UART_IIR_OFST   0x8

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

#define ALT_UART_IIR_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_UART_IIR_OFST))

The address of the ALT_UART_IIR register.

Typedef Documentation

The typedef declaration for register ALT_UART_IIR.