I2C - Inter-Integrated Circuit Buses

I2C Overview

Five I2C buses are available across the J6 and J7 board-to-board connectors:

J6 carries the signals for:

  • I2C_0, which is used for the configuration EEPROM
  • ISH_I2C_0 and ISH_I2C_1 buses mapped to I2C_5 and I2C_6

J7 carries the signals for the general purpose I2C_1 and I2C_2 buses.

By default, internal 2 kΩ pull-ups are enabled on the I2C lines. If additional pull-up strength is needed, an external pull-up can be added, if the I2C electrical specifications—provided in I2C Interface Specifications—are not exceeded.

The I2C buses can operate in six modes:

  • Standard mode (with data rates up to 100 kbps)
  • Fast mode (with data rates up to 400 kbps)
  • High-speed mode (with data rates up to 3.4 Mbps)
  • The SoC is always I2C master. It does not support multi-master mode. The SoC supports clock stretching by slave devices.
  • Both 7-bit and 10-bit addressing modes are supported.

Refer to I2C Interface Specifications for I2C electrical specifications.

I2C Routing

The I2C signals do not need to be routed as differential pairs, but it is recommended not to separate data and clock lines too much. It is not required to route the bus as a daisy chain, because the stub length is not a problem. The maximum trace length is limited by the load capacitance of the traces and attached bus devices. Keep traces short by using a star topology.

I2C Pin Mapping

Signal

Module Connector.Pin

Pin Direction

Use

I2C_0_SCL

J6.57

Input

I2C port 0 clock, used for configuration EEPROM

I2C_0_SDA

J6.95

Input/Output

I2C port 0 data, used for configuration EEPROM

I2C_1_SCL

J7.43

Input

I2C port 1 clock, general purpose

I2C_1_SDA

J7.45

Input/Output

I2C port 1 data, general purpose

I2C_2_SCL

J7.26

Input

I2C port 2 clock, general purpose

I2C_2_SDA

J7.28

Input/Output

I2C port 2 data, general purpose

ISH_I2C_0_SCL

J6.16

Input

I2C port 0 clock, mapped to I2C5

ISH_I2C_0_SDA

J6.18

Input/Output

I2C port 0 data, mapped to I2C5

ISH_I2C_1_SCL

J6.21

Input

I2C port 1 clock, mapped to I2C6

ISH_I2C_1_SDA

J6.23

Input/Output

I2C port 1 data, mapped to I2C6

 

For more complete information about compiler optimizations, see our Optimization Notice.