![]() |
Altera SoCAL
16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
|
Name: I2C SDA Setup Register
Size: 8 bits
Address Offset: 0x94
Read/Write Access: Read/Write
This register controls the amount of time delay
(in terms of number of ic_clk clock periods) introduced
in the rising edge of SCL, relative to SDA changing, when
DW_apb_i2c services a read request in a slave-transmitter operation.
The relevant I2C requirement is tSU:DAT (note 4) as detailed in the
I2C Bus Specification.
Register Layout
Bits | Access | Reset | Description |
---|---|---|---|
[7:0] | RW | 0x64 | ALT_I2C_SDA_SETUP_SDA_SETUP |
[31:8] | ??? | 0x0 | UNDEFINED |
Field : sda_setup | |
SDA Setup. It is recommended that if the required delay is 1000ns, then for an ic_clk frequency of 10 MHz, IC_SDA_SETUP should be programmed to a value of 11. Default Reset value: 0x64, but can be hardcoded by setting the IC_DEFAULT_SDA_SETUP configuration parameter. Field Access Macros: | |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_LSB 0 |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_MSB 7 |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_WIDTH 8 |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_SET_MSK 0x000000ff |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_CLR_MSK 0xffffff00 |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_RESET 0x64 |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_GET(value) (((value) & 0x000000ff) >> 0) |
#define | ALT_I2C_SDA_SETUP_SDA_SETUP_SET(value) (((value) << 0) & 0x000000ff) |
Data Structures | |
struct | ALT_I2C_SDA_SETUP_s |
Macros | |
#define | ALT_I2C_SDA_SETUP_RESET 0x00000064 |
#define | ALT_I2C_SDA_SETUP_OFST 0x94 |
#define | ALT_I2C_SDA_SETUP_ADDR(base) ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_SDA_SETUP_OFST)) |
Typedefs | |
typedef struct ALT_I2C_SDA_SETUP_s | ALT_I2C_SDA_SETUP_t |
struct ALT_I2C_SDA_SETUP_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_SDA_SETUP.
Data Fields | ||
---|---|---|
uint32_t | sda_setup: 8 | ALT_I2C_SDA_SETUP_SDA_SETUP |
uint32_t | __pad0__: 24 | UNDEFINED |
#define ALT_I2C_SDA_SETUP_SDA_SETUP_LSB 0 |
The Least Significant Bit (LSB) position of the ALT_I2C_SDA_SETUP_SDA_SETUP register field.
#define ALT_I2C_SDA_SETUP_SDA_SETUP_MSB 7 |
The Most Significant Bit (MSB) position of the ALT_I2C_SDA_SETUP_SDA_SETUP register field.
#define ALT_I2C_SDA_SETUP_SDA_SETUP_WIDTH 8 |
The width in bits of the ALT_I2C_SDA_SETUP_SDA_SETUP register field.
#define ALT_I2C_SDA_SETUP_SDA_SETUP_SET_MSK 0x000000ff |
The mask used to set the ALT_I2C_SDA_SETUP_SDA_SETUP register field value.
#define ALT_I2C_SDA_SETUP_SDA_SETUP_CLR_MSK 0xffffff00 |
The mask used to clear the ALT_I2C_SDA_SETUP_SDA_SETUP register field value.
#define ALT_I2C_SDA_SETUP_SDA_SETUP_RESET 0x64 |
The reset value of the ALT_I2C_SDA_SETUP_SDA_SETUP register field.
#define ALT_I2C_SDA_SETUP_SDA_SETUP_GET | ( | value | ) | (((value) & 0x000000ff) >> 0) |
Extracts the ALT_I2C_SDA_SETUP_SDA_SETUP field value from a register.
#define ALT_I2C_SDA_SETUP_SDA_SETUP_SET | ( | value | ) | (((value) << 0) & 0x000000ff) |
Produces a ALT_I2C_SDA_SETUP_SDA_SETUP register field value suitable for setting the register.
#define ALT_I2C_SDA_SETUP_RESET 0x00000064 |
The reset value of the ALT_I2C_SDA_SETUP register.
#define ALT_I2C_SDA_SETUP_OFST 0x94 |
The byte offset of the ALT_I2C_SDA_SETUP register from the beginning of the component.
#define ALT_I2C_SDA_SETUP_ADDR | ( | base | ) | ALT_CAST(void *, (ALT_CAST(char *, (base)) + ALT_I2C_SDA_SETUP_OFST)) |
The address of the ALT_I2C_SDA_SETUP register.
typedef struct ALT_I2C_SDA_SETUP_s ALT_I2C_SDA_SETUP_t |
The typedef declaration for register ALT_I2C_SDA_SETUP.