Inter-Integrated Circuit Peripherals
UG0331 User Guide Revision 15.0
550
Figure 238 •
I
2
C Loopback Block Diagram
15.4
I
2
C Register Map
The internal register address map and reset values of each APB accessible register for I
2
C peripherals
are listed in the following table. The I2C_0 base address resides at 0x40002000 and extends to address
0x40002FFF in the Cortex-M3 processor memory map. The I2C_1 base address resides at 0x40012000
and extends to address 0x40012FFF in the Cortex-M3 processor memory map.
Table 520 •
I
2
C Register Map
Register
Name
Address
Offset
R/W Reset Value Description
CTRL
0x00
R/W 0x00
Control register: Used to configure the I
2
C peripheral.
STATUS
0x04
R
0xF8
Status register: Read-only value which indicates the current state of
the I
2
C peripheral.
DATA
0x08
R/W 0x00
Data register: Read/write data to/from the serial interface.
SLAVE0 ADR 0x0C
R/W 0x00
Slave0 address register: Contains the primary programmable address
of the I
2
C peripheral.
SMBUS
0x10
R/W 0b01X1X000 SMBus register: Configuration register for SMBus timeout reset
condition and for the optional SMBus signals SMBALERT_N and
SMSBUS_N.
FREQ
0x14
R/W 0x08
Frequency register: Necessary for configuring real-time timeout logic.
Can be set to the PCLK frequency for 25 ms SMBus timeouts, or the
timeout value maybe increased/decreased.
GLITCHREG 0x18
R/W 0x03
Glitch Reg length register: Used to adjust the input glitch filter length. If
GLITCHREG_FIXED = 0, then the register can be set from 3 to 21.
SLAVE1 ADR 0x1C
R/W 0x00
Slave1 address register: Contains the secondary programmable
address of the I
2
C peripheral.
I2C_0
I2C_1
SCL 0
SCL 1
SDA 0
SDA 1
SCL 0
SCL 1
SDA 0
SDA 1
SCL OUT
SCL IN
SDA OUT
SDA IN
SCL OUT
SCL IN
SDA OUT
SDA IN
MSS_I2CLOOPBACK bit
MSS_I2CLOOPBACK bit
MSS_I2CLOOPBACK bit
MSS_I2CLOOPBACK bit