Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Generate Slave Data NACK - ic_slv_data_nack_only

Description

The register is used to generate a NACK for the data part of a transfer when i2c is acting as a slave-receiver.

Register Layout

Bits Access Reset Description
[0] RW 0x0 Generate Nack Bit
[31:1] ??? 0x0 UNDEFINED

Field : Generate Nack Bit - nack

This Bit control Nack generation

Field Enumeration Values:

Enum Value Description
ALT_I2C_SLV_DATA_NACK_ONLY_NACK_E_AFTERDBYTE 0x1 Generate NACK after data byte receive
ALT_I2C_SLV_DATA_NACK_ONLY_NACK_E_NORM 0x0 Generate NACK/ACK normally

Field Access Macros:

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_E_AFTERDBYTE   0x1
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_E_NORM   0x0
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_LSB   0
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_MSB   0
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_WIDTH   1
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_SET_MSK   0x00000001
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_CLR_MSK   0xfffffffe
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_RESET   0x0
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_GET(value)   (((value) & 0x00000001) >> 0)
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_SET(value)   (((value) << 0) & 0x00000001)
 

Data Structures

struct  ALT_I2C_SLV_DATA_NACK_ONLY_s
 

Macros

#define ALT_I2C_SLV_DATA_NACK_ONLY_OFST   0x84
 
#define ALT_I2C_SLV_DATA_NACK_ONLY_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_SLV_DATA_NACK_ONLY_OFST))
 

Typedefs

typedef struct
ALT_I2C_SLV_DATA_NACK_ONLY_s 
ALT_I2C_SLV_DATA_NACK_ONLY_t
 

Data Structure Documentation

struct ALT_I2C_SLV_DATA_NACK_ONLY_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_SLV_DATA_NACK_ONLY.

Data Fields
uint32_t nack: 1 Generate Nack Bit
uint32_t __pad0__: 31 UNDEFINED

Macro Definitions

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_E_AFTERDBYTE   0x1

Enumerated value for register field ALT_I2C_SLV_DATA_NACK_ONLY_NACK

Generate NACK after data byte receive

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_E_NORM   0x0

Enumerated value for register field ALT_I2C_SLV_DATA_NACK_ONLY_NACK

Generate NACK/ACK normally

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_LSB   0

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

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_MSB   0

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

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_WIDTH   1

The width in bits of the ALT_I2C_SLV_DATA_NACK_ONLY_NACK register field.

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_SET_MSK   0x00000001

The mask used to set the ALT_I2C_SLV_DATA_NACK_ONLY_NACK register field value.

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_CLR_MSK   0xfffffffe

The mask used to clear the ALT_I2C_SLV_DATA_NACK_ONLY_NACK register field value.

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_RESET   0x0

The reset value of the ALT_I2C_SLV_DATA_NACK_ONLY_NACK register field.

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_GET (   value)    (((value) & 0x00000001) >> 0)

Extracts the ALT_I2C_SLV_DATA_NACK_ONLY_NACK field value from a register.

#define ALT_I2C_SLV_DATA_NACK_ONLY_NACK_SET (   value)    (((value) << 0) & 0x00000001)

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

#define ALT_I2C_SLV_DATA_NACK_ONLY_OFST   0x84

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

#define ALT_I2C_SLV_DATA_NACK_ONLY_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_SLV_DATA_NACK_ONLY_OFST))

The address of the ALT_I2C_SLV_DATA_NACK_ONLY register.

Typedef Documentation

The typedef declaration for register ALT_I2C_SLV_DATA_NACK_ONLY.