LS_I2C controller
RM0082
622/844
Doc ID 018672 Rev 1
Table 542.
IC_CON register bit assignments
Bit
Name
Type
Reset
value
Description
[15:07]
Reserved
-
Read: undefined. Write: should be zero.
[06]
IC_SLAVE_DISABLE
RW
1’h0
Slave disabled after reset.
This bit controls whether the I
2
C controller has
its slave disabled after reset, according to the
encoding:
1‘b0 = Enabled (default).
1‘b1 = Disabled.
[05]
IC_RESTART_EN
RW
1’h1
Enable restart conditions (when acting as
master).
This bit determines whether restart conditions
may be sent (if set to ‘b1) when acting as a
master or not (if set to ‘b0). Indeed, some older
slaves do not support handling restart
conditions.
Note: Disabling a restart does not allow the
master to perform the following function:
●
send multiple bytes per transfer (split),
●
change direction within a transfer (split),
●
send a start byte,
●
perform any high-speed mode operation,
●
perform combined format transfers in 7-
or 10 bit addressing mode (split for 7 bit),
●
perform a read operation with a 10 bit
address.
●
Split operations are broken down into
multiple I
2
C transfers with a stop and
start condition in between. The other
operations are not performed at all and
result in setting TX_ABRT.
[04]
IC_10BITADDR_MASTE
R
RO
1’h0
10 bit addressing mode (when acting as
master).
The function of this bit is handled by bit 12 of
IC_TAR. This bit is a read-only field called
IC_10BITADDR_MASTER_rd_only.
[03]
IC_10BITADDR_SLAVE
RW
1’h1
Responds to 7- or 10 bit addresses (when
acting as slave).
This bit controls if I
2
C controller responds to
either 7- or 10 bit addresses when acting as a
slave, according to the encoding:
1‘b0 = 7. The I
2
C controller ignores
transactions which involve 10 bit addressing.
for 7 bit addressing, only the lower 7 bits of the
IC_SAR register (
) are
compared.
1‘b1 = 10. The I
2
C controller responds to only
10 bit addressing transfers that match the full
10 bits of the IC_SAR register.