diff options
author | R.Marek@sh.cvut.cz <R.Marek@sh.cvut.cz> | 2005-05-26 08:42:19 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-06-22 00:52:02 -0400 |
commit | 7f15b66468b7003d5241e352a007e73be5519b20 (patch) | |
tree | c9333e14baae06a831c8515d9e1e24808826053e /Documentation/i2c/chips/pcf8574 | |
parent | 2bf34a1ca9d570dd4fab4d95c4de82d873ecf718 (diff) |
[PATCH] I2C: documentation update 2/3
This patch adds missing documentation for system health monitoring chips.
I would like to thank all people, who helped me with this project.
Signed-off-by: Rudolf Marek <r.marek@sh.cvut.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation/i2c/chips/pcf8574')
-rw-r--r-- | Documentation/i2c/chips/pcf8574 | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Documentation/i2c/chips/pcf8574 b/Documentation/i2c/chips/pcf8574 new file mode 100644 index 000000000000..2752c8ce3167 --- /dev/null +++ b/Documentation/i2c/chips/pcf8574 | |||
@@ -0,0 +1,69 @@ | |||
1 | Kernel driver pcf8574 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Philips PCF8574 | ||
6 | Prefix: 'pcf8574' | ||
7 | Addresses scanned: I2C 0x20 - 0x27 | ||
8 | Datasheet: Publicly available at the Philips Semiconductors website | ||
9 | http://www.semiconductors.philips.com/pip/PCF8574P.html | ||
10 | |||
11 | * Philips PCF8574A | ||
12 | Prefix: 'pcf8574a' | ||
13 | Addresses scanned: I2C 0x38 - 0x3f | ||
14 | Datasheet: Publicly available at the Philips Semiconductors website | ||
15 | http://www.semiconductors.philips.com/pip/PCF8574P.html | ||
16 | |||
17 | Authors: | ||
18 | Frodo Looijaard <frodol@dds.nl>, | ||
19 | Philip Edelbrock <phil@netroedge.com>, | ||
20 | Dan Eaton <dan.eaton@rocketlogix.com>, | ||
21 | Aurelien Jarno <aurelien@aurel32.net>, | ||
22 | Jean Delvare <khali@linux-fr.org>, | ||
23 | |||
24 | |||
25 | Description | ||
26 | ----------- | ||
27 | The PCF8574(A) is an 8-bit I/O expander for the I2C bus produced by Philips | ||
28 | Semiconductors. It is designed to provide a byte I2C interface to up to 16 | ||
29 | separate devices (8 x PCF8574 and 8 x PCF8574A). | ||
30 | |||
31 | This device consists of a quasi-bidirectional port. Each of the eight I/Os | ||
32 | can be independently used as an input or output. To setup an I/O as an | ||
33 | input, you have to write a 1 to the corresponding output. | ||
34 | |||
35 | For more informations see the datasheet. | ||
36 | |||
37 | |||
38 | Accessing PCF8574(A) via /sys interface | ||
39 | ------------------------------------- | ||
40 | |||
41 | ! Be careful ! | ||
42 | The PCF8574(A) is plainly impossible to detect ! Stupid chip. | ||
43 | So every chip with address in the interval [20..27] and [38..3f] are | ||
44 | detected as PCF8574(A). If you have other chips in this address | ||
45 | range, the workaround is to load this module after the one | ||
46 | for your others chips. | ||
47 | |||
48 | On detection (i.e. insmod, modprobe et al.), directories are being | ||
49 | created for each detected PCF8574(A): | ||
50 | |||
51 | /sys/bus/i2c/devices/<0>-<1>/ | ||
52 | where <0> is the bus the chip was detected on (e. g. i2c-0) | ||
53 | and <1> the chip address ([20..27] or [38..3f]): | ||
54 | |||
55 | (example: /sys/bus/i2c/devices/1-0020/) | ||
56 | |||
57 | Inside these directories, there are two files each: | ||
58 | read and write (and one file with chip name). | ||
59 | |||
60 | The read file is read-only. Reading gives you the current I/O input | ||
61 | if the corresponding output is set as 1, otherwise the current output | ||
62 | value, that is to say 0. | ||
63 | |||
64 | The write file is read/write. Writing a value outputs it on the I/O | ||
65 | port. Reading returns the last written value. | ||
66 | |||
67 | On module initialization the chip is configured as eight inputs (all | ||
68 | outputs to 1), so you can connect any circuit to the PCF8574(A) without | ||
69 | being afraid of short-circuit. | ||