TS-TPC-7990 TWI: Difference between revisions

From embeddedTS Manuals
No edit summary
m (Links auto-updated for 2022 re-branding ( https://github.com/embeddedarm/linux-3.10.17-imx6/blob/619e6bf97479243e9d7b7f6b34ce0ae8558ff1fd/Documentation/i2c/dev-interface →‎ https://github.com/embeddedTS/linux-3.10.17-imx6/blob/619e6bf97479243e9d7b7f6b34ce0ae8558ff1fd/Documentation/i2c/dev-interface))
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The i.MX6 supports standard I2C at 100khz, or using fast mode for 400khz operation.  The CPU has 2 I2C buses used on the TS-7990.   
The i.MX6 CPU implements a standard I2C interface at 100khz that is compatible with fast mode for 400khz operation.  The CPU has 2 I2C buses used on the TS-7990.   


I2C 0 is used for many onboard peripherals only, but I2C 1 is unused and brought out to the [[#DIO_Header|DIO header pins 1/3]].
I2C 0 is used for many onboard peripherals only, but I2C 1 is unused and brought out to the [[#DIO_Header|DIO header]] pins 1 (DAT) and 3 (CLK).


{| class=wikitable
{| class=wikitable
Line 9: Line 9:
! Device
! Device
|-
|-
| 0x0a
| 0x0A
| [[#Audio|SGTL5000 audio codec]]
| [[#Audio|SGTL5000 audio codec]]
|-
|-
| 0x1c
| 0x1C
| [[#Accelerometer]]
| [[#Accelerometer|Accelerometer]]
|-
|-
| 0x28-0x2f
| 0x28-0x2F
| [[#FPGA]]
| [[#FPGA|FPGA]]
|-
|-
| 0x5c <ref>LXD option only</ref>
| 0x4A
| [[#Silabs|Supervisory Microcontroller]]
|-
| 0x5C <ref>LXD option only</ref>
| Capacitive Touch Controller
| Capacitive Touch Controller
|-
|-
| 0x68
| 0x68
| [[#RTC]]
| [[#RTC|RTC]]
|-
| 0x6b
| [[#Silabs]]
|}
|}


<References />
<References />


The kernel makes the I2C available at /dev/i2c-#You can use the i2c-tools (i2cdetect, i2cget, i2cset), or you can [https://github.com/embeddedarm/linux-3.10.17-imx6/blob/619e6bf97479243e9d7b7f6b34ce0ae8558ff1fd/Documentation/i2c/dev-interface write your own client].
The kernel I2C device node is available at /dev/i2c-<bus number>The i2c-tools (i2cdetect, i2cget, i2cset) suite can be used to manipulate the bus. It is also possible to create a custom application using the [https://github.com/embeddedTS/linux-3.10.17-imx6/blob/619e6bf97479243e9d7b7f6b34ce0ae8558ff1fd/Documentation/i2c/dev-interface I2C device interface API].

Latest revision as of 17:45, 17 January 2022

The i.MX6 CPU implements a standard I2C interface at 100khz that is compatible with fast mode for 400khz operation. The CPU has 2 I2C buses used on the TS-7990.

I2C 0 is used for many onboard peripherals only, but I2C 1 is unused and brought out to the DIO header pins 1 (DAT) and 3 (CLK).

/dev/i2c-0
Address Device
0x0A SGTL5000 audio codec
0x1C Accelerometer
0x28-0x2F FPGA
0x4A Supervisory Microcontroller
0x5C [1] Capacitive Touch Controller
0x68 RTC
  1. LXD option only

The kernel I2C device node is available at /dev/i2c-<bus number>. The i2c-tools (i2cdetect, i2cget, i2cset) suite can be used to manipulate the bus. It is also possible to create a custom application using the I2C device interface API.