162306a36Sopenharmony_ci==========================
262306a36Sopenharmony_ciKernel driver i2c-taos-evm
362306a36Sopenharmony_ci==========================
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciAuthor: Jean Delvare <jdelvare@suse.de>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciThis is a driver for the evaluation modules for TAOS I2C/SMBus chips.
862306a36Sopenharmony_ciThe modules include an SMBus master with limited capabilities, which can
962306a36Sopenharmony_cibe controlled over the serial port. Virtually all evaluation modules
1062306a36Sopenharmony_ciare supported, but a few lines of code need to be added for each new
1162306a36Sopenharmony_cimodule to instantiate the right I2C chip on the bus. Obviously, a driver
1262306a36Sopenharmony_cifor the chip in question is also needed.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciCurrently supported devices are:
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci* TAOS TSL2550 EVM
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciFor additional information on TAOS products, please see
1962306a36Sopenharmony_ci  http://www.taosinc.com/
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciUsing this driver
2362306a36Sopenharmony_ci-----------------
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciIn order to use this driver, you'll need the serport driver, and the
2662306a36Sopenharmony_ciinputattach tool, which is part of the input-utils package. The following
2762306a36Sopenharmony_cicommands will tell the kernel that you have a TAOS EVM on the first
2862306a36Sopenharmony_ciserial port::
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  # modprobe serport
3162306a36Sopenharmony_ci  # inputattach --taos-evm /dev/ttyS0
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciTechnical details
3562306a36Sopenharmony_ci-----------------
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciOnly 4 SMBus transaction types are supported by the TAOS evaluation
3862306a36Sopenharmony_cimodules:
3962306a36Sopenharmony_ci* Receive Byte
4062306a36Sopenharmony_ci* Send Byte
4162306a36Sopenharmony_ci* Read Byte
4262306a36Sopenharmony_ci* Write Byte
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciThe communication protocol is text-based and pretty simple. It is
4562306a36Sopenharmony_cidescribed in a PDF document on the CD which comes with the evaluation
4662306a36Sopenharmony_cimodule. The communication is rather slow, because the serial port has
4762306a36Sopenharmony_cito operate at 1200 bps. However, I don't think this is a big concern in
4862306a36Sopenharmony_cipractice, as these modules are meant for evaluation and testing only.
49