TS-7180 TWI: Difference between revisions

From embeddedTS Manuals
(Created page with "== TWI == {{:TS-7180 TWI}}")
 
No edit summary
Line 1: Line 1:
== TWI ==
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-4100.
{{:TS-7180 TWI}}
 
I2C 1 is internal to the TS-4100 and connects to the onboard Silabs supervisory microcontroller at 100khz; and to the onboard [http://www.st.com/content/st_com/en/products/clocks-and-timers/real-time-clock-rtc-ics/rtc-serial-interface/m41t00s.html MT41T00S] real-time clock (RTC).
{| class=wikitable
|+ /dev/i2c-0
|-
! Address
! Device
|-
| 0x10
| [[#Silabs]]
|-
| 0x68
| [[#TS7180_RTC | #RTC]]
|}
 
The second I2C bus is connected to the onboard FPGA.  This bus also runs at 400khz by default.
{| class=wikitable
|+ /dev/i2c-2
|-
! Address
! Device
|-
| 0x28-0x2f
| [[#FPGA]]
|}
 
{{Note|It is also possible to request the kernel to bitbang additional I2C buses as needed.  See an example [https://github.com/embeddedarm/linux-3.10.17-imx6/blob/619e6bf97479243e9d7b7f6b34ce0ae8558ff1fd/arch/arm/boot/dts/imx6qdl-ts4900-2.dtsi#L196 here].}}
 
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].

Revision as of 13:10, 3 March 2017

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-4100.

I2C 1 is internal to the TS-4100 and connects to the onboard Silabs supervisory microcontroller at 100khz; and to the onboard MT41T00S real-time clock (RTC).

/dev/i2c-0
Address Device
0x10 #Silabs
0x68 #RTC

The second I2C bus is connected to the onboard FPGA. This bus also runs at 400khz by default.

/dev/i2c-2
Address Device
0x28-0x2f #FPGA
Note: It is also possible to request the kernel to bitbang additional I2C buses as needed. See an example here.

The kernel makes the I2C available at /dev/i2c-#. You can use the i2c-tools (i2cdetect, i2cget, i2cset), or you can write your own client.