1About the PCF8575 chip and the pcf8575 kernel driver 2==================================================== 3 4The PCF8575 chip is produced by the following manufacturers: 5 6 * Philips NXP 7 http://www.nxp.com/#/pip/cb=[type=product,path=50807/41735/41850,final=PCF8575_3]|pip=[pip=PCF8575_3][0] 8 9 * Texas Instruments 10 http://focus.ti.com/docs/prod/folders/print/pcf8575.html 11 12 13Some vendors sell small PCB's with the PCF8575 mounted on it. You can connect 14such a board to a Linux host via e.g. an USB to I2C interface. Examples of 15PCB boards with a PCF8575: 16 17 * SFE Breakout Board for PCF8575 I2C Expander by RobotShop 18 http://www.robotshop.ca/home/products/robot-parts/electronics/adapters-converters/sfe-pcf8575-i2c-expander-board.html 19 20 * Breakout Board for PCF8575 I2C Expander by Spark Fun Electronics 21 http://www.sparkfun.com/commerce/product_info.php?products_id=8130 22 23 24Description 25----------- 26The PCF8575 chip is a 16-bit I/O expander for the I2C bus. Up to eight of 27these chips can be connected to the same I2C bus. You can find this 28chip on some custom designed hardware, but you won't find it on PC 29motherboards. 30 31The PCF8575 chip consists of a 16-bit quasi-bidirectional port and an I2C-bus 32interface. Each of the sixteen I/O's can be independently used as an input or 33an output. To set up an I/O pin as an input, you have to write a 1 to the 34corresponding output. 35 36For more information please see the datasheet. 37 38 39Detection 40--------- 41 42There is no method known to detect whether a chip on a given I2C address is 43a PCF8575 or whether it is any other I2C device, so you have to pass the I2C 44bus and address of the installed PCF8575 devices explicitly to the driver at 45load time via the force=... parameter. 46 47/sys interface 48-------------- 49 50For each address on which a PCF8575 chip was found or forced the following 51files will be created under /sys: 52* /sys/bus/i2c/devices/<bus>-<address>/read 53* /sys/bus/i2c/devices/<bus>-<address>/write 54where bus is the I2C bus number (0, 1, ...) and address is the four-digit 55hexadecimal representation of the 7-bit I2C address of the PCF8575 56(0020 .. 0027). 57 58The read file is read-only. Reading it will trigger an I2C read and will hence 59report the current input state for the pins configured as inputs, and the 60current output value for the pins configured as outputs. 61 62The write file is read-write. Writing a value to it will configure all pins 63as output for which the corresponding bit is zero. Reading the write file will 64return the value last written, or -EAGAIN if no value has yet been written to 65the write file. 66 67On module initialization the configuration of the chip is not changed -- the 68chip is left in the state it was already configured in through either power-up 69or through previous I2C write actions. 70