Version 3 (modified by Tim Harvey, 4 years ago) (diff)

added newport GW610x/GW620x details

Inter-Integrated Circuit (I2C)

The Inter-Integrated Circuit by Philips is a popular interconnect (typically on-board) used on embedded processors as well as modern computers consisting of 2-wires (other than ground, power, and optional interrupts):

  • SCL - clock
  • SDA - data

An I2C bus may be multi-master and support interrupts from the device to host controller.


On-Board I2C Host Controllers

Various Gateworks boards support 3.3V TTL I2C to an off-board expansion connector:

Family Board Device I2C Buffer Enable Connector
Newport GW610x TWSI1 /dev/i2c-1 N/A J10 (dedicated SDA/GND/SCL) 3.3V TTL
GW620x TWSI1 /dev/i2c-1 N/A J11 (dedicated SDA/GND/SCL) 3.3V TTL (build option for 5V TTL)
GW630x TWSI1 /dev/i2c-1 N/A J14 (dedicated SDA/GND/SCL) 3.3V TTL (build option for 5V TTL)
GW640x TWSI1 /dev/i2c-1 N/A J14 (dedicated SDA/GND/SCL) 3.3V TTL (build option for 5V TTL)
Ventana GW54xx-B+ I2C3 /dev/i2c-2 gpio101 J16 (shared with DIO0/DIO1) 1
GW53xx-B+ I2C3 /dev/i2c-2 gpio101 J4 (shared with DIO0/DIO1) 1
GW52xx-C+ I2C3 /dev/i2c-2 N/A J4 (shared with DIO0/DIO1) 1 2
GW551x I2C3 /dev/i2c-2 N/A J3 (dedicated SDA/SCL/GND)
  1. Ventana off-board I2C shares pins with MX6_DIO0 / MX6_DIO1 which need to be configured as inputs to use I2C
  2. requires resistor loading option

Please consult the ​Hardware Manuals for pinouts

See also:

USB I2C Host Controllers

A I2C master can also be added via USB expansion. For example:

Linux Kernel API

See linux/i2c