1Kernel driver pca9539 2===================== 3 4NOTE: this driver is deprecated and will be dropped soon, use 5drivers/gpio/pca9539.c instead. 6 7Supported chips: 8 * Philips PCA9539 9 Prefix: 'pca9539' 10 Addresses scanned: none 11 Datasheet: 12 http://www.semiconductors.philips.com/acrobat/datasheets/PCA9539_2.pdf 13 14Author: Ben Gardner <bgardner@wabtec.com> 15 16 17Description 18----------- 19 20The Philips PCA9539 is a 16 bit low power I/O device. 21All 16 lines can be individually configured as an input or output. 22The input sense can also be inverted. 23The 16 lines are split between two bytes. 24 25 26Detection 27--------- 28 29The PCA9539 is difficult to detect and not commonly found in PC machines, 30so you have to pass the I2C bus and address of the installed PCA9539 31devices explicitly to the driver at load time via the force=... parameter. 32 33 34Sysfs entries 35------------- 36 37Each is a byte that maps to the 8 I/O bits. 38A '0' suffix is for bits 0-7, while '1' is for bits 8-15. 39 40input[01] - read the current value 41output[01] - sets the output value 42direction[01] - direction of each bit: 1=input, 0=output 43invert[01] - toggle the input bit sense 44 45input reads the actual state of the line and is always available. 46The direction defaults to input for all channels. 47 48 49General Remarks 50--------------- 51 52Note that each output, direction, and invert entry controls 8 lines. 53You should use the read, modify, write sequence. 54For example. to set output bit 0 of 1. 55 val=$(cat output0) 56 val=$(( $val | 1 )) 57 echo $val > output0 58 59