![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
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 |
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 |
#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 struct ALT_I2C_FS_SPKLEN_s ALT_I2C_FS_SPKLEN_t |
The typedef declaration for register ALT_I2C_FS_SPKLEN.