Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : SS and FS Spike Suppression Limit Register - ic_fs_spklen

Description

This register is used to store the duration, measured in ic_clk cycles, of the longest spike that is filtered out by the spike suppression logic when the component is operating in SS or FS modes.

Register Layout

Bits Access Reset Description
[7:0] RW 0x2 Spike Suppression Limit Register
[31:8] ??? 0x0 UNDEFINED

Field : Spike Suppression Limit Register - spklen

This register must be set before any I2C bus transaction can take place to ensure stable operation. This register sets the duration, measured in ic_clk cycles, of the longest spike in the SCL or SDA lines that are filtered out by the spike suppression logic. This register can be written only when the I2C interface is disabled, which corresponds to the IC_ENABLE register being set to 0. Writes at other times have no effect. The minimum valid value is 1; hardware prevents values less than this being written, and if attempted results in 2 being set.

Field Access Macros:

#define ALT_I2C_FS_SPKLEN_SPKLEN_LSB   0
 
#define ALT_I2C_FS_SPKLEN_SPKLEN_MSB   7
 
#define ALT_I2C_FS_SPKLEN_SPKLEN_WIDTH   8
 
#define ALT_I2C_FS_SPKLEN_SPKLEN_SET_MSK   0x000000ff
 
#define ALT_I2C_FS_SPKLEN_SPKLEN_CLR_MSK   0xffffff00
 
#define ALT_I2C_FS_SPKLEN_SPKLEN_RESET   0x2
 
#define ALT_I2C_FS_SPKLEN_SPKLEN_GET(value)   (((value) & 0x000000ff) >> 0)
 
#define ALT_I2C_FS_SPKLEN_SPKLEN_SET(value)   (((value) << 0) & 0x000000ff)
 

Data Structures

struct  ALT_I2C_FS_SPKLEN_s
 

Macros

#define ALT_I2C_FS_SPKLEN_OFST   0xa0
 
#define ALT_I2C_FS_SPKLEN_ADDR(base)   ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_FS_SPKLEN_OFST))
 

Typedefs

typedef struct ALT_I2C_FS_SPKLEN_s ALT_I2C_FS_SPKLEN_t
 

Data Structure Documentation

struct ALT_I2C_FS_SPKLEN_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_FS_SPKLEN.

Data Fields
uint32_t spklen: 8 Spike Suppression Limit Register
uint32_t __pad0__: 24 UNDEFINED

Macro Definitions

#define ALT_I2C_FS_SPKLEN_SPKLEN_LSB   0

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

#define ALT_I2C_FS_SPKLEN_SPKLEN_MSB   7

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

#define ALT_I2C_FS_SPKLEN_SPKLEN_WIDTH   8

The width in bits of the ALT_I2C_FS_SPKLEN_SPKLEN register field.

#define ALT_I2C_FS_SPKLEN_SPKLEN_SET_MSK   0x000000ff

The mask used to set the ALT_I2C_FS_SPKLEN_SPKLEN register field value.

#define ALT_I2C_FS_SPKLEN_SPKLEN_CLR_MSK   0xffffff00

The mask used to clear the ALT_I2C_FS_SPKLEN_SPKLEN register field value.

#define ALT_I2C_FS_SPKLEN_SPKLEN_RESET   0x2

The reset value of the ALT_I2C_FS_SPKLEN_SPKLEN register field.

#define ALT_I2C_FS_SPKLEN_SPKLEN_GET (   value)    (((value) & 0x000000ff) >> 0)

Extracts the ALT_I2C_FS_SPKLEN_SPKLEN field value from a register.

#define ALT_I2C_FS_SPKLEN_SPKLEN_SET (   value)    (((value) << 0) & 0x000000ff)

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

#define ALT_I2C_FS_SPKLEN_OFST   0xa0

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

#define ALT_I2C_FS_SPKLEN_ADDR (   base)    ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_FS_SPKLEN_OFST))

The address of the ALT_I2C_FS_SPKLEN register.

Typedef Documentation

The typedef declaration for register ALT_I2C_FS_SPKLEN.