Datasheet

Table Of Contents
Bits Name Description Type Reset
0 ENABLE Controls whether the DW_apb_i2c is enabled. - 0: Disables
DW_apb_i2c (TX and RX FIFOs are held in an erased state) -
1: Enables DW_apb_i2c Software can disable DW_apb_i2c
while it is active. However, it is important that care be taken
to ensure that DW_apb_i2c is disabled properly. A
recommended procedure is described in 'Disabling
DW_apb_i2c'.
When DW_apb_i2c is disabled, the following occurs: - The
TX FIFO and RX FIFO get flushed. - Status bits in the
IC_INTR_STAT register are still active until DW_apb_i2c
goes into IDLE state. If the module is transmitting, it stops
as well as deletes the contents of the transmit buffer after
the current transfer is complete. If the module is receiving,
the DW_apb_i2c stops the current transfer at the end of the
current byte and does not acknowledge the transfer.
In systems with asynchronous pclk and ic_clk when
IC_CLK_TYPE parameter set to asynchronous (1), there is a
two ic_clk delay when enabling or disabling the
DW_apb_i2c. For a detailed description on how to disable
DW_apb_i2c, refer to 'Disabling DW_apb_i2c'
Reset value: 0x0
0x0 -> I2C is disabled
0x1 -> I2C is enabled
RW 0x0
IC_STATUS Register
Description
I2C Status Register
This is a read-only register used to indicate the current transfer status and FIFO status. The status register may be read at
any time. None of the bits in this register request an interrupt.
When the I2C is disabled by writing 0 in bit 0 of the IC_ENABLE register: - Bits 1 and 2 are set to 1 - Bits 3 and 10 are set to
0 When the master or slave state machines goes to idle and ic_en=0: - Bits 5 and 6 are set to 0
Table 506. IC_STATUS
Register
Bits Name Description Type Reset
31:7 Reserved. - - -
6 SLV_ACTIVITY Slave FSM Activity Status. When the Slave Finite State
Machine (FSM) is not in the IDLE state, this bit is set. - 0:
Slave FSM is in IDLE state so the Slave part of DW_apb_i2c
is not Active - 1: Slave FSM is not in IDLE state so the Slave
part of DW_apb_i2c is Active Reset value: 0x0
0x0 -> Slave is idle
0x1 -> Slave not idle
RO 0x0
RP2040 Datasheet
4.4. I2C 512