Expand description
DW_apb_i2c address block
List of configuration constants for the Synopsys I2C hardware (you may see references to these in I2C register header; these are fixed values, set at hardware design time):
IC_ULTRA_FAST_MODE ……………. 0x0
IC_UFM_TBUF_CNT_DEFAULT ……….. 0x8
IC_UFM_SCL_LOW_COUNT ………….. 0x0008
IC_UFM_SCL_HIGH_COUNT …………. 0x0006
IC_TX_TL …………………….. 0x0
IC_TX_CMD_BLOCK ………………. 0x1
IC_HAS_DMA …………………… 0x1
IC_HAS_ASYNC_FIFO …………….. 0x0
IC_SMBUS_ARP …………………. 0x0
IC_FIRST_DATA_BYTE_STATUS ……… 0x1
IC_INTR_IO …………………… 0x1
IC_MASTER_MODE ……………….. 0x1
IC_DEFAULT_ACK_GENERAL_CALL ……. 0x1
IC_INTR_POL ………………….. 0x1
IC_OPTIONAL_SAR ………………. 0x0
IC_DEFAULT_TAR_SLAVE_ADDR ……… 0x055
IC_DEFAULT_SLAVE_ADDR …………. 0x055
IC_DEFAULT_HS_SPKLEN ………….. 0x1
IC_FS_SCL_HIGH_COUNT ………….. 0x0006
IC_HS_SCL_LOW_COUNT …………… 0x0008
IC_DEVICE_ID_VALUE ……………. 0x0
IC_10BITADDR_MASTER …………… 0x0
IC_CLK_FREQ_OPTIMIZATION ………. 0x0
IC_DEFAULT_FS_SPKLEN ………….. 0x7
IC_ADD_ENCODED_PARAMS …………. 0x0
IC_DEFAULT_SDA_HOLD …………… 0x000001
IC_DEFAULT_SDA_SETUP ………….. 0x64
IC_AVOID_RX_FIFO_FLUSH_ON_TX_ABRT . 0x0
IC_CLOCK_PERIOD ………………. 100
IC_EMPTYFIFO_HOLD_MASTER_EN ……. 1
IC_RESTART_EN ………………… 0x1
IC_TX_CMD_BLOCK_DEFAULT ……….. 0x0
IC_BUS_CLEAR_FEATURE ………….. 0x0
IC_CAP_LOADING ……………….. 100
IC_FS_SCL_LOW_COUNT …………… 0x000d
APB_DATA_WIDTH ……………….. 32
IC_SDA_STUCK_TIMEOUT_DEFAULT …… 0xffffffff
IC_SLV_DATA_NACK_ONLY …………. 0x1
IC_10BITADDR_SLAVE ……………. 0x0
IC_CLK_TYPE ………………….. 0x0
IC_SMBUS_UDID_MSB …………….. 0x0
IC_SMBUS_SUSPEND_ALERT ………… 0x0
IC_HS_SCL_HIGH_COUNT ………….. 0x0006
IC_SLV_RESTART_DET_EN …………. 0x1
IC_SMBUS …………………….. 0x0
IC_OPTIONAL_SAR_DEFAULT ……….. 0x0
IC_PERSISTANT_SLV_ADDR_DEFAULT …. 0x0
IC_USE_COUNTS ………………… 0x0
IC_RX_BUFFER_DEPTH ……………. 16
IC_SCL_STUCK_TIMEOUT_DEFAULT …… 0xffffffff
IC_RX_FULL_HLD_BUS_EN …………. 0x1
IC_SLAVE_DISABLE ……………… 0x1
IC_RX_TL …………………….. 0x0
IC_DEVICE_ID …………………. 0x0
IC_HC_COUNT_VALUES ……………. 0x0
I2C_DYNAMIC_TAR_UPDATE ………… 0
IC_SMBUS_CLK_LOW_MEXT_DEFAULT ….. 0xffffffff
IC_SMBUS_CLK_LOW_SEXT_DEFAULT ….. 0xffffffff
IC_HS_MASTER_CODE …………….. 0x1
IC_SMBUS_RST_IDLE_CNT_DEFAULT ….. 0xffff
IC_SMBUS_UDID_LSB_DEFAULT ……… 0xffffffff
IC_SS_SCL_HIGH_COUNT ………….. 0x0028
IC_SS_SCL_LOW_COUNT …………… 0x002f
IC_MAX_SPEED_MODE …………….. 0x2
IC_STAT_FOR_CLK_STRETCH ……….. 0x0
IC_STOP_DET_IF_MASTER_ACTIVE …… 0x0
IC_DEFAULT_UFM_SPKLEN …………. 0x1
IC_TX_BUFFER_DEPTH ……………. 16
Modules§
- ic_
ack_ general_ call - I2C ACK General Call Register
- ic_
clr_ activity - Clear ACTIVITY Interrupt Register
- ic_
clr_ gen_ call - Clear GEN_CALL Interrupt Register
- ic_
clr_ intr - Clear Combined and Individual Interrupt Register
- ic_
clr_ rd_ req - Clear RD_REQ Interrupt Register
- ic_
clr_ restart_ det - Clear RESTART_DET Interrupt Register
- ic_
clr_ rx_ done - Clear RX_DONE Interrupt Register
- ic_
clr_ rx_ over - Clear RX_OVER Interrupt Register
- ic_
clr_ rx_ under - Clear RX_UNDER Interrupt Register
- ic_
clr_ start_ det - Clear START_DET Interrupt Register
- ic_
clr_ stop_ det - Clear STOP_DET Interrupt Register
- ic_
clr_ tx_ abrt - Clear TX_ABRT Interrupt Register
- ic_
clr_ tx_ over - Clear TX_OVER Interrupt Register
- ic_
comp_ param_ 1 - Component Parameter Register 1
- ic_
comp_ type - I2C Component Type Register
- ic_
comp_ version - I2C Component Version Register
- ic_con
- I2C Control Register. This register can be written only when the DW_apb_i2c is disabled, which corresponds to the IC_ENABLE[0] register being set to 0. Writes at other times have no effect.
- ic_
data_ cmd - I2C Rx/Tx Data Buffer and Command Register; this is the register the CPU writes to when filling the TX FIFO and the CPU reads from when retrieving bytes from RX FIFO.
- ic_
dma_ cr - DMA Control Register
- ic_
dma_ rdlr - I2C Receive Data Level Register
- ic_
dma_ tdlr - DMA Transmit Data Level Register
- ic_
enable - I2C Enable Register
- ic_
enable_ status - I2C Enable Status Register
- ic_
fs_ scl_ hcnt - Fast Mode or Fast Mode Plus I2C Clock SCL High Count Register
- ic_
fs_ scl_ lcnt - Fast Mode or Fast Mode Plus I2C Clock SCL Low Count Register
- ic_
fs_ spklen - I2C SS, FS or FM+ spike suppression limit
- ic_
intr_ mask - I2C Interrupt Mask Register.
- ic_
intr_ stat - I2C Interrupt Status Register
- ic_
raw_ intr_ stat - I2C Raw Interrupt Status Register
- ic_
rx_ tl - I2C Receive FIFO Threshold Register
- ic_
rxflr - I2C Receive FIFO Level Register This register contains the number of valid data entries in the receive FIFO buffer. It is cleared whenever: - The I2C is disabled - Whenever there is a transmit abort caused by any of the events tracked in IC_TX_ABRT_SOURCE The register increments whenever data is placed into the receive FIFO and decrements when data is taken from the receive FIFO.
- ic_sar
- I2C Slave Address Register
- ic_
sda_ hold - I2C SDA Hold Time Length Register
- ic_
sda_ setup - I2C SDA Setup Register
- ic_
slv_ data_ nack_ only - Generate Slave Data NACK Register
- ic_
ss_ scl_ hcnt - Standard Speed I2C Clock SCL High Count Register
- ic_
ss_ scl_ lcnt - Standard Speed I2C Clock SCL Low Count Register
- ic_
status - I2C Status Register
- ic_tar
- I2C Target Address Register
- ic_
tx_ abrt_ source - I2C Transmit Abort Source Register
- ic_
tx_ tl - I2C Transmit FIFO Threshold Register
- ic_
txflr - I2C Transmit FIFO Level Register This register contains the number of valid data entries in the transmit FIFO buffer. It is cleared whenever: - The I2C is disabled - There is a transmit abort - that is, TX_ABRT bit is set in the IC_RAW_INTR_STAT register - The slave bulk transmit mode is aborted The register increments whenever data is placed into the transmit FIFO and decrements when data is taken from the transmit FIFO.
Structs§
- Register
Block - Register block
Type Aliases§
- IC_
ACK_ GENERAL_ CALL - IC_ACK_GENERAL_CALL (rw) register accessor: I2C ACK General Call Register
- IC_
CLR_ ACTIVITY - IC_CLR_ACTIVITY (r) register accessor: Clear ACTIVITY Interrupt Register
- IC_
CLR_ GEN_ CALL - IC_CLR_GEN_CALL (r) register accessor: Clear GEN_CALL Interrupt Register
- IC_
CLR_ INTR - IC_CLR_INTR (r) register accessor: Clear Combined and Individual Interrupt Register
- IC_
CLR_ RD_ REQ - IC_CLR_RD_REQ (r) register accessor: Clear RD_REQ Interrupt Register
- IC_
CLR_ RESTART_ DET - IC_CLR_RESTART_DET (r) register accessor: Clear RESTART_DET Interrupt Register
- IC_
CLR_ RX_ DONE - IC_CLR_RX_DONE (r) register accessor: Clear RX_DONE Interrupt Register
- IC_
CLR_ RX_ OVER - IC_CLR_RX_OVER (r) register accessor: Clear RX_OVER Interrupt Register
- IC_
CLR_ RX_ UNDER - IC_CLR_RX_UNDER (r) register accessor: Clear RX_UNDER Interrupt Register
- IC_
CLR_ START_ DET - IC_CLR_START_DET (r) register accessor: Clear START_DET Interrupt Register
- IC_
CLR_ STOP_ DET - IC_CLR_STOP_DET (r) register accessor: Clear STOP_DET Interrupt Register
- IC_
CLR_ TX_ ABRT - IC_CLR_TX_ABRT (r) register accessor: Clear TX_ABRT Interrupt Register
- IC_
CLR_ TX_ OVER - IC_CLR_TX_OVER (r) register accessor: Clear TX_OVER Interrupt Register
- IC_
COMP_ PARAM_ 1 - IC_COMP_PARAM_1 (r) register accessor: Component Parameter Register 1
- IC_
COMP_ TYPE - IC_COMP_TYPE (r) register accessor: I2C Component Type Register
- IC_
COMP_ VERSION - IC_COMP_VERSION (r) register accessor: I2C Component Version Register
- IC_CON
- IC_CON (rw) register accessor: I2C Control Register. This register can be written only when the DW_apb_i2c is disabled, which corresponds to the IC_ENABLE[0] register being set to 0. Writes at other times have no effect.
- IC_
DATA_ CMD - IC_DATA_CMD (rw) register accessor: I2C Rx/Tx Data Buffer and Command Register; this is the register the CPU writes to when filling the TX FIFO and the CPU reads from when retrieving bytes from RX FIFO.
- IC_
DMA_ CR - IC_DMA_CR (rw) register accessor: DMA Control Register
- IC_
DMA_ RDLR - IC_DMA_RDLR (rw) register accessor: I2C Receive Data Level Register
- IC_
DMA_ TDLR - IC_DMA_TDLR (rw) register accessor: DMA Transmit Data Level Register
- IC_
ENABLE - IC_ENABLE (rw) register accessor: I2C Enable Register
- IC_
ENABLE_ STATUS - IC_ENABLE_STATUS (r) register accessor: I2C Enable Status Register
- IC_
FS_ SCL_ HCNT - IC_FS_SCL_HCNT (rw) register accessor: Fast Mode or Fast Mode Plus I2C Clock SCL High Count Register
- IC_
FS_ SCL_ LCNT - IC_FS_SCL_LCNT (rw) register accessor: Fast Mode or Fast Mode Plus I2C Clock SCL Low Count Register
- IC_
FS_ SPKLEN - IC_FS_SPKLEN (rw) register accessor: I2C SS, FS or FM+ spike suppression limit
- IC_
INTR_ MASK - IC_INTR_MASK (rw) register accessor: I2C Interrupt Mask Register.
- IC_
INTR_ STAT - IC_INTR_STAT (r) register accessor: I2C Interrupt Status Register
- IC_
RAW_ INTR_ STAT - IC_RAW_INTR_STAT (r) register accessor: I2C Raw Interrupt Status Register
- IC_
RXFLR - IC_RXFLR (r) register accessor: I2C Receive FIFO Level Register This register contains the number of valid data entries in the receive FIFO buffer. It is cleared whenever: - The I2C is disabled - Whenever there is a transmit abort caused by any of the events tracked in IC_TX_ABRT_SOURCE The register increments whenever data is placed into the receive FIFO and decrements when data is taken from the receive FIFO.
- IC_
RX_ TL - IC_RX_TL (rw) register accessor: I2C Receive FIFO Threshold Register
- IC_SAR
- IC_SAR (rw) register accessor: I2C Slave Address Register
- IC_
SDA_ HOLD - IC_SDA_HOLD (rw) register accessor: I2C SDA Hold Time Length Register
- IC_
SDA_ SETUP - IC_SDA_SETUP (rw) register accessor: I2C SDA Setup Register
- IC_
SLV_ DATA_ NACK_ ONLY - IC_SLV_DATA_NACK_ONLY (rw) register accessor: Generate Slave Data NACK Register
- IC_
SS_ SCL_ HCNT - IC_SS_SCL_HCNT (rw) register accessor: Standard Speed I2C Clock SCL High Count Register
- IC_
SS_ SCL_ LCNT - IC_SS_SCL_LCNT (rw) register accessor: Standard Speed I2C Clock SCL Low Count Register
- IC_
STATUS - IC_STATUS (r) register accessor: I2C Status Register
- IC_TAR
- IC_TAR (rw) register accessor: I2C Target Address Register
- IC_
TXFLR - IC_TXFLR (r) register accessor: I2C Transmit FIFO Level Register This register contains the number of valid data entries in the transmit FIFO buffer. It is cleared whenever: - The I2C is disabled - There is a transmit abort - that is, TX_ABRT bit is set in the IC_RAW_INTR_STAT register - The slave bulk transmit mode is aborted The register increments whenever data is placed into the transmit FIFO and decrements when data is taken from the transmit FIFO.
- IC_
TX_ ABRT_ SOURCE - IC_TX_ABRT_SOURCE (r) register accessor: I2C Transmit Abort Source Register
- IC_
TX_ TL - IC_TX_TL (rw) register accessor: I2C Transmit FIFO Threshold Register