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