![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
Name: I2C ACK General Call Register
Size: 1 bit
Address Offset: 0x98
Read/Write Access: Read/Write
The register controls whether DW_apb_i2c responds
with a ACK or NACK when it receives an I2C
General Call address.
Note :This register is applicable only when the DW_apb_i2c is in slave mode
Register Layout
Bits | Access | Reset | Description |
---|---|---|---|
[0] | RW | 0x1 | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL |
[31:1] | R | 0x0 | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 |
Field : ack_gen_call | ||||||||||
ACK General Call. When set to 1, DW_apb_i2c responds with a ACK (by asserting ic_data_oe) when it receives a General Call. Otherwise, DW_apb_i2c responds with a NACK (by negating ic_data_oe). Default Reset value: 0x1, but can be hardcoded by setting the IC_DEFAULT_ACK_GENERAL_CALL configuration parameter. Field Enumeration Values:
Field Access Macros: | ||||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_E_NACK 0x0 | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_E_ACK 0x1 | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_LSB 0 | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_MSB 0 | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_WIDTH 1 | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_SET_MSK 0x00000001 | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_CLR_MSK 0xfffffffe | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_RESET 0x1 | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_GET(value) (((value) & 0x00000001) >> 0) | |||||||||
#define | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_SET(value) (((value) << 0) & 0x00000001) | |||||||||
Field : rsvd_ic_ack_gen_31to1 | |
Reserved bits [31:1] - Read Only Field Access Macros: | |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_LSB 1 |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_MSB 31 |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_WIDTH 31 |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_SET_MSK 0xfffffffe |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_CLR_MSK 0x00000001 |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_RESET 0x0 |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_GET(value) (((value) & 0xfffffffe) >> 1) |
#define | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_SET(value) (((value) << 1) & 0xfffffffe) |
Data Structures | |
struct | ALT_I2C_ACK_GENERAL_CALL_s |
Macros | |
#define | ALT_I2C_ACK_GENERAL_CALL_RESET 0x00000001 |
#define | ALT_I2C_ACK_GENERAL_CALL_OFST 0x98 |
#define | ALT_I2C_ACK_GENERAL_CALL_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_ACK_GENERAL_CALL_OFST)) |
Typedefs | |
typedef struct ALT_I2C_ACK_GENERAL_CALL_s | ALT_I2C_ACK_GENERAL_CALL_t |
struct ALT_I2C_ACK_GENERAL_CALL_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_ACK_GENERAL_CALL.
Data Fields | ||
---|---|---|
uint32_t | ack_gen_call: 1 | ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL |
const uint32_t | rsvd_ic_ack_gen_31to1: 31 | ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 |
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_E_NACK 0x0 |
Enumerated value for register field ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL
I2C responds with a NACK
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_E_ACK 0x1 |
Enumerated value for register field ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL
I2C responds with an ACK
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_LSB 0 |
The Least Significant Bit (LSB) position of the ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL register field.
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_MSB 0 |
The Most Significant Bit (MSB) position of the ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL register field.
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_WIDTH 1 |
The width in bits of the ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL register field.
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_SET_MSK 0x00000001 |
The mask used to set the ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL register field value.
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_CLR_MSK 0xfffffffe |
The mask used to clear the ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL register field value.
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_RESET 0x1 |
The reset value of the ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL register field.
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_GET | ( | value | ) | (((value) & 0x00000001) >> 0) |
Extracts the ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL field value from a register.
#define ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_SET | ( | value | ) | (((value) << 0) & 0x00000001) |
Produces a ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL register field value suitable for setting the register.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_LSB 1 |
The Least Significant Bit (LSB) position of the ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 register field.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_MSB 31 |
The Most Significant Bit (MSB) position of the ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 register field.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_WIDTH 31 |
The width in bits of the ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 register field.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_SET_MSK 0xfffffffe |
The mask used to set the ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 register field value.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_CLR_MSK 0x00000001 |
The mask used to clear the ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 register field value.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_RESET 0x0 |
The reset value of the ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 register field.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_GET | ( | value | ) | (((value) & 0xfffffffe) >> 1) |
Extracts the ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 field value from a register.
#define ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1_SET | ( | value | ) | (((value) << 1) & 0xfffffffe) |
Produces a ALT_I2C_ACK_GENERAL_CALL_RSVD_IC_ACK_GEN_31TO1 register field value suitable for setting the register.
#define ALT_I2C_ACK_GENERAL_CALL_RESET 0x00000001 |
The reset value of the ALT_I2C_ACK_GENERAL_CALL register.
#define ALT_I2C_ACK_GENERAL_CALL_OFST 0x98 |
The byte offset of the ALT_I2C_ACK_GENERAL_CALL register from the beginning of the component.
#define ALT_I2C_ACK_GENERAL_CALL_ADDR | ( | base | ) | ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_ACK_GENERAL_CALL_OFST)) |
The address of the ALT_I2C_ACK_GENERAL_CALL register.
typedef struct ALT_I2C_ACK_GENERAL_CALL_s ALT_I2C_ACK_GENERAL_CALL_t |
The typedef declaration for register ALT_I2C_ACK_GENERAL_CALL.