I2C¶
Available I2C buses¶
List I2C available devices:
System class:
I2C devices per bus¶
Scan bus 0:
root@imx7-var-som:~# i2cdetect -y -r 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- UU -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Scan bus 1:
root@imx7-var-som:~# i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Scan bus 3:
root@imx7-var-som:~# i2cdetect -y -r 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- 54 55 -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Reading / Writing from an I2C device¶
Variscite includes I2CTools as a part of the default file system build, examples of optional commands:
i2cdump - dump the content of an I2C device
i2cset - write a single character to an I2C device
i2cget - read a single character to an I2C device.
In addition, following is the Linux kernel documentation, with a C code example, on accessing i2c devices from userspace: https://www.kernel.org/doc/Documentation/i2c/dev-interface
Variscite's system integrated I2C devices¶
Note: Don't manipulate Variscite's on-SOM EEPROM, or you will damage the SOM!
When the device is marked with "UU" it says a driver is using it.
Driver with numbers are available.
Variscite devices:
I2C-0 0x08 - PMIC
I2C-0 0x50 - EEPROM on SOM - Do not alter!
I2C-0 0x51 - EEPROM on SOM - Do not alter!
I2C-1 0x1A - Audio codec
I2C-1 0x3C - OV5640 camera
I2C-1 0x68 - RTC on carrier
I2C-3 0x38 - Focaltech touch
I2C-3 0x54 - EEPROM on carrier
I2C-3 0x55 - EEPROM on carrier
I2C-3 0x68 - PCIe clock generator