ic_sda_hold
I2C SDA Hold Time Length Register
The bits [15:0] of this register are used to control the hold time of SDA during
transmit in both slave and master mode (after SCL goes from HIGH to LOW).
The bits [23:16] of this register are used to extend the SDA transition (if any)
whenever SCL is HIGH in the receiver in either master or slave mode.
The values in this register are in units of l4_sp_clk period.
This register controls the amount of time delay.
The relevant I2C requirement is thd:DAT as detailed in the I2C
Bus Specification.
Module Instance | Base Address | Register Address |
---|---|---|
i_i2c_emac_0_i2c | 0xFFC02400 | 0xFFC0247C |
i_i2c_emac_1_i2c | 0xFFC02500 | 0xFFC0257C |
i_i2c_emac_2_i2c | 0xFFC02600 | 0xFFC0267C |
Offset: 0x7C
Access: RW
Important: The value of a reserved bit must be maintained in software. When you modify registers containing reserved bit fields, you must use a read-modify-write operation to preserve state and prevent indeterminate system behavior.
Bit Fields | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Reserved |
ic_sda_rx_hold RW 0x0 |
||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ic_sda_tx_hold RW 0x1 |
ic_sda_hold Fields
Bit | Name | Description | Access | Reset |
---|---|---|---|---|
23:16 | ic_sda_rx_hold | Sets the required SDA hold time in units of l4_sp_clk period, when the I2C module acts as a receiver. |
RW | 0x0 |
15:0 | ic_sda_tx_hold | Sets the required SDA hold time in units of l4_sp_clk period, when the I2C module acts as a transmitter. |
RW | 0x1 |