![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
Interrupt Identification Register
Register Layout
Bits | Access | Reset | Description |
---|---|---|---|
[3:0] | R | 0x1 | ALT_UART_IIR_ID |
[5:4] | R | 0x0 | ALT_UART_IIR_RSVD_IIR_5TO4 |
[7:6] | R | 0x0 | ALT_UART_IIR_FIFOEN |
[31:8] | R | 0x0 | ALT_UART_IIR_RSVD_IIR_31TO8 |
Field : id | |||||||||||||||||||||||||
Bits[3:0], Interrupt ID (or IID): This indicates the highest priority pending interrupt which can be one of the following types: 0000 = modem status. 0001 = no interrupt pending. 0010 = THR empty. 0100 = received data available. 0110 = receiver line status. 0111 = busy detect. 1100 = character timeout. Note, an interrupt of type 0111 (busy detect) will never get indicated if UART_16550_COMPATIBLE == YES in coreConsultant. Field Enumeration Values:
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_BUSYDETECT 0x7 | ||||||||||||||||||||||||
#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 : rsvd_iir_5to4 | |
Reserved bits [5:4] - Read Only Field Access Macros: | |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_LSB 4 |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_MSB 5 |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_WIDTH 2 |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_SET_MSK 0x00000030 |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_CLR_MSK 0xffffffcf |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_RESET 0x0 |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_GET(value) (((value) & 0x00000030) >> 4) |
#define | ALT_UART_IIR_RSVD_IIR_5TO4_SET(value) (((value) << 4) & 0x00000030) |
Field : fifoen | ||||||||||
Bits[7:6], FIFO's Enabled (or FIFOSE): This is used to indicate whether the FIFO's are enabled or disabled. 00 = disabled. 11 = enabled Field Enumeration Values:
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) | |||||||||
Field : rsvd_iir_31to8 | |
Reserved bits [31:8] - Read Only Field Access Macros: | |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_LSB 8 |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_MSB 31 |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_WIDTH 24 |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_SET_MSK 0xffffff00 |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_CLR_MSK 0x000000ff |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_RESET 0x0 |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_GET(value) (((value) & 0xffffff00) >> 8) |
#define | ALT_UART_IIR_RSVD_IIR_31TO8_SET(value) (((value) << 8) & 0xffffff00) |
Data Structures | |
struct | ALT_UART_IIR_s |
Macros | |
#define | ALT_UART_IIR_RESET 0x00000001 |
#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 |
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 | ALT_UART_IIR_ID |
const uint32_t | rsvd_iir_5to4: 2 | ALT_UART_IIR_RSVD_IIR_5TO4 |
const uint32_t | fifoen: 2 | ALT_UART_IIR_FIFOEN |
const uint32_t | rsvd_iir_31to8: 24 | ALT_UART_IIR_RSVD_IIR_31TO8 |
#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_BUSYDETECT 0x7 |
Enumerated value for register field ALT_UART_IIR_ID
Busy detect
#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_RSVD_IIR_5TO4_LSB 4 |
The Least Significant Bit (LSB) position of the ALT_UART_IIR_RSVD_IIR_5TO4 register field.
#define ALT_UART_IIR_RSVD_IIR_5TO4_MSB 5 |
The Most Significant Bit (MSB) position of the ALT_UART_IIR_RSVD_IIR_5TO4 register field.
#define ALT_UART_IIR_RSVD_IIR_5TO4_WIDTH 2 |
The width in bits of the ALT_UART_IIR_RSVD_IIR_5TO4 register field.
#define ALT_UART_IIR_RSVD_IIR_5TO4_SET_MSK 0x00000030 |
The mask used to set the ALT_UART_IIR_RSVD_IIR_5TO4 register field value.
#define ALT_UART_IIR_RSVD_IIR_5TO4_CLR_MSK 0xffffffcf |
The mask used to clear the ALT_UART_IIR_RSVD_IIR_5TO4 register field value.
#define ALT_UART_IIR_RSVD_IIR_5TO4_RESET 0x0 |
The reset value of the ALT_UART_IIR_RSVD_IIR_5TO4 register field.
#define ALT_UART_IIR_RSVD_IIR_5TO4_GET | ( | value | ) | (((value) & 0x00000030) >> 4) |
Extracts the ALT_UART_IIR_RSVD_IIR_5TO4 field value from a register.
#define ALT_UART_IIR_RSVD_IIR_5TO4_SET | ( | value | ) | (((value) << 4) & 0x00000030) |
Produces a ALT_UART_IIR_RSVD_IIR_5TO4 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_RSVD_IIR_31TO8_LSB 8 |
The Least Significant Bit (LSB) position of the ALT_UART_IIR_RSVD_IIR_31TO8 register field.
#define ALT_UART_IIR_RSVD_IIR_31TO8_MSB 31 |
The Most Significant Bit (MSB) position of the ALT_UART_IIR_RSVD_IIR_31TO8 register field.
#define ALT_UART_IIR_RSVD_IIR_31TO8_WIDTH 24 |
The width in bits of the ALT_UART_IIR_RSVD_IIR_31TO8 register field.
#define ALT_UART_IIR_RSVD_IIR_31TO8_SET_MSK 0xffffff00 |
The mask used to set the ALT_UART_IIR_RSVD_IIR_31TO8 register field value.
#define ALT_UART_IIR_RSVD_IIR_31TO8_CLR_MSK 0x000000ff |
The mask used to clear the ALT_UART_IIR_RSVD_IIR_31TO8 register field value.
#define ALT_UART_IIR_RSVD_IIR_31TO8_RESET 0x0 |
The reset value of the ALT_UART_IIR_RSVD_IIR_31TO8 register field.
#define ALT_UART_IIR_RSVD_IIR_31TO8_GET | ( | value | ) | (((value) & 0xffffff00) >> 8) |
Extracts the ALT_UART_IIR_RSVD_IIR_31TO8 field value from a register.
#define ALT_UART_IIR_RSVD_IIR_31TO8_SET | ( | value | ) | (((value) << 8) & 0xffffff00) |
Produces a ALT_UART_IIR_RSVD_IIR_31TO8 register field value suitable for setting the register.
#define ALT_UART_IIR_RESET 0x00000001 |
The reset value of the ALT_UART_IIR 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 struct ALT_UART_IIR_s ALT_UART_IIR_t |
The typedef declaration for register ALT_UART_IIR.