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

Description

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:

Enum Value Description
ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_E_NACK 0x0 I2C responds with a NACK
ALT_I2C_ACK_GENERAL_CALL_ACK_GEN_CALL_E_ACK 0x1 I2C responds with an ACK

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
 

Data Structure Documentation

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

Macro Definitions

#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 Documentation

The typedef declaration for register ALT_I2C_ACK_GENERAL_CALL.