Commit b72540c30c9c8c2c3f17cae29962cfb50fbe166a
Committed by
Linus Torvalds
1 parent
9e60fdcf0c
Exists in
master
and in
7 other branches
deprecate obsolete pca9539 driver
Use drivers/gpio/pca9539.c instead. Signed-off-by: eric miao <eric.miao@marvell.com> Acked-by: Ben Gardner <bgardner@wabtec.com> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Philipp Zabel <philipp.zabel@gmail.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 2 changed files with 8 additions and 2 deletions Inline Diff
Documentation/i2c/chips/pca9539
1 | Kernel driver pca9539 | 1 | Kernel driver pca9539 |
2 | ===================== | 2 | ===================== |
3 | 3 | ||
4 | NOTE: this driver is deprecated and will be dropped soon, use | ||
5 | drivers/gpio/pca9539.c instead. | ||
6 | |||
4 | Supported chips: | 7 | Supported chips: |
5 | * Philips PCA9539 | 8 | * Philips PCA9539 |
6 | Prefix: 'pca9539' | 9 | Prefix: 'pca9539' |
7 | Addresses scanned: 0x74 - 0x77 | 10 | Addresses scanned: 0x74 - 0x77 |
8 | Datasheet: | 11 | Datasheet: |
9 | http://www.semiconductors.philips.com/acrobat/datasheets/PCA9539_2.pdf | 12 | http://www.semiconductors.philips.com/acrobat/datasheets/PCA9539_2.pdf |
10 | 13 | ||
11 | Author: Ben Gardner <bgardner@wabtec.com> | 14 | Author: Ben Gardner <bgardner@wabtec.com> |
12 | 15 | ||
13 | 16 | ||
14 | Description | 17 | Description |
15 | ----------- | 18 | ----------- |
16 | 19 | ||
17 | The Philips PCA9539 is a 16 bit low power I/O device. | 20 | The Philips PCA9539 is a 16 bit low power I/O device. |
18 | All 16 lines can be individually configured as an input or output. | 21 | All 16 lines can be individually configured as an input or output. |
19 | The input sense can also be inverted. | 22 | The input sense can also be inverted. |
20 | The 16 lines are split between two bytes. | 23 | The 16 lines are split between two bytes. |
21 | 24 | ||
22 | 25 | ||
23 | Sysfs entries | 26 | Sysfs entries |
24 | ------------- | 27 | ------------- |
25 | 28 | ||
26 | Each is a byte that maps to the 8 I/O bits. | 29 | Each is a byte that maps to the 8 I/O bits. |
27 | A '0' suffix is for bits 0-7, while '1' is for bits 8-15. | 30 | A '0' suffix is for bits 0-7, while '1' is for bits 8-15. |
28 | 31 | ||
29 | input[01] - read the current value | 32 | input[01] - read the current value |
30 | output[01] - sets the output value | 33 | output[01] - sets the output value |
31 | direction[01] - direction of each bit: 1=input, 0=output | 34 | direction[01] - direction of each bit: 1=input, 0=output |
32 | invert[01] - toggle the input bit sense | 35 | invert[01] - toggle the input bit sense |
33 | 36 | ||
34 | input reads the actual state of the line and is always available. | 37 | input reads the actual state of the line and is always available. |
35 | The direction defaults to input for all channels. | 38 | The direction defaults to input for all channels. |
36 | 39 | ||
37 | 40 | ||
38 | General Remarks | 41 | General Remarks |
39 | --------------- | 42 | --------------- |
40 | 43 | ||
41 | Note that each output, direction, and invert entry controls 8 lines. | 44 | Note that each output, direction, and invert entry controls 8 lines. |
42 | You should use the read, modify, write sequence. | 45 | You should use the read, modify, write sequence. |
43 | For example. to set output bit 0 of 1. | 46 | For example. to set output bit 0 of 1. |
44 | val=$(cat output0) | 47 | val=$(cat output0) |
45 | val=$(( $val | 1 )) | 48 | val=$(( $val | 1 )) |
46 | echo $val > output0 | 49 | echo $val > output0 |
47 | 50 | ||
48 | 51 |
drivers/i2c/chips/Kconfig
1 | # | 1 | # |
2 | # Miscellaneous I2C chip drivers configuration | 2 | # Miscellaneous I2C chip drivers configuration |
3 | # | 3 | # |
4 | 4 | ||
5 | menu "Miscellaneous I2C Chip support" | 5 | menu "Miscellaneous I2C Chip support" |
6 | 6 | ||
7 | config DS1682 | 7 | config DS1682 |
8 | tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm" | 8 | tristate "Dallas DS1682 Total Elapsed Time Recorder with Alarm" |
9 | depends on EXPERIMENTAL | 9 | depends on EXPERIMENTAL |
10 | help | 10 | help |
11 | If you say yes here you get support for Dallas Semiconductor | 11 | If you say yes here you get support for Dallas Semiconductor |
12 | DS1682 Total Elapsed Time Recorder. | 12 | DS1682 Total Elapsed Time Recorder. |
13 | 13 | ||
14 | This driver can also be built as a module. If so, the module | 14 | This driver can also be built as a module. If so, the module |
15 | will be called ds1682. | 15 | will be called ds1682. |
16 | 16 | ||
17 | config SENSORS_EEPROM | 17 | config SENSORS_EEPROM |
18 | tristate "EEPROM reader" | 18 | tristate "EEPROM reader" |
19 | depends on EXPERIMENTAL | 19 | depends on EXPERIMENTAL |
20 | help | 20 | help |
21 | If you say yes here you get read-only access to the EEPROM data | 21 | If you say yes here you get read-only access to the EEPROM data |
22 | available on modern memory DIMMs and Sony Vaio laptops. Such | 22 | available on modern memory DIMMs and Sony Vaio laptops. Such |
23 | EEPROMs could theoretically be available on other devices as well. | 23 | EEPROMs could theoretically be available on other devices as well. |
24 | 24 | ||
25 | This driver can also be built as a module. If so, the module | 25 | This driver can also be built as a module. If so, the module |
26 | will be called eeprom. | 26 | will be called eeprom. |
27 | 27 | ||
28 | config SENSORS_PCF8574 | 28 | config SENSORS_PCF8574 |
29 | tristate "Philips PCF8574 and PCF8574A" | 29 | tristate "Philips PCF8574 and PCF8574A" |
30 | depends on EXPERIMENTAL | 30 | depends on EXPERIMENTAL |
31 | default n | 31 | default n |
32 | help | 32 | help |
33 | If you say yes here you get support for Philips PCF8574 and | 33 | If you say yes here you get support for Philips PCF8574 and |
34 | PCF8574A chips. These chips are 8-bit I/O expanders for the I2C bus. | 34 | PCF8574A chips. These chips are 8-bit I/O expanders for the I2C bus. |
35 | 35 | ||
36 | This driver can also be built as a module. If so, the module | 36 | This driver can also be built as a module. If so, the module |
37 | will be called pcf8574. | 37 | will be called pcf8574. |
38 | 38 | ||
39 | These devices are hard to detect and rarely found on mainstream | 39 | These devices are hard to detect and rarely found on mainstream |
40 | hardware. If unsure, say N. | 40 | hardware. If unsure, say N. |
41 | 41 | ||
42 | config PCF8575 | 42 | config PCF8575 |
43 | tristate "Philips PCF8575" | 43 | tristate "Philips PCF8575" |
44 | default n | 44 | default n |
45 | help | 45 | help |
46 | If you say yes here you get support for Philips PCF8575 chip. | 46 | If you say yes here you get support for Philips PCF8575 chip. |
47 | This chip is a 16-bit I/O expander for the I2C bus. Several other | 47 | This chip is a 16-bit I/O expander for the I2C bus. Several other |
48 | chip manufacturers sell equivalent chips, e.g. Texas Instruments. | 48 | chip manufacturers sell equivalent chips, e.g. Texas Instruments. |
49 | 49 | ||
50 | This driver can also be built as a module. If so, the module | 50 | This driver can also be built as a module. If so, the module |
51 | will be called pcf8575. | 51 | will be called pcf8575. |
52 | 52 | ||
53 | This device is hard to detect and is rarely found on mainstream | 53 | This device is hard to detect and is rarely found on mainstream |
54 | hardware. If unsure, say N. | 54 | hardware. If unsure, say N. |
55 | 55 | ||
56 | config SENSORS_PCA9539 | 56 | config SENSORS_PCA9539 |
57 | tristate "Philips PCA9539 16-bit I/O port" | 57 | tristate "Philips PCA9539 16-bit I/O port (DEPRECATED)" |
58 | depends on EXPERIMENTAL | 58 | depends on EXPERIMENTAL && GPIO_PCA9539 = "n" |
59 | help | 59 | help |
60 | If you say yes here you get support for the Philips PCA9539 | 60 | If you say yes here you get support for the Philips PCA9539 |
61 | 16-bit I/O port. | 61 | 16-bit I/O port. |
62 | 62 | ||
63 | This driver can also be built as a module. If so, the module | 63 | This driver can also be built as a module. If so, the module |
64 | will be called pca9539. | 64 | will be called pca9539. |
65 | |||
66 | This driver is deprecated and will be dropped soon. Use | ||
67 | drivers/gpio/pca9539.c instead. | ||
65 | 68 | ||
66 | config SENSORS_PCF8591 | 69 | config SENSORS_PCF8591 |
67 | tristate "Philips PCF8591" | 70 | tristate "Philips PCF8591" |
68 | depends on EXPERIMENTAL | 71 | depends on EXPERIMENTAL |
69 | default n | 72 | default n |
70 | help | 73 | help |
71 | If you say yes here you get support for Philips PCF8591 chips. | 74 | If you say yes here you get support for Philips PCF8591 chips. |
72 | 75 | ||
73 | This driver can also be built as a module. If so, the module | 76 | This driver can also be built as a module. If so, the module |
74 | will be called pcf8591. | 77 | will be called pcf8591. |
75 | 78 | ||
76 | These devices are hard to detect and rarely found on mainstream | 79 | These devices are hard to detect and rarely found on mainstream |
77 | hardware. If unsure, say N. | 80 | hardware. If unsure, say N. |
78 | 81 | ||
79 | config ISP1301_OMAP | 82 | config ISP1301_OMAP |
80 | tristate "Philips ISP1301 with OMAP OTG" | 83 | tristate "Philips ISP1301 with OMAP OTG" |
81 | depends on ARCH_OMAP_OTG | 84 | depends on ARCH_OMAP_OTG |
82 | help | 85 | help |
83 | If you say yes here you get support for the Philips ISP1301 | 86 | If you say yes here you get support for the Philips ISP1301 |
84 | USB-On-The-Go transceiver working with the OMAP OTG controller. | 87 | USB-On-The-Go transceiver working with the OMAP OTG controller. |
85 | The ISP1301 is used in products including H2 and H3 development | 88 | The ISP1301 is used in products including H2 and H3 development |
86 | boards for Texas Instruments OMAP processors. | 89 | boards for Texas Instruments OMAP processors. |
87 | 90 | ||
88 | This driver can also be built as a module. If so, the module | 91 | This driver can also be built as a module. If so, the module |
89 | will be called isp1301_omap. | 92 | will be called isp1301_omap. |
90 | 93 | ||
91 | config TPS65010 | 94 | config TPS65010 |
92 | tristate "TPS6501x Power Management chips" | 95 | tristate "TPS6501x Power Management chips" |
93 | default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK | 96 | default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK |
94 | help | 97 | help |
95 | If you say yes here you get support for the TPS6501x series of | 98 | If you say yes here you get support for the TPS6501x series of |
96 | Power Management chips. These include voltage regulators, | 99 | Power Management chips. These include voltage regulators, |
97 | lithium ion/polymer battery charging, and other features that | 100 | lithium ion/polymer battery charging, and other features that |
98 | are often used in portable devices like cell phones and cameras. | 101 | are often used in portable devices like cell phones and cameras. |
99 | 102 | ||
100 | This driver can also be built as a module. If so, the module | 103 | This driver can also be built as a module. If so, the module |
101 | will be called tps65010. | 104 | will be called tps65010. |
102 | 105 | ||
103 | config SENSORS_MAX6875 | 106 | config SENSORS_MAX6875 |
104 | tristate "Maxim MAX6875 Power supply supervisor" | 107 | tristate "Maxim MAX6875 Power supply supervisor" |
105 | depends on EXPERIMENTAL | 108 | depends on EXPERIMENTAL |
106 | help | 109 | help |
107 | If you say yes here you get support for the Maxim MAX6875 | 110 | If you say yes here you get support for the Maxim MAX6875 |
108 | EEPROM-programmable, quad power-supply sequencer/supervisor. | 111 | EEPROM-programmable, quad power-supply sequencer/supervisor. |
109 | 112 | ||
110 | This provides an interface to program the EEPROM and reset the chip. | 113 | This provides an interface to program the EEPROM and reset the chip. |
111 | 114 | ||
112 | This driver also supports the Maxim MAX6874 hex power-supply | 115 | This driver also supports the Maxim MAX6874 hex power-supply |
113 | sequencer/supervisor if found at a compatible address. | 116 | sequencer/supervisor if found at a compatible address. |
114 | 117 | ||
115 | This driver can also be built as a module. If so, the module | 118 | This driver can also be built as a module. If so, the module |
116 | will be called max6875. | 119 | will be called max6875. |
117 | 120 | ||
118 | config SENSORS_TSL2550 | 121 | config SENSORS_TSL2550 |
119 | tristate "Taos TSL2550 ambient light sensor" | 122 | tristate "Taos TSL2550 ambient light sensor" |
120 | depends on EXPERIMENTAL | 123 | depends on EXPERIMENTAL |
121 | help | 124 | help |
122 | If you say yes here you get support for the Taos TSL2550 | 125 | If you say yes here you get support for the Taos TSL2550 |
123 | ambient light sensor. | 126 | ambient light sensor. |
124 | 127 | ||
125 | This driver can also be built as a module. If so, the module | 128 | This driver can also be built as a module. If so, the module |
126 | will be called tsl2550. | 129 | will be called tsl2550. |
127 | 130 | ||
128 | config MENELAUS | 131 | config MENELAUS |
129 | bool "TWL92330/Menelaus PM chip" | 132 | bool "TWL92330/Menelaus PM chip" |
130 | depends on I2C=y && ARCH_OMAP24XX | 133 | depends on I2C=y && ARCH_OMAP24XX |
131 | help | 134 | help |
132 | If you say yes here you get support for the Texas Instruments | 135 | If you say yes here you get support for the Texas Instruments |
133 | TWL92330/Menelaus Power Management chip. This include voltage | 136 | TWL92330/Menelaus Power Management chip. This include voltage |
134 | regulators, Dual slot memory card tranceivers, real-time clock | 137 | regulators, Dual slot memory card tranceivers, real-time clock |
135 | and other features that are often used in portable devices like | 138 | and other features that are often used in portable devices like |
136 | cell phones and PDAs. | 139 | cell phones and PDAs. |
137 | 140 | ||
138 | endmenu | 141 | endmenu |
139 | 142 |