![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
This is a read-only register used to indicate the current transfer status and FIFO status. The status register may be read at any time. None of the bits in this register request an interrupt.When the I2C is disabled by writing 0 in bit 0 of the ic_enable register:
When the master or slave state machines goes to idle
Register Layout
Bits | Access | Reset | Description |
---|---|---|---|
[0] | R | 0x0 | Activity Status Bit |
[1] | R | 0x1 | TX FIFO Not Full Bit |
[2] | R | 0x1 | TX FIFO Empty Bit |
[3] | R | 0x0 | RX FIFO Empty Bit |
[4] | R | 0x0 | RX FIFO Full Bit |
[5] | R | 0x0 | Master FSM Activity Status Bit |
[6] | R | 0x0 | Slave FSM Activity Status Bit |
[31:7] | ??? | 0x0 | UNDEFINED |
Field : Activity Status Bit - activity | |
I2C Activity. Field Access Macros: | |
#define | ALT_I2C_STAT_ACTIVITY_LSB 0 |
#define | ALT_I2C_STAT_ACTIVITY_MSB 0 |
#define | ALT_I2C_STAT_ACTIVITY_WIDTH 1 |
#define | ALT_I2C_STAT_ACTIVITY_SET_MSK 0x00000001 |
#define | ALT_I2C_STAT_ACTIVITY_CLR_MSK 0xfffffffe |
#define | ALT_I2C_STAT_ACTIVITY_RESET 0x0 |
#define | ALT_I2C_STAT_ACTIVITY_GET(value) (((value) & 0x00000001) >> 0) |
#define | ALT_I2C_STAT_ACTIVITY_SET(value) (((value) << 0) & 0x00000001) |
Field : TX FIFO Not Full Bit - tfnf | ||||||||||
Transmit Fifo Full Field Enumeration Values:
Field Access Macros: | ||||||||||
#define | ALT_I2C_STAT_TFNF_E_FULL 0x0 | |||||||||
#define | ALT_I2C_STAT_TFNF_E_NOTFULL 0x1 | |||||||||
#define | ALT_I2C_STAT_TFNF_LSB 1 | |||||||||
#define | ALT_I2C_STAT_TFNF_MSB 1 | |||||||||
#define | ALT_I2C_STAT_TFNF_WIDTH 1 | |||||||||
#define | ALT_I2C_STAT_TFNF_SET_MSK 0x00000002 | |||||||||
#define | ALT_I2C_STAT_TFNF_CLR_MSK 0xfffffffd | |||||||||
#define | ALT_I2C_STAT_TFNF_RESET 0x1 | |||||||||
#define | ALT_I2C_STAT_TFNF_GET(value) (((value) & 0x00000002) >> 1) | |||||||||
#define | ALT_I2C_STAT_TFNF_SET(value) (((value) << 1) & 0x00000002) | |||||||||
Field : TX FIFO Empty Bit - tfe | ||||||||||
Transmit FIFO Empty. Field Enumeration Values:
Field Access Macros: | ||||||||||
#define | ALT_I2C_STAT_TFE_E_NOTEMPTY 0x0 | |||||||||
#define | ALT_I2C_STAT_TFE_E_EMPTY 0x1 | |||||||||
#define | ALT_I2C_STAT_TFE_LSB 2 | |||||||||
#define | ALT_I2C_STAT_TFE_MSB 2 | |||||||||
#define | ALT_I2C_STAT_TFE_WIDTH 1 | |||||||||
#define | ALT_I2C_STAT_TFE_SET_MSK 0x00000004 | |||||||||
#define | ALT_I2C_STAT_TFE_CLR_MSK 0xfffffffb | |||||||||
#define | ALT_I2C_STAT_TFE_RESET 0x1 | |||||||||
#define | ALT_I2C_STAT_TFE_GET(value) (((value) & 0x00000004) >> 2) | |||||||||
#define | ALT_I2C_STAT_TFE_SET(value) (((value) << 2) & 0x00000004) | |||||||||
Field : RX FIFO Empty Bit - rfne | ||||||||||
Receive FIFO Not Empty. Field Enumeration Values:
Field Access Macros: | ||||||||||
#define | ALT_I2C_STAT_RFNE_E_EMPTY 0x0 | |||||||||
#define | ALT_I2C_STAT_RFNE_E_NOTEMPTY 0x1 | |||||||||
#define | ALT_I2C_STAT_RFNE_LSB 3 | |||||||||
#define | ALT_I2C_STAT_RFNE_MSB 3 | |||||||||
#define | ALT_I2C_STAT_RFNE_WIDTH 1 | |||||||||
#define | ALT_I2C_STAT_RFNE_SET_MSK 0x00000008 | |||||||||
#define | ALT_I2C_STAT_RFNE_CLR_MSK 0xfffffff7 | |||||||||
#define | ALT_I2C_STAT_RFNE_RESET 0x0 | |||||||||
#define | ALT_I2C_STAT_RFNE_GET(value) (((value) & 0x00000008) >> 3) | |||||||||
#define | ALT_I2C_STAT_RFNE_SET(value) (((value) << 3) & 0x00000008) | |||||||||
Field : RX FIFO Full Bit - rff | ||||||||||
Receive FIFO Completely Full. Field Enumeration Values:
Field Access Macros: | ||||||||||
#define | ALT_I2C_STAT_RFF_E_NOTFULL 0x0 | |||||||||
#define | ALT_I2C_STAT_RFF_E_FULL 0x1 | |||||||||
#define | ALT_I2C_STAT_RFF_LSB 4 | |||||||||
#define | ALT_I2C_STAT_RFF_MSB 4 | |||||||||
#define | ALT_I2C_STAT_RFF_WIDTH 1 | |||||||||
#define | ALT_I2C_STAT_RFF_SET_MSK 0x00000010 | |||||||||
#define | ALT_I2C_STAT_RFF_CLR_MSK 0xffffffef | |||||||||
#define | ALT_I2C_STAT_RFF_RESET 0x0 | |||||||||
#define | ALT_I2C_STAT_RFF_GET(value) (((value) & 0x00000010) >> 4) | |||||||||
#define | ALT_I2C_STAT_RFF_SET(value) (((value) << 4) & 0x00000010) | |||||||||
Field : Master FSM Activity Status Bit - mst_activity | ||||||||||||||||
When the Master Finite State Machine (FSM) is not in the IDLE state, this bit is set. Note:IC_STATUS[0]-that is, ACTIVITY bit-is the OR of SLV_ACTIVITY and MST_ACTIVITY bits. Field Enumeration Values:
Field Access Macros: | ||||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_E_IDLE 0x0 | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_E_NOTIDLE 0x1 | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_LSB 5 | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_MSB 5 | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_WIDTH 1 | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_SET_MSK 0x00000020 | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_CLR_MSK 0xffffffdf | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_RESET 0x0 | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_GET(value) (((value) & 0x00000020) >> 5) | |||||||||||||||
#define | ALT_I2C_STAT_MST_ACTIVITY_SET(value) (((value) << 5) & 0x00000020) | |||||||||||||||
Field : Slave FSM Activity Status Bit - slv_activity | ||||||||||||||||
Slave FSM Activity Status. When the Slave Finite State Machine (FSM) is not in the IDLE state, this bit is set. Field Enumeration Values:
Field Access Macros: | ||||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_E_IDLE 0x0 | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_E_NOTIDLE 0x1 | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_LSB 6 | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_MSB 6 | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_WIDTH 1 | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_SET_MSK 0x00000040 | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_CLR_MSK 0xffffffbf | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_RESET 0x0 | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_GET(value) (((value) & 0x00000040) >> 6) | |||||||||||||||
#define | ALT_I2C_STAT_SLV_ACTIVITY_SET(value) (((value) << 6) & 0x00000040) | |||||||||||||||
Data Structures | |
struct | ALT_I2C_STAT_s |
Macros | |
#define | ALT_I2C_STAT_OFST 0x70 |
#define | ALT_I2C_STAT_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_STAT_OFST)) |
Typedefs | |
typedef struct ALT_I2C_STAT_s | ALT_I2C_STAT_t |
struct ALT_I2C_STAT_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_I2C_STAT.
Data Fields | ||
---|---|---|
const uint32_t | activity: 1 | Activity Status Bit |
const uint32_t | tfnf: 1 | TX FIFO Not Full Bit |
const uint32_t | tfe: 1 | TX FIFO Empty Bit |
const uint32_t | rfne: 1 | RX FIFO Empty Bit |
const uint32_t | rff: 1 | RX FIFO Full Bit |
const uint32_t | mst_activity: 1 | Master FSM Activity Status Bit |
const uint32_t | slv_activity: 1 | Slave FSM Activity Status Bit |
uint32_t | __pad0__: 25 | UNDEFINED |
#define ALT_I2C_STAT_ACTIVITY_LSB 0 |
The Least Significant Bit (LSB) position of the ALT_I2C_STAT_ACTIVITY register field.
#define ALT_I2C_STAT_ACTIVITY_MSB 0 |
The Most Significant Bit (MSB) position of the ALT_I2C_STAT_ACTIVITY register field.
#define ALT_I2C_STAT_ACTIVITY_WIDTH 1 |
The width in bits of the ALT_I2C_STAT_ACTIVITY register field.
#define ALT_I2C_STAT_ACTIVITY_SET_MSK 0x00000001 |
The mask used to set the ALT_I2C_STAT_ACTIVITY register field value.
#define ALT_I2C_STAT_ACTIVITY_CLR_MSK 0xfffffffe |
The mask used to clear the ALT_I2C_STAT_ACTIVITY register field value.
#define ALT_I2C_STAT_ACTIVITY_RESET 0x0 |
The reset value of the ALT_I2C_STAT_ACTIVITY register field.
#define ALT_I2C_STAT_ACTIVITY_GET | ( | value | ) | (((value) & 0x00000001) >> 0) |
Extracts the ALT_I2C_STAT_ACTIVITY field value from a register.
#define ALT_I2C_STAT_ACTIVITY_SET | ( | value | ) | (((value) << 0) & 0x00000001) |
Produces a ALT_I2C_STAT_ACTIVITY register field value suitable for setting the register.
#define ALT_I2C_STAT_TFNF_E_FULL 0x0 |
Enumerated value for register field ALT_I2C_STAT_TFNF
Transmit FIFO is full
#define ALT_I2C_STAT_TFNF_E_NOTFULL 0x1 |
Enumerated value for register field ALT_I2C_STAT_TFNF
Transmit FIFO is not full
#define ALT_I2C_STAT_TFNF_LSB 1 |
The Least Significant Bit (LSB) position of the ALT_I2C_STAT_TFNF register field.
#define ALT_I2C_STAT_TFNF_MSB 1 |
The Most Significant Bit (MSB) position of the ALT_I2C_STAT_TFNF register field.
#define ALT_I2C_STAT_TFNF_WIDTH 1 |
The width in bits of the ALT_I2C_STAT_TFNF register field.
#define ALT_I2C_STAT_TFNF_SET_MSK 0x00000002 |
The mask used to set the ALT_I2C_STAT_TFNF register field value.
#define ALT_I2C_STAT_TFNF_CLR_MSK 0xfffffffd |
The mask used to clear the ALT_I2C_STAT_TFNF register field value.
#define ALT_I2C_STAT_TFNF_RESET 0x1 |
The reset value of the ALT_I2C_STAT_TFNF register field.
#define ALT_I2C_STAT_TFNF_GET | ( | value | ) | (((value) & 0x00000002) >> 1) |
Extracts the ALT_I2C_STAT_TFNF field value from a register.
#define ALT_I2C_STAT_TFNF_SET | ( | value | ) | (((value) << 1) & 0x00000002) |
Produces a ALT_I2C_STAT_TFNF register field value suitable for setting the register.
#define ALT_I2C_STAT_TFE_E_NOTEMPTY 0x0 |
Enumerated value for register field ALT_I2C_STAT_TFE
Transmit FIFO is not empty
#define ALT_I2C_STAT_TFE_E_EMPTY 0x1 |
Enumerated value for register field ALT_I2C_STAT_TFE
Transmit FIFO is empty
#define ALT_I2C_STAT_TFE_LSB 2 |
The Least Significant Bit (LSB) position of the ALT_I2C_STAT_TFE register field.
#define ALT_I2C_STAT_TFE_MSB 2 |
The Most Significant Bit (MSB) position of the ALT_I2C_STAT_TFE register field.
#define ALT_I2C_STAT_TFE_WIDTH 1 |
The width in bits of the ALT_I2C_STAT_TFE register field.
#define ALT_I2C_STAT_TFE_SET_MSK 0x00000004 |
The mask used to set the ALT_I2C_STAT_TFE register field value.
#define ALT_I2C_STAT_TFE_CLR_MSK 0xfffffffb |
The mask used to clear the ALT_I2C_STAT_TFE register field value.
#define ALT_I2C_STAT_TFE_RESET 0x1 |
The reset value of the ALT_I2C_STAT_TFE register field.
#define ALT_I2C_STAT_TFE_GET | ( | value | ) | (((value) & 0x00000004) >> 2) |
Extracts the ALT_I2C_STAT_TFE field value from a register.
#define ALT_I2C_STAT_TFE_SET | ( | value | ) | (((value) << 2) & 0x00000004) |
Produces a ALT_I2C_STAT_TFE register field value suitable for setting the register.
#define ALT_I2C_STAT_RFNE_E_EMPTY 0x0 |
Enumerated value for register field ALT_I2C_STAT_RFNE
Receive FIFO is empty
#define ALT_I2C_STAT_RFNE_E_NOTEMPTY 0x1 |
Enumerated value for register field ALT_I2C_STAT_RFNE
Receive FIFO is not empty
#define ALT_I2C_STAT_RFNE_LSB 3 |
The Least Significant Bit (LSB) position of the ALT_I2C_STAT_RFNE register field.
#define ALT_I2C_STAT_RFNE_MSB 3 |
The Most Significant Bit (MSB) position of the ALT_I2C_STAT_RFNE register field.
#define ALT_I2C_STAT_RFNE_WIDTH 1 |
The width in bits of the ALT_I2C_STAT_RFNE register field.
#define ALT_I2C_STAT_RFNE_SET_MSK 0x00000008 |
The mask used to set the ALT_I2C_STAT_RFNE register field value.
#define ALT_I2C_STAT_RFNE_CLR_MSK 0xfffffff7 |
The mask used to clear the ALT_I2C_STAT_RFNE register field value.
#define ALT_I2C_STAT_RFNE_RESET 0x0 |
The reset value of the ALT_I2C_STAT_RFNE register field.
#define ALT_I2C_STAT_RFNE_GET | ( | value | ) | (((value) & 0x00000008) >> 3) |
Extracts the ALT_I2C_STAT_RFNE field value from a register.
#define ALT_I2C_STAT_RFNE_SET | ( | value | ) | (((value) << 3) & 0x00000008) |
Produces a ALT_I2C_STAT_RFNE register field value suitable for setting the register.
#define ALT_I2C_STAT_RFF_E_NOTFULL 0x0 |
Enumerated value for register field ALT_I2C_STAT_RFF
Receive FIFO is not full
#define ALT_I2C_STAT_RFF_E_FULL 0x1 |
Enumerated value for register field ALT_I2C_STAT_RFF
Receive FIFO is full
#define ALT_I2C_STAT_RFF_LSB 4 |
The Least Significant Bit (LSB) position of the ALT_I2C_STAT_RFF register field.
#define ALT_I2C_STAT_RFF_MSB 4 |
The Most Significant Bit (MSB) position of the ALT_I2C_STAT_RFF register field.
#define ALT_I2C_STAT_RFF_WIDTH 1 |
The width in bits of the ALT_I2C_STAT_RFF register field.
#define ALT_I2C_STAT_RFF_SET_MSK 0x00000010 |
The mask used to set the ALT_I2C_STAT_RFF register field value.
#define ALT_I2C_STAT_RFF_CLR_MSK 0xffffffef |
The mask used to clear the ALT_I2C_STAT_RFF register field value.
#define ALT_I2C_STAT_RFF_RESET 0x0 |
The reset value of the ALT_I2C_STAT_RFF register field.
#define ALT_I2C_STAT_RFF_GET | ( | value | ) | (((value) & 0x00000010) >> 4) |
Extracts the ALT_I2C_STAT_RFF field value from a register.
#define ALT_I2C_STAT_RFF_SET | ( | value | ) | (((value) << 4) & 0x00000010) |
Produces a ALT_I2C_STAT_RFF register field value suitable for setting the register.
#define ALT_I2C_STAT_MST_ACTIVITY_E_IDLE 0x0 |
Enumerated value for register field ALT_I2C_STAT_MST_ACTIVITY
Master FSM is in IDLE state. Master part of i2c is not Active
#define ALT_I2C_STAT_MST_ACTIVITY_E_NOTIDLE 0x1 |
Enumerated value for register field ALT_I2C_STAT_MST_ACTIVITY
Master FSM is not in IDLE state. Master part of i2c is Active
#define ALT_I2C_STAT_MST_ACTIVITY_LSB 5 |
The Least Significant Bit (LSB) position of the ALT_I2C_STAT_MST_ACTIVITY register field.
#define ALT_I2C_STAT_MST_ACTIVITY_MSB 5 |
The Most Significant Bit (MSB) position of the ALT_I2C_STAT_MST_ACTIVITY register field.
#define ALT_I2C_STAT_MST_ACTIVITY_WIDTH 1 |
The width in bits of the ALT_I2C_STAT_MST_ACTIVITY register field.
#define ALT_I2C_STAT_MST_ACTIVITY_SET_MSK 0x00000020 |
The mask used to set the ALT_I2C_STAT_MST_ACTIVITY register field value.
#define ALT_I2C_STAT_MST_ACTIVITY_CLR_MSK 0xffffffdf |
The mask used to clear the ALT_I2C_STAT_MST_ACTIVITY register field value.
#define ALT_I2C_STAT_MST_ACTIVITY_RESET 0x0 |
The reset value of the ALT_I2C_STAT_MST_ACTIVITY register field.
#define ALT_I2C_STAT_MST_ACTIVITY_GET | ( | value | ) | (((value) & 0x00000020) >> 5) |
Extracts the ALT_I2C_STAT_MST_ACTIVITY field value from a register.
#define ALT_I2C_STAT_MST_ACTIVITY_SET | ( | value | ) | (((value) << 5) & 0x00000020) |
Produces a ALT_I2C_STAT_MST_ACTIVITY register field value suitable for setting the register.
#define ALT_I2C_STAT_SLV_ACTIVITY_E_IDLE 0x0 |
Enumerated value for register field ALT_I2C_STAT_SLV_ACTIVITY
Slave FSM is in IDLE state so the Slave part of i2c is not Active
#define ALT_I2C_STAT_SLV_ACTIVITY_E_NOTIDLE 0x1 |
Enumerated value for register field ALT_I2C_STAT_SLV_ACTIVITY
Slave FSM is not in IDLE state so the Slave part of i2c is Active
#define ALT_I2C_STAT_SLV_ACTIVITY_LSB 6 |
The Least Significant Bit (LSB) position of the ALT_I2C_STAT_SLV_ACTIVITY register field.
#define ALT_I2C_STAT_SLV_ACTIVITY_MSB 6 |
The Most Significant Bit (MSB) position of the ALT_I2C_STAT_SLV_ACTIVITY register field.
#define ALT_I2C_STAT_SLV_ACTIVITY_WIDTH 1 |
The width in bits of the ALT_I2C_STAT_SLV_ACTIVITY register field.
#define ALT_I2C_STAT_SLV_ACTIVITY_SET_MSK 0x00000040 |
The mask used to set the ALT_I2C_STAT_SLV_ACTIVITY register field value.
#define ALT_I2C_STAT_SLV_ACTIVITY_CLR_MSK 0xffffffbf |
The mask used to clear the ALT_I2C_STAT_SLV_ACTIVITY register field value.
#define ALT_I2C_STAT_SLV_ACTIVITY_RESET 0x0 |
The reset value of the ALT_I2C_STAT_SLV_ACTIVITY register field.
#define ALT_I2C_STAT_SLV_ACTIVITY_GET | ( | value | ) | (((value) & 0x00000040) >> 6) |
Extracts the ALT_I2C_STAT_SLV_ACTIVITY field value from a register.
#define ALT_I2C_STAT_SLV_ACTIVITY_SET | ( | value | ) | (((value) << 6) & 0x00000040) |
Produces a ALT_I2C_STAT_SLV_ACTIVITY register field value suitable for setting the register.
#define ALT_I2C_STAT_OFST 0x70 |
The byte offset of the ALT_I2C_STAT register from the beginning of the component.
#define ALT_I2C_STAT_ADDR | ( | base | ) | ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_STAT_OFST)) |
The address of the ALT_I2C_STAT register.
typedef struct ALT_I2C_STAT_s ALT_I2C_STAT_t |
The typedef declaration for register ALT_I2C_STAT.