Skip to content

Commit

Permalink
i2c: New bus driver for the TAOS evaluation modules
Browse files Browse the repository at this point in the history
This is a new I2C bus driver for the TAOS evaluation modules. Developped
and tested on the TAOS TSL2550 EVM.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed Jul 12, 2007
1 parent 7edcb9a commit b9cdad7
Show file tree
Hide file tree
Showing 5 changed files with 394 additions and 0 deletions.
46 changes: 46 additions & 0 deletions Documentation/i2c/busses/i2c-taos-evm
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
Kernel driver i2c-taos-evm

Author: Jean Delvare <khali@linux-fr.org>

This is a driver for the evaluation modules for TAOS I2C/SMBus chips.
The modules include an SMBus master with limited capabilities, which can
be controlled over the serial port. Virtually all evaluation modules
are supported, but a few lines of code need to be added for each new
module to instantiate the right I2C chip on the bus. Obviously, a driver
for the chip in question is also needed.

Currently supported devices are:

* TAOS TSL2550 EVM

For addtional information on TAOS products, please see
http://www.taosinc.com/


Using this driver
-----------------

In order to use this driver, you'll need the serport driver, and the
inputattach tool, which is part of the input-utils package. The following
commands will tell the kernel that you have a TAOS EVM on the first
serial port:

# modprobe serport
# inputattach --taos-evm /dev/ttyS0


Technical details
-----------------

Only 4 SMBus transaction types are supported by the TAOS evaluation
modules:
* Receive Byte
* Send Byte
* Read Byte
* Write Byte

The communication protocol is text-based and pretty simple. It is
described in a PDF document on the CD which comes with the evaluation
module. The communication is rather slow, because the serial port has
to operate at 1200 bps. However, I don't think this is a big concern in
practice, as these modules are meant for evaluation and testing only.
16 changes: 16 additions & 0 deletions drivers/i2c/busses/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,22 @@ config I2C_SIS96X
This driver can also be built as a module. If so, the module
will be called i2c-sis96x.

config I2C_TAOS_EVM
tristate "TAOS evaluation module"
depends on EXPERIMENTAL
select SERIO
select SERIO_SERPORT
default n
help
This supports TAOS evaluation modules on serial port. In order to
use this driver, you will need the inputattach tool, which is part
of the input-utils package.

If unsure, say N.

This support is also available as a module. If so, the module
will be called i2c-taos-evm.

config I2C_STUB
tristate "I2C/SMBus Test Stub"
depends on EXPERIMENTAL && m
Expand Down
1 change: 1 addition & 0 deletions drivers/i2c/busses/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ obj-$(CONFIG_I2C_SIS5595) += i2c-sis5595.o
obj-$(CONFIG_I2C_SIS630) += i2c-sis630.o
obj-$(CONFIG_I2C_SIS96X) += i2c-sis96x.o
obj-$(CONFIG_I2C_STUB) += i2c-stub.o
obj-$(CONFIG_I2C_TAOS_EVM) += i2c-taos-evm.o
obj-$(CONFIG_I2C_TINY_USB) += i2c-tiny-usb.o
obj-$(CONFIG_I2C_VERSATILE) += i2c-versatile.o
obj-$(CONFIG_I2C_ACORN) += i2c-acorn.o
Expand Down
Loading

0 comments on commit b9cdad7

Please sign in to comment.