RM0082
LS_I2C controller
Doc ID 018672 Rev 1
619/844
28.6 Programming
model
The i2c can be programmed via software registers. For information about programming the
software registers in terms of i2c operation. refer to Slave mode operation on
Section 28.4.1: Slave mode on page 612
and master mode operation on
. The software registers are described in more detail in
.
28.6.1 External
pin
connections
At the chip boundary, the external I2C peripherals can be connected on the following pins:
28.6.2 Register
map
The I
2
C controller can be fully configured by programming its 16 bit registers which can be
accessed at the base address 0xD018_0000.
RX_OVER
Receive buffer filled to IC_RX_BUFFER_DEPTH.
This bit is set when the receive buffer was completely filled to
IC_RX_BUFFER_DEPTH and more data arrived. The data is lost.
RX_UNDER
Receive buffer empty.
This bit is set when the processor attempts to read the receive buffer when
it is empty by reading from the IC_DATA_CMD register.
Table 539.
I
2
C controller interrupt sources (continued)
Name
Source
Table 540.
External pin connections
(1)
1.
See PL_GPIO Sharing Schemes to verify the availability of the external signals.
Signal
Ball
SCL
C1
SDA
D2
Table 541.
I2C registers
Name
Offset
Width
(bit)
(1)
1
Type Reset value
Description
IC_CON (
0x000
7
RW
7'h2F
I
2
C
control.
IC_TAR (
)
0x004
13
RW
13'h0055
I
2
C
target address.
) 0x008
10
RW
10'h0055
I
2
C
slave address.
0x00C
3
RW
3'b001
I
2
C
HS master mode
core address.
IC_DATA_CMD (
) 0x010
9
RW
9’h0
I
2
C
RX/TX data buffer
and command.
IC_SS_SCL_HCNT
(
)
0x014 16
RW
16'h029b
Standard-Speed I2C
Clock SCL High Count.