Commit 592758b12f2e327bb5902dabd3d36b2e86049871
Committed by
Guenter Roeck
1 parent
8b662f38e0
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
hwmon: (mcp3021) Add MCP3221 support
This Patch adds support for mcp3221 chip to the mcp3021 driver. Signed-off-by: Sven Schuchmann <schuchmann@schleissheimer.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Showing 3 changed files with 37 additions and 14 deletions Inline Diff
Documentation/hwmon/mcp3021
1 | Kernel driver MCP3021 | 1 | Kernel driver MCP3021 |
2 | ====================== | 2 | ====================== |
3 | 3 | ||
4 | Supported chips: | 4 | Supported chips: |
5 | * Microchip Technology MCP3021 | 5 | * Microchip Technology MCP3021 |
6 | Prefix: 'mcp3021' | 6 | Prefix: 'mcp3021' |
7 | Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21805a.pdf | 7 | Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21805a.pdf |
8 | * Microchip Technology MCP3221 | ||
9 | Prefix: 'mcp3221' | ||
10 | Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21732c.pdf | ||
8 | 11 | ||
9 | Author: Mingkai Hu | 12 | Authors: |
13 | Mingkai Hu | ||
14 | Sven Schuchmann <schuchmann@schleissheimer.de> | ||
10 | 15 | ||
11 | Description | 16 | Description |
12 | ----------- | 17 | ----------- |
13 | 18 | ||
14 | This driver implements support for the Microchip Technology MCP3021 chip. | 19 | This driver implements support for the Microchip Technology MCP3021 and |
20 | MCP3221 chip. | ||
15 | 21 | ||
16 | The Microchip Technology Inc. MCP3021 is a successive approximation A/D | 22 | The Microchip Technology Inc. MCP3021 is a successive approximation A/D |
17 | converter (ADC) with 10-bit resolution. | 23 | converter (ADC) with 10-bit resolution. The MCP3221 has 12-bit resolution. |
18 | This device provides one single-ended input with very low power consumption. | 24 | |
19 | Communication to the MCP3021 is performed using a 2-wire I2C compatible | 25 | These devices provide one single-ended input with very low power consumption. |
20 | interface. Standard (100 kHz) and Fast (400 kHz) I2C modes are available. | 26 | Communication to the MCP3021/MCP3221 is performed using a 2-wire I2C |
21 | The default I2C device address is 0x4d (contact the Microchip factory for | 27 | compatible interface. Standard (100 kHz) and Fast (400 kHz) I2C modes are |
22 | additional address options). | 28 | available. The default I2C device address is 0x4d (contact the Microchip |
29 | factory for additional address options). | ||
23 | 30 |
drivers/hwmon/Kconfig
1 | # | 1 | # |
2 | # Hardware monitoring chip drivers configuration | 2 | # Hardware monitoring chip drivers configuration |
3 | # | 3 | # |
4 | 4 | ||
5 | menuconfig HWMON | 5 | menuconfig HWMON |
6 | tristate "Hardware Monitoring support" | 6 | tristate "Hardware Monitoring support" |
7 | depends on HAS_IOMEM | 7 | depends on HAS_IOMEM |
8 | default y | 8 | default y |
9 | help | 9 | help |
10 | Hardware monitoring devices let you monitor the hardware health | 10 | Hardware monitoring devices let you monitor the hardware health |
11 | of a system. Most modern motherboards include such a device. It | 11 | of a system. Most modern motherboards include such a device. It |
12 | can include temperature sensors, voltage sensors, fan speed | 12 | can include temperature sensors, voltage sensors, fan speed |
13 | sensors and various additional features such as the ability to | 13 | sensors and various additional features such as the ability to |
14 | control the speed of the fans. If you want this support you | 14 | control the speed of the fans. If you want this support you |
15 | should say Y here and also to the specific driver(s) for your | 15 | should say Y here and also to the specific driver(s) for your |
16 | sensors chip(s) below. | 16 | sensors chip(s) below. |
17 | 17 | ||
18 | To find out which specific driver(s) you need, use the | 18 | To find out which specific driver(s) you need, use the |
19 | sensors-detect script from the lm_sensors package. Read | 19 | sensors-detect script from the lm_sensors package. Read |
20 | <file:Documentation/hwmon/userspace-tools> for details. | 20 | <file:Documentation/hwmon/userspace-tools> for details. |
21 | 21 | ||
22 | This support can also be built as a module. If so, the module | 22 | This support can also be built as a module. If so, the module |
23 | will be called hwmon. | 23 | will be called hwmon. |
24 | 24 | ||
25 | if HWMON | 25 | if HWMON |
26 | 26 | ||
27 | config HWMON_VID | 27 | config HWMON_VID |
28 | tristate | 28 | tristate |
29 | default n | 29 | default n |
30 | 30 | ||
31 | config HWMON_DEBUG_CHIP | 31 | config HWMON_DEBUG_CHIP |
32 | bool "Hardware Monitoring Chip debugging messages" | 32 | bool "Hardware Monitoring Chip debugging messages" |
33 | default n | 33 | default n |
34 | help | 34 | help |
35 | Say Y here if you want the I2C chip drivers to produce a bunch of | 35 | Say Y here if you want the I2C chip drivers to produce a bunch of |
36 | debug messages to the system log. Select this if you are having | 36 | debug messages to the system log. Select this if you are having |
37 | a problem with I2C support and want to see more of what is going | 37 | a problem with I2C support and want to see more of what is going |
38 | on. | 38 | on. |
39 | 39 | ||
40 | comment "Native drivers" | 40 | comment "Native drivers" |
41 | 41 | ||
42 | config SENSORS_ABITUGURU | 42 | config SENSORS_ABITUGURU |
43 | tristate "Abit uGuru (rev 1 & 2)" | 43 | tristate "Abit uGuru (rev 1 & 2)" |
44 | depends on X86 && DMI | 44 | depends on X86 && DMI |
45 | help | 45 | help |
46 | If you say yes here you get support for the sensor part of the first | 46 | If you say yes here you get support for the sensor part of the first |
47 | and second revision of the Abit uGuru chip. The voltage and frequency | 47 | and second revision of the Abit uGuru chip. The voltage and frequency |
48 | control parts of the Abit uGuru are not supported. The Abit uGuru | 48 | control parts of the Abit uGuru are not supported. The Abit uGuru |
49 | chip can be found on Abit uGuru featuring motherboards (most modern | 49 | chip can be found on Abit uGuru featuring motherboards (most modern |
50 | Abit motherboards from before end 2005). For more info and a list | 50 | Abit motherboards from before end 2005). For more info and a list |
51 | of which motherboards have which revision see | 51 | of which motherboards have which revision see |
52 | Documentation/hwmon/abituguru | 52 | Documentation/hwmon/abituguru |
53 | 53 | ||
54 | This driver can also be built as a module. If so, the module | 54 | This driver can also be built as a module. If so, the module |
55 | will be called abituguru. | 55 | will be called abituguru. |
56 | 56 | ||
57 | config SENSORS_ABITUGURU3 | 57 | config SENSORS_ABITUGURU3 |
58 | tristate "Abit uGuru (rev 3)" | 58 | tristate "Abit uGuru (rev 3)" |
59 | depends on X86 && DMI | 59 | depends on X86 && DMI |
60 | help | 60 | help |
61 | If you say yes here you get support for the sensor part of the | 61 | If you say yes here you get support for the sensor part of the |
62 | third revision of the Abit uGuru chip. Only reading the sensors | 62 | third revision of the Abit uGuru chip. Only reading the sensors |
63 | and their settings is supported. The third revision of the Abit | 63 | and their settings is supported. The third revision of the Abit |
64 | uGuru chip can be found on recent Abit motherboards (since end | 64 | uGuru chip can be found on recent Abit motherboards (since end |
65 | 2005). For more info and a list of which motherboards have which | 65 | 2005). For more info and a list of which motherboards have which |
66 | revision see Documentation/hwmon/abituguru3 | 66 | revision see Documentation/hwmon/abituguru3 |
67 | 67 | ||
68 | This driver can also be built as a module. If so, the module | 68 | This driver can also be built as a module. If so, the module |
69 | will be called abituguru3. | 69 | will be called abituguru3. |
70 | 70 | ||
71 | config SENSORS_AD7314 | 71 | config SENSORS_AD7314 |
72 | tristate "Analog Devices AD7314 and compatibles" | 72 | tristate "Analog Devices AD7314 and compatibles" |
73 | depends on SPI | 73 | depends on SPI |
74 | help | 74 | help |
75 | If you say yes here you get support for the Analog Devices | 75 | If you say yes here you get support for the Analog Devices |
76 | AD7314, ADT7301 and ADT7302 temperature sensors. | 76 | AD7314, ADT7301 and ADT7302 temperature sensors. |
77 | 77 | ||
78 | This driver can also be built as a module. If so, the module | 78 | This driver can also be built as a module. If so, the module |
79 | will be called ad7314. | 79 | will be called ad7314. |
80 | 80 | ||
81 | config SENSORS_AD7414 | 81 | config SENSORS_AD7414 |
82 | tristate "Analog Devices AD7414" | 82 | tristate "Analog Devices AD7414" |
83 | depends on I2C | 83 | depends on I2C |
84 | help | 84 | help |
85 | If you say yes here you get support for the Analog Devices | 85 | If you say yes here you get support for the Analog Devices |
86 | AD7414 temperature monitoring chip. | 86 | AD7414 temperature monitoring chip. |
87 | 87 | ||
88 | This driver can also be built as a module. If so, the module | 88 | This driver can also be built as a module. If so, the module |
89 | will be called ad7414. | 89 | will be called ad7414. |
90 | 90 | ||
91 | config SENSORS_AD7418 | 91 | config SENSORS_AD7418 |
92 | tristate "Analog Devices AD7416, AD7417 and AD7418" | 92 | tristate "Analog Devices AD7416, AD7417 and AD7418" |
93 | depends on I2C | 93 | depends on I2C |
94 | help | 94 | help |
95 | If you say yes here you get support for the Analog Devices | 95 | If you say yes here you get support for the Analog Devices |
96 | AD7416, AD7417 and AD7418 temperature monitoring chips. | 96 | AD7416, AD7417 and AD7418 temperature monitoring chips. |
97 | 97 | ||
98 | This driver can also be built as a module. If so, the module | 98 | This driver can also be built as a module. If so, the module |
99 | will be called ad7418. | 99 | will be called ad7418. |
100 | 100 | ||
101 | config SENSORS_ADCXX | 101 | config SENSORS_ADCXX |
102 | tristate "National Semiconductor ADCxxxSxxx" | 102 | tristate "National Semiconductor ADCxxxSxxx" |
103 | depends on SPI_MASTER | 103 | depends on SPI_MASTER |
104 | help | 104 | help |
105 | If you say yes here you get support for the National Semiconductor | 105 | If you say yes here you get support for the National Semiconductor |
106 | ADC<bb><c>S<sss> chip family, where | 106 | ADC<bb><c>S<sss> chip family, where |
107 | * bb is the resolution in number of bits (8, 10, 12) | 107 | * bb is the resolution in number of bits (8, 10, 12) |
108 | * c is the number of channels (1, 2, 4, 8) | 108 | * c is the number of channels (1, 2, 4, 8) |
109 | * sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 | 109 | * sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 |
110 | kSPS and 101 for 1 MSPS) | 110 | kSPS and 101 for 1 MSPS) |
111 | 111 | ||
112 | Examples : ADC081S101, ADC124S501, ... | 112 | Examples : ADC081S101, ADC124S501, ... |
113 | 113 | ||
114 | This driver can also be built as a module. If so, the module | 114 | This driver can also be built as a module. If so, the module |
115 | will be called adcxx. | 115 | will be called adcxx. |
116 | 116 | ||
117 | config SENSORS_ADM1021 | 117 | config SENSORS_ADM1021 |
118 | tristate "Analog Devices ADM1021 and compatibles" | 118 | tristate "Analog Devices ADM1021 and compatibles" |
119 | depends on I2C | 119 | depends on I2C |
120 | help | 120 | help |
121 | If you say yes here you get support for Analog Devices ADM1021 | 121 | If you say yes here you get support for Analog Devices ADM1021 |
122 | and ADM1023 sensor chips and clones: Maxim MAX1617 and MAX1617A, | 122 | and ADM1023 sensor chips and clones: Maxim MAX1617 and MAX1617A, |
123 | Genesys Logic GL523SM, National Semiconductor LM84 and TI THMC10. | 123 | Genesys Logic GL523SM, National Semiconductor LM84 and TI THMC10. |
124 | 124 | ||
125 | This driver can also be built as a module. If so, the module | 125 | This driver can also be built as a module. If so, the module |
126 | will be called adm1021. | 126 | will be called adm1021. |
127 | 127 | ||
128 | config SENSORS_ADM1025 | 128 | config SENSORS_ADM1025 |
129 | tristate "Analog Devices ADM1025 and compatibles" | 129 | tristate "Analog Devices ADM1025 and compatibles" |
130 | depends on I2C | 130 | depends on I2C |
131 | select HWMON_VID | 131 | select HWMON_VID |
132 | help | 132 | help |
133 | If you say yes here you get support for Analog Devices ADM1025 | 133 | If you say yes here you get support for Analog Devices ADM1025 |
134 | and Philips NE1619 sensor chips. | 134 | and Philips NE1619 sensor chips. |
135 | 135 | ||
136 | This driver can also be built as a module. If so, the module | 136 | This driver can also be built as a module. If so, the module |
137 | will be called adm1025. | 137 | will be called adm1025. |
138 | 138 | ||
139 | config SENSORS_ADM1026 | 139 | config SENSORS_ADM1026 |
140 | tristate "Analog Devices ADM1026 and compatibles" | 140 | tristate "Analog Devices ADM1026 and compatibles" |
141 | depends on I2C | 141 | depends on I2C |
142 | select HWMON_VID | 142 | select HWMON_VID |
143 | help | 143 | help |
144 | If you say yes here you get support for Analog Devices ADM1026 | 144 | If you say yes here you get support for Analog Devices ADM1026 |
145 | sensor chip. | 145 | sensor chip. |
146 | 146 | ||
147 | This driver can also be built as a module. If so, the module | 147 | This driver can also be built as a module. If so, the module |
148 | will be called adm1026. | 148 | will be called adm1026. |
149 | 149 | ||
150 | config SENSORS_ADM1029 | 150 | config SENSORS_ADM1029 |
151 | tristate "Analog Devices ADM1029" | 151 | tristate "Analog Devices ADM1029" |
152 | depends on I2C | 152 | depends on I2C |
153 | help | 153 | help |
154 | If you say yes here you get support for Analog Devices ADM1029 | 154 | If you say yes here you get support for Analog Devices ADM1029 |
155 | sensor chip. | 155 | sensor chip. |
156 | Very rare chip, please let us know you use it. | 156 | Very rare chip, please let us know you use it. |
157 | 157 | ||
158 | This driver can also be built as a module. If so, the module | 158 | This driver can also be built as a module. If so, the module |
159 | will be called adm1029. | 159 | will be called adm1029. |
160 | 160 | ||
161 | config SENSORS_ADM1031 | 161 | config SENSORS_ADM1031 |
162 | tristate "Analog Devices ADM1031 and compatibles" | 162 | tristate "Analog Devices ADM1031 and compatibles" |
163 | depends on I2C | 163 | depends on I2C |
164 | help | 164 | help |
165 | If you say yes here you get support for Analog Devices ADM1031 | 165 | If you say yes here you get support for Analog Devices ADM1031 |
166 | and ADM1030 sensor chips. | 166 | and ADM1030 sensor chips. |
167 | 167 | ||
168 | This driver can also be built as a module. If so, the module | 168 | This driver can also be built as a module. If so, the module |
169 | will be called adm1031. | 169 | will be called adm1031. |
170 | 170 | ||
171 | config SENSORS_ADM9240 | 171 | config SENSORS_ADM9240 |
172 | tristate "Analog Devices ADM9240 and compatibles" | 172 | tristate "Analog Devices ADM9240 and compatibles" |
173 | depends on I2C | 173 | depends on I2C |
174 | select HWMON_VID | 174 | select HWMON_VID |
175 | help | 175 | help |
176 | If you say yes here you get support for Analog Devices ADM9240, | 176 | If you say yes here you get support for Analog Devices ADM9240, |
177 | Dallas DS1780, National Semiconductor LM81 sensor chips. | 177 | Dallas DS1780, National Semiconductor LM81 sensor chips. |
178 | 178 | ||
179 | This driver can also be built as a module. If so, the module | 179 | This driver can also be built as a module. If so, the module |
180 | will be called adm9240. | 180 | will be called adm9240. |
181 | 181 | ||
182 | config SENSORS_ADT7410 | 182 | config SENSORS_ADT7410 |
183 | tristate "Analog Devices ADT7410" | 183 | tristate "Analog Devices ADT7410" |
184 | depends on I2C | 184 | depends on I2C |
185 | help | 185 | help |
186 | If you say yes here you get support for the Analog Devices | 186 | If you say yes here you get support for the Analog Devices |
187 | ADT7410 temperature monitoring chip. | 187 | ADT7410 temperature monitoring chip. |
188 | 188 | ||
189 | This driver can also be built as a module. If so, the module | 189 | This driver can also be built as a module. If so, the module |
190 | will be called adt7410. | 190 | will be called adt7410. |
191 | 191 | ||
192 | config SENSORS_ADT7411 | 192 | config SENSORS_ADT7411 |
193 | tristate "Analog Devices ADT7411" | 193 | tristate "Analog Devices ADT7411" |
194 | depends on I2C | 194 | depends on I2C |
195 | help | 195 | help |
196 | If you say yes here you get support for the Analog Devices | 196 | If you say yes here you get support for the Analog Devices |
197 | ADT7411 voltage and temperature monitoring chip. | 197 | ADT7411 voltage and temperature monitoring chip. |
198 | 198 | ||
199 | This driver can also be built as a module. If so, the module | 199 | This driver can also be built as a module. If so, the module |
200 | will be called adt7411. | 200 | will be called adt7411. |
201 | 201 | ||
202 | config SENSORS_ADT7462 | 202 | config SENSORS_ADT7462 |
203 | tristate "Analog Devices ADT7462" | 203 | tristate "Analog Devices ADT7462" |
204 | depends on I2C | 204 | depends on I2C |
205 | help | 205 | help |
206 | If you say yes here you get support for the Analog Devices | 206 | If you say yes here you get support for the Analog Devices |
207 | ADT7462 temperature monitoring chips. | 207 | ADT7462 temperature monitoring chips. |
208 | 208 | ||
209 | This driver can also be built as a module. If so, the module | 209 | This driver can also be built as a module. If so, the module |
210 | will be called adt7462. | 210 | will be called adt7462. |
211 | 211 | ||
212 | config SENSORS_ADT7470 | 212 | config SENSORS_ADT7470 |
213 | tristate "Analog Devices ADT7470" | 213 | tristate "Analog Devices ADT7470" |
214 | depends on I2C | 214 | depends on I2C |
215 | help | 215 | help |
216 | If you say yes here you get support for the Analog Devices | 216 | If you say yes here you get support for the Analog Devices |
217 | ADT7470 temperature monitoring chips. | 217 | ADT7470 temperature monitoring chips. |
218 | 218 | ||
219 | This driver can also be built as a module. If so, the module | 219 | This driver can also be built as a module. If so, the module |
220 | will be called adt7470. | 220 | will be called adt7470. |
221 | 221 | ||
222 | config SENSORS_ADT7475 | 222 | config SENSORS_ADT7475 |
223 | tristate "Analog Devices ADT7473, ADT7475, ADT7476 and ADT7490" | 223 | tristate "Analog Devices ADT7473, ADT7475, ADT7476 and ADT7490" |
224 | depends on I2C | 224 | depends on I2C |
225 | select HWMON_VID | 225 | select HWMON_VID |
226 | help | 226 | help |
227 | If you say yes here you get support for the Analog Devices | 227 | If you say yes here you get support for the Analog Devices |
228 | ADT7473, ADT7475, ADT7476 and ADT7490 hardware monitoring | 228 | ADT7473, ADT7475, ADT7476 and ADT7490 hardware monitoring |
229 | chips. | 229 | chips. |
230 | 230 | ||
231 | This driver can also be build as a module. If so, the module | 231 | This driver can also be build as a module. If so, the module |
232 | will be called adt7475. | 232 | will be called adt7475. |
233 | 233 | ||
234 | config SENSORS_ASC7621 | 234 | config SENSORS_ASC7621 |
235 | tristate "Andigilog aSC7621" | 235 | tristate "Andigilog aSC7621" |
236 | depends on I2C | 236 | depends on I2C |
237 | help | 237 | help |
238 | If you say yes here you get support for the aSC7621 | 238 | If you say yes here you get support for the aSC7621 |
239 | family of SMBus sensors chip found on most Intel X38, X48, X58, | 239 | family of SMBus sensors chip found on most Intel X38, X48, X58, |
240 | 945, 965 and 975 desktop boards. Currently supported chips: | 240 | 945, 965 and 975 desktop boards. Currently supported chips: |
241 | aSC7621 | 241 | aSC7621 |
242 | aSC7621a | 242 | aSC7621a |
243 | 243 | ||
244 | This driver can also be built as a module. If so, the module | 244 | This driver can also be built as a module. If so, the module |
245 | will be called asc7621. | 245 | will be called asc7621. |
246 | 246 | ||
247 | config SENSORS_K8TEMP | 247 | config SENSORS_K8TEMP |
248 | tristate "AMD Athlon64/FX or Opteron temperature sensor" | 248 | tristate "AMD Athlon64/FX or Opteron temperature sensor" |
249 | depends on X86 && PCI | 249 | depends on X86 && PCI |
250 | help | 250 | help |
251 | If you say yes here you get support for the temperature | 251 | If you say yes here you get support for the temperature |
252 | sensor(s) inside your CPU. Supported is whole AMD K8 | 252 | sensor(s) inside your CPU. Supported is whole AMD K8 |
253 | microarchitecture. Please note that you will need at least | 253 | microarchitecture. Please note that you will need at least |
254 | lm-sensors 2.10.1 for proper userspace support. | 254 | lm-sensors 2.10.1 for proper userspace support. |
255 | 255 | ||
256 | This driver can also be built as a module. If so, the module | 256 | This driver can also be built as a module. If so, the module |
257 | will be called k8temp. | 257 | will be called k8temp. |
258 | 258 | ||
259 | config SENSORS_K10TEMP | 259 | config SENSORS_K10TEMP |
260 | tristate "AMD Family 10h+ temperature sensor" | 260 | tristate "AMD Family 10h+ temperature sensor" |
261 | depends on X86 && PCI | 261 | depends on X86 && PCI |
262 | help | 262 | help |
263 | If you say yes here you get support for the temperature | 263 | If you say yes here you get support for the temperature |
264 | sensor(s) inside your CPU. Supported are later revisions of | 264 | sensor(s) inside your CPU. Supported are later revisions of |
265 | the AMD Family 10h and all revisions of the AMD Family 11h, | 265 | the AMD Family 10h and all revisions of the AMD Family 11h, |
266 | 12h (Llano), 14h (Brazos) and 15h (Bulldozer/Trinity) | 266 | 12h (Llano), 14h (Brazos) and 15h (Bulldozer/Trinity) |
267 | microarchitectures. | 267 | microarchitectures. |
268 | 268 | ||
269 | This driver can also be built as a module. If so, the module | 269 | This driver can also be built as a module. If so, the module |
270 | will be called k10temp. | 270 | will be called k10temp. |
271 | 271 | ||
272 | config SENSORS_FAM15H_POWER | 272 | config SENSORS_FAM15H_POWER |
273 | tristate "AMD Family 15h processor power" | 273 | tristate "AMD Family 15h processor power" |
274 | depends on X86 && PCI | 274 | depends on X86 && PCI |
275 | help | 275 | help |
276 | If you say yes here you get support for processor power | 276 | If you say yes here you get support for processor power |
277 | information of your AMD family 15h CPU. | 277 | information of your AMD family 15h CPU. |
278 | 278 | ||
279 | This driver can also be built as a module. If so, the module | 279 | This driver can also be built as a module. If so, the module |
280 | will be called fam15h_power. | 280 | will be called fam15h_power. |
281 | 281 | ||
282 | config SENSORS_ASB100 | 282 | config SENSORS_ASB100 |
283 | tristate "Asus ASB100 Bach" | 283 | tristate "Asus ASB100 Bach" |
284 | depends on X86 && I2C | 284 | depends on X86 && I2C |
285 | select HWMON_VID | 285 | select HWMON_VID |
286 | help | 286 | help |
287 | If you say yes here you get support for the ASB100 Bach sensor | 287 | If you say yes here you get support for the ASB100 Bach sensor |
288 | chip found on some Asus mainboards. | 288 | chip found on some Asus mainboards. |
289 | 289 | ||
290 | This driver can also be built as a module. If so, the module | 290 | This driver can also be built as a module. If so, the module |
291 | will be called asb100. | 291 | will be called asb100. |
292 | 292 | ||
293 | config SENSORS_ATXP1 | 293 | config SENSORS_ATXP1 |
294 | tristate "Attansic ATXP1 VID controller" | 294 | tristate "Attansic ATXP1 VID controller" |
295 | depends on I2C | 295 | depends on I2C |
296 | select HWMON_VID | 296 | select HWMON_VID |
297 | help | 297 | help |
298 | If you say yes here you get support for the Attansic ATXP1 VID | 298 | If you say yes here you get support for the Attansic ATXP1 VID |
299 | controller. | 299 | controller. |
300 | 300 | ||
301 | If your board have such a chip, you are able to control your CPU | 301 | If your board have such a chip, you are able to control your CPU |
302 | core and other voltages. | 302 | core and other voltages. |
303 | 303 | ||
304 | This driver can also be built as a module. If so, the module | 304 | This driver can also be built as a module. If so, the module |
305 | will be called atxp1. | 305 | will be called atxp1. |
306 | 306 | ||
307 | config SENSORS_DS620 | 307 | config SENSORS_DS620 |
308 | tristate "Dallas Semiconductor DS620" | 308 | tristate "Dallas Semiconductor DS620" |
309 | depends on I2C | 309 | depends on I2C |
310 | help | 310 | help |
311 | If you say yes here you get support for Dallas Semiconductor | 311 | If you say yes here you get support for Dallas Semiconductor |
312 | DS620 sensor chip. | 312 | DS620 sensor chip. |
313 | 313 | ||
314 | This driver can also be built as a module. If so, the module | 314 | This driver can also be built as a module. If so, the module |
315 | will be called ds620. | 315 | will be called ds620. |
316 | 316 | ||
317 | config SENSORS_DS1621 | 317 | config SENSORS_DS1621 |
318 | tristate "Dallas Semiconductor DS1621 and DS1625" | 318 | tristate "Dallas Semiconductor DS1621 and DS1625" |
319 | depends on I2C | 319 | depends on I2C |
320 | help | 320 | help |
321 | If you say yes here you get support for Dallas Semiconductor | 321 | If you say yes here you get support for Dallas Semiconductor |
322 | DS1621 and DS1625 sensor chips. | 322 | DS1621 and DS1625 sensor chips. |
323 | 323 | ||
324 | This driver can also be built as a module. If so, the module | 324 | This driver can also be built as a module. If so, the module |
325 | will be called ds1621. | 325 | will be called ds1621. |
326 | 326 | ||
327 | config SENSORS_DA9052_ADC | 327 | config SENSORS_DA9052_ADC |
328 | tristate "Dialog DA9052/DA9053 ADC" | 328 | tristate "Dialog DA9052/DA9053 ADC" |
329 | depends on PMIC_DA9052 | 329 | depends on PMIC_DA9052 |
330 | help | 330 | help |
331 | Say y here to support the ADC found on Dialog Semiconductor | 331 | Say y here to support the ADC found on Dialog Semiconductor |
332 | DA9052-BC and DA9053-AA/Bx PMICs. | 332 | DA9052-BC and DA9053-AA/Bx PMICs. |
333 | 333 | ||
334 | This driver can also be built as module. If so, the module | 334 | This driver can also be built as module. If so, the module |
335 | will be called da9052-hwmon. | 335 | will be called da9052-hwmon. |
336 | 336 | ||
337 | config SENSORS_EXYNOS4_TMU | 337 | config SENSORS_EXYNOS4_TMU |
338 | tristate "Temperature sensor on Samsung EXYNOS4" | 338 | tristate "Temperature sensor on Samsung EXYNOS4" |
339 | depends on ARCH_EXYNOS4 | 339 | depends on ARCH_EXYNOS4 |
340 | help | 340 | help |
341 | If you say yes here you get support for TMU (Thermal Management | 341 | If you say yes here you get support for TMU (Thermal Management |
342 | Unit) on SAMSUNG EXYNOS4 series of SoC. | 342 | Unit) on SAMSUNG EXYNOS4 series of SoC. |
343 | 343 | ||
344 | This driver can also be built as a module. If so, the module | 344 | This driver can also be built as a module. If so, the module |
345 | will be called exynos4-tmu. | 345 | will be called exynos4-tmu. |
346 | 346 | ||
347 | config SENSORS_I5K_AMB | 347 | config SENSORS_I5K_AMB |
348 | tristate "FB-DIMM AMB temperature sensor on Intel 5000 series chipsets" | 348 | tristate "FB-DIMM AMB temperature sensor on Intel 5000 series chipsets" |
349 | depends on PCI | 349 | depends on PCI |
350 | help | 350 | help |
351 | If you say yes here you get support for FB-DIMM AMB temperature | 351 | If you say yes here you get support for FB-DIMM AMB temperature |
352 | monitoring chips on systems with the Intel 5000 series chipset. | 352 | monitoring chips on systems with the Intel 5000 series chipset. |
353 | 353 | ||
354 | This driver can also be built as a module. If so, the module | 354 | This driver can also be built as a module. If so, the module |
355 | will be called i5k_amb. | 355 | will be called i5k_amb. |
356 | 356 | ||
357 | config SENSORS_F71805F | 357 | config SENSORS_F71805F |
358 | tristate "Fintek F71805F/FG, F71806F/FG and F71872F/FG" | 358 | tristate "Fintek F71805F/FG, F71806F/FG and F71872F/FG" |
359 | depends on !PPC | 359 | depends on !PPC |
360 | help | 360 | help |
361 | If you say yes here you get support for hardware monitoring | 361 | If you say yes here you get support for hardware monitoring |
362 | features of the Fintek F71805F/FG, F71806F/FG and F71872F/FG | 362 | features of the Fintek F71805F/FG, F71806F/FG and F71872F/FG |
363 | Super-I/O chips. | 363 | Super-I/O chips. |
364 | 364 | ||
365 | This driver can also be built as a module. If so, the module | 365 | This driver can also be built as a module. If so, the module |
366 | will be called f71805f. | 366 | will be called f71805f. |
367 | 367 | ||
368 | config SENSORS_F71882FG | 368 | config SENSORS_F71882FG |
369 | tristate "Fintek F71882FG and compatibles" | 369 | tristate "Fintek F71882FG and compatibles" |
370 | depends on !PPC | 370 | depends on !PPC |
371 | help | 371 | help |
372 | If you say yes here you get support for hardware monitoring | 372 | If you say yes here you get support for hardware monitoring |
373 | features of many Fintek Super-I/O (LPC) chips. The currently | 373 | features of many Fintek Super-I/O (LPC) chips. The currently |
374 | supported chips are: | 374 | supported chips are: |
375 | F71808E/A | 375 | F71808E/A |
376 | F71858FG | 376 | F71858FG |
377 | F71862FG | 377 | F71862FG |
378 | F71863FG | 378 | F71863FG |
379 | F71869F/E/A | 379 | F71869F/E/A |
380 | F71882FG | 380 | F71882FG |
381 | F71883FG | 381 | F71883FG |
382 | F71889FG/ED/A | 382 | F71889FG/ED/A |
383 | F8000 | 383 | F8000 |
384 | F81801U | 384 | F81801U |
385 | F81865F | 385 | F81865F |
386 | 386 | ||
387 | This driver can also be built as a module. If so, the module | 387 | This driver can also be built as a module. If so, the module |
388 | will be called f71882fg. | 388 | will be called f71882fg. |
389 | 389 | ||
390 | config SENSORS_F75375S | 390 | config SENSORS_F75375S |
391 | tristate "Fintek F75375S/SP, F75373 and F75387" | 391 | tristate "Fintek F75375S/SP, F75373 and F75387" |
392 | depends on I2C | 392 | depends on I2C |
393 | help | 393 | help |
394 | If you say yes here you get support for hardware monitoring | 394 | If you say yes here you get support for hardware monitoring |
395 | features of the Fintek F75375S/SP, F75373 and F75387 | 395 | features of the Fintek F75375S/SP, F75373 and F75387 |
396 | 396 | ||
397 | This driver can also be built as a module. If so, the module | 397 | This driver can also be built as a module. If so, the module |
398 | will be called f75375s. | 398 | will be called f75375s. |
399 | 399 | ||
400 | config SENSORS_FSCHMD | 400 | config SENSORS_FSCHMD |
401 | tristate "Fujitsu Siemens Computers sensor chips" | 401 | tristate "Fujitsu Siemens Computers sensor chips" |
402 | depends on X86 && I2C | 402 | depends on X86 && I2C |
403 | help | 403 | help |
404 | If you say yes here you get support for the following Fujitsu | 404 | If you say yes here you get support for the following Fujitsu |
405 | Siemens Computers (FSC) sensor chips: Poseidon, Scylla, Hermes, | 405 | Siemens Computers (FSC) sensor chips: Poseidon, Scylla, Hermes, |
406 | Heimdall, Heracles, Hades and Syleus including support for the | 406 | Heimdall, Heracles, Hades and Syleus including support for the |
407 | integrated watchdog. | 407 | integrated watchdog. |
408 | 408 | ||
409 | This is a merged driver for FSC sensor chips replacing the fscpos, | 409 | This is a merged driver for FSC sensor chips replacing the fscpos, |
410 | fscscy and fscher drivers and adding support for several other FSC | 410 | fscscy and fscher drivers and adding support for several other FSC |
411 | sensor chips. | 411 | sensor chips. |
412 | 412 | ||
413 | This driver can also be built as a module. If so, the module | 413 | This driver can also be built as a module. If so, the module |
414 | will be called fschmd. | 414 | will be called fschmd. |
415 | 415 | ||
416 | config SENSORS_G760A | 416 | config SENSORS_G760A |
417 | tristate "GMT G760A" | 417 | tristate "GMT G760A" |
418 | depends on I2C | 418 | depends on I2C |
419 | help | 419 | help |
420 | If you say yes here you get support for Global Mixed-mode | 420 | If you say yes here you get support for Global Mixed-mode |
421 | Technology Inc G760A fan speed PWM controller chips. | 421 | Technology Inc G760A fan speed PWM controller chips. |
422 | 422 | ||
423 | This driver can also be built as a module. If so, the module | 423 | This driver can also be built as a module. If so, the module |
424 | will be called g760a. | 424 | will be called g760a. |
425 | 425 | ||
426 | config SENSORS_GL518SM | 426 | config SENSORS_GL518SM |
427 | tristate "Genesys Logic GL518SM" | 427 | tristate "Genesys Logic GL518SM" |
428 | depends on I2C | 428 | depends on I2C |
429 | help | 429 | help |
430 | If you say yes here you get support for Genesys Logic GL518SM | 430 | If you say yes here you get support for Genesys Logic GL518SM |
431 | sensor chips. | 431 | sensor chips. |
432 | 432 | ||
433 | This driver can also be built as a module. If so, the module | 433 | This driver can also be built as a module. If so, the module |
434 | will be called gl518sm. | 434 | will be called gl518sm. |
435 | 435 | ||
436 | config SENSORS_GL520SM | 436 | config SENSORS_GL520SM |
437 | tristate "Genesys Logic GL520SM" | 437 | tristate "Genesys Logic GL520SM" |
438 | depends on I2C | 438 | depends on I2C |
439 | select HWMON_VID | 439 | select HWMON_VID |
440 | help | 440 | help |
441 | If you say yes here you get support for Genesys Logic GL520SM | 441 | If you say yes here you get support for Genesys Logic GL520SM |
442 | sensor chips. | 442 | sensor chips. |
443 | 443 | ||
444 | This driver can also be built as a module. If so, the module | 444 | This driver can also be built as a module. If so, the module |
445 | will be called gl520sm. | 445 | will be called gl520sm. |
446 | 446 | ||
447 | config SENSORS_GPIO_FAN | 447 | config SENSORS_GPIO_FAN |
448 | tristate "GPIO fan" | 448 | tristate "GPIO fan" |
449 | depends on GPIOLIB | 449 | depends on GPIOLIB |
450 | help | 450 | help |
451 | If you say yes here you get support for fans connected to GPIO lines. | 451 | If you say yes here you get support for fans connected to GPIO lines. |
452 | 452 | ||
453 | This driver can also be built as a module. If so, the module | 453 | This driver can also be built as a module. If so, the module |
454 | will be called gpio-fan. | 454 | will be called gpio-fan. |
455 | 455 | ||
456 | config SENSORS_HIH6130 | 456 | config SENSORS_HIH6130 |
457 | tristate "Honeywell Humidicon HIH-6130 humidity/temperature sensor" | 457 | tristate "Honeywell Humidicon HIH-6130 humidity/temperature sensor" |
458 | depends on I2C | 458 | depends on I2C |
459 | help | 459 | help |
460 | If you say yes here you get support for Honeywell Humidicon | 460 | If you say yes here you get support for Honeywell Humidicon |
461 | HIH-6130 and HIH-6131 Humidicon humidity sensors. | 461 | HIH-6130 and HIH-6131 Humidicon humidity sensors. |
462 | 462 | ||
463 | This driver can also be built as a module. If so, the module | 463 | This driver can also be built as a module. If so, the module |
464 | will be called hih6130. | 464 | will be called hih6130. |
465 | 465 | ||
466 | config SENSORS_CORETEMP | 466 | config SENSORS_CORETEMP |
467 | tristate "Intel Core/Core2/Atom temperature sensor" | 467 | tristate "Intel Core/Core2/Atom temperature sensor" |
468 | depends on X86 && PCI | 468 | depends on X86 && PCI |
469 | help | 469 | help |
470 | If you say yes here you get support for the temperature | 470 | If you say yes here you get support for the temperature |
471 | sensor inside your CPU. Most of the family 6 CPUs | 471 | sensor inside your CPU. Most of the family 6 CPUs |
472 | are supported. Check Documentation/hwmon/coretemp for details. | 472 | are supported. Check Documentation/hwmon/coretemp for details. |
473 | 473 | ||
474 | config SENSORS_IBMAEM | 474 | config SENSORS_IBMAEM |
475 | tristate "IBM Active Energy Manager temperature/power sensors and control" | 475 | tristate "IBM Active Energy Manager temperature/power sensors and control" |
476 | select IPMI_SI | 476 | select IPMI_SI |
477 | depends on IPMI_HANDLER | 477 | depends on IPMI_HANDLER |
478 | help | 478 | help |
479 | If you say yes here you get support for the temperature and | 479 | If you say yes here you get support for the temperature and |
480 | power sensors and capping hardware in various IBM System X | 480 | power sensors and capping hardware in various IBM System X |
481 | servers that support Active Energy Manager. This includes | 481 | servers that support Active Energy Manager. This includes |
482 | the x3350, x3550, x3650, x3655, x3755, x3850 M2, x3950 M2, | 482 | the x3350, x3550, x3650, x3655, x3755, x3850 M2, x3950 M2, |
483 | and certain HC10/HS2x/LS2x/QS2x blades. | 483 | and certain HC10/HS2x/LS2x/QS2x blades. |
484 | 484 | ||
485 | This driver can also be built as a module. If so, the module | 485 | This driver can also be built as a module. If so, the module |
486 | will be called ibmaem. | 486 | will be called ibmaem. |
487 | 487 | ||
488 | config SENSORS_IBMPEX | 488 | config SENSORS_IBMPEX |
489 | tristate "IBM PowerExecutive temperature/power sensors" | 489 | tristate "IBM PowerExecutive temperature/power sensors" |
490 | select IPMI_SI | 490 | select IPMI_SI |
491 | depends on IPMI_HANDLER | 491 | depends on IPMI_HANDLER |
492 | help | 492 | help |
493 | If you say yes here you get support for the temperature and | 493 | If you say yes here you get support for the temperature and |
494 | power sensors in various IBM System X servers that support | 494 | power sensors in various IBM System X servers that support |
495 | PowerExecutive. So far this includes the x3350, x3550, x3650, | 495 | PowerExecutive. So far this includes the x3350, x3550, x3650, |
496 | x3655, and x3755; the x3800, x3850, and x3950 models that have | 496 | x3655, and x3755; the x3800, x3850, and x3950 models that have |
497 | PCI Express; and some of the HS2x, LS2x, and QS2x blades. | 497 | PCI Express; and some of the HS2x, LS2x, and QS2x blades. |
498 | 498 | ||
499 | This driver can also be built as a module. If so, the module | 499 | This driver can also be built as a module. If so, the module |
500 | will be called ibmpex. | 500 | will be called ibmpex. |
501 | 501 | ||
502 | config SENSORS_IT87 | 502 | config SENSORS_IT87 |
503 | tristate "ITE IT87xx and compatibles" | 503 | tristate "ITE IT87xx and compatibles" |
504 | depends on !PPC | 504 | depends on !PPC |
505 | select HWMON_VID | 505 | select HWMON_VID |
506 | help | 506 | help |
507 | If you say yes here you get support for ITE IT8705F, IT8712F, | 507 | If you say yes here you get support for ITE IT8705F, IT8712F, |
508 | IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, | 508 | IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, |
509 | IT8782F, and IT8783E/F sensor chips, and the SiS950 clone. | 509 | IT8782F, and IT8783E/F sensor chips, and the SiS950 clone. |
510 | 510 | ||
511 | This driver can also be built as a module. If so, the module | 511 | This driver can also be built as a module. If so, the module |
512 | will be called it87. | 512 | will be called it87. |
513 | 513 | ||
514 | config SENSORS_JZ4740 | 514 | config SENSORS_JZ4740 |
515 | tristate "Ingenic JZ4740 SoC ADC driver" | 515 | tristate "Ingenic JZ4740 SoC ADC driver" |
516 | depends on MACH_JZ4740 && MFD_JZ4740_ADC | 516 | depends on MACH_JZ4740 && MFD_JZ4740_ADC |
517 | help | 517 | help |
518 | If you say yes here you get support for reading adc values from the ADCIN | 518 | If you say yes here you get support for reading adc values from the ADCIN |
519 | pin on Ingenic JZ4740 SoC based boards. | 519 | pin on Ingenic JZ4740 SoC based boards. |
520 | 520 | ||
521 | This driver can also be build as a module. If so, the module will be | 521 | This driver can also be build as a module. If so, the module will be |
522 | called jz4740-hwmon. | 522 | called jz4740-hwmon. |
523 | 523 | ||
524 | config SENSORS_JC42 | 524 | config SENSORS_JC42 |
525 | tristate "JEDEC JC42.4 compliant memory module temperature sensors" | 525 | tristate "JEDEC JC42.4 compliant memory module temperature sensors" |
526 | depends on I2C | 526 | depends on I2C |
527 | help | 527 | help |
528 | If you say yes here, you get support for JEDEC JC42.4 compliant | 528 | If you say yes here, you get support for JEDEC JC42.4 compliant |
529 | temperature sensors, which are used on many DDR3 memory modules for | 529 | temperature sensors, which are used on many DDR3 memory modules for |
530 | mobile devices and servers. Support will include, but not be limited | 530 | mobile devices and servers. Support will include, but not be limited |
531 | to, ADT7408, AT30TS00, CAT34TS02, CAT6095, MAX6604, MCP9804, MCP9805, | 531 | to, ADT7408, AT30TS00, CAT34TS02, CAT6095, MAX6604, MCP9804, MCP9805, |
532 | MCP98242, MCP98243, MCP9843, SE97, SE98, STTS424(E), STTS2002, | 532 | MCP98242, MCP98243, MCP9843, SE97, SE98, STTS424(E), STTS2002, |
533 | STTS3000, TSE2002B3, TSE2002GB2, TS3000B3, and TS3000GB2. | 533 | STTS3000, TSE2002B3, TSE2002GB2, TS3000B3, and TS3000GB2. |
534 | 534 | ||
535 | This driver can also be built as a module. If so, the module | 535 | This driver can also be built as a module. If so, the module |
536 | will be called jc42. | 536 | will be called jc42. |
537 | 537 | ||
538 | config SENSORS_LINEAGE | 538 | config SENSORS_LINEAGE |
539 | tristate "Lineage Compact Power Line Power Entry Module" | 539 | tristate "Lineage Compact Power Line Power Entry Module" |
540 | depends on I2C | 540 | depends on I2C |
541 | help | 541 | help |
542 | If you say yes here you get support for the Lineage Compact Power Line | 542 | If you say yes here you get support for the Lineage Compact Power Line |
543 | series of DC/DC and AC/DC converters such as CP1800, CP2000AC, | 543 | series of DC/DC and AC/DC converters such as CP1800, CP2000AC, |
544 | CP2000DC, CP2725, and others. | 544 | CP2000DC, CP2725, and others. |
545 | 545 | ||
546 | This driver can also be built as a module. If so, the module | 546 | This driver can also be built as a module. If so, the module |
547 | will be called lineage-pem. | 547 | will be called lineage-pem. |
548 | 548 | ||
549 | config SENSORS_LM63 | 549 | config SENSORS_LM63 |
550 | tristate "National Semiconductor LM63 and compatibles" | 550 | tristate "National Semiconductor LM63 and compatibles" |
551 | depends on I2C | 551 | depends on I2C |
552 | help | 552 | help |
553 | If you say yes here you get support for the National | 553 | If you say yes here you get support for the National |
554 | Semiconductor LM63, LM64, and LM96163 remote diode digital temperature | 554 | Semiconductor LM63, LM64, and LM96163 remote diode digital temperature |
555 | sensors with integrated fan control. Such chips are found | 555 | sensors with integrated fan control. Such chips are found |
556 | on the Tyan S4882 (Thunder K8QS Pro) motherboard, among | 556 | on the Tyan S4882 (Thunder K8QS Pro) motherboard, among |
557 | others. | 557 | others. |
558 | 558 | ||
559 | This driver can also be built as a module. If so, the module | 559 | This driver can also be built as a module. If so, the module |
560 | will be called lm63. | 560 | will be called lm63. |
561 | 561 | ||
562 | config SENSORS_LM70 | 562 | config SENSORS_LM70 |
563 | tristate "National Semiconductor LM70 and compatibles" | 563 | tristate "National Semiconductor LM70 and compatibles" |
564 | depends on SPI_MASTER | 564 | depends on SPI_MASTER |
565 | help | 565 | help |
566 | If you say yes here you get support for the National Semiconductor | 566 | If you say yes here you get support for the National Semiconductor |
567 | LM70, LM71, LM74 and Texas Instruments TMP121/TMP123 digital tempera- | 567 | LM70, LM71, LM74 and Texas Instruments TMP121/TMP123 digital tempera- |
568 | ture sensor chips. | 568 | ture sensor chips. |
569 | 569 | ||
570 | This driver can also be built as a module. If so, the module | 570 | This driver can also be built as a module. If so, the module |
571 | will be called lm70. | 571 | will be called lm70. |
572 | 572 | ||
573 | config SENSORS_LM73 | 573 | config SENSORS_LM73 |
574 | tristate "National Semiconductor LM73" | 574 | tristate "National Semiconductor LM73" |
575 | depends on I2C | 575 | depends on I2C |
576 | help | 576 | help |
577 | If you say yes here you get support for National Semiconductor LM73 | 577 | If you say yes here you get support for National Semiconductor LM73 |
578 | sensor chips. | 578 | sensor chips. |
579 | This driver can also be built as a module. If so, the module | 579 | This driver can also be built as a module. If so, the module |
580 | will be called lm73. | 580 | will be called lm73. |
581 | 581 | ||
582 | config SENSORS_LM75 | 582 | config SENSORS_LM75 |
583 | tristate "National Semiconductor LM75 and compatibles" | 583 | tristate "National Semiconductor LM75 and compatibles" |
584 | depends on I2C | 584 | depends on I2C |
585 | help | 585 | help |
586 | If you say yes here you get support for one common type of | 586 | If you say yes here you get support for one common type of |
587 | temperature sensor chip, with models including: | 587 | temperature sensor chip, with models including: |
588 | 588 | ||
589 | - Analog Devices ADT75 | 589 | - Analog Devices ADT75 |
590 | - Dallas Semiconductor DS75 and DS1775 | 590 | - Dallas Semiconductor DS75 and DS1775 |
591 | - Maxim MAX6625 and MAX6626 | 591 | - Maxim MAX6625 and MAX6626 |
592 | - Microchip MCP980x | 592 | - Microchip MCP980x |
593 | - National Semiconductor LM75, LM75A | 593 | - National Semiconductor LM75, LM75A |
594 | - NXP's LM75A | 594 | - NXP's LM75A |
595 | - ST Microelectronics STDS75 | 595 | - ST Microelectronics STDS75 |
596 | - TelCom (now Microchip) TCN75 | 596 | - TelCom (now Microchip) TCN75 |
597 | - Texas Instruments TMP100, TMP101, TMP105, TMP75, TMP175, | 597 | - Texas Instruments TMP100, TMP101, TMP105, TMP75, TMP175, |
598 | TMP275 | 598 | TMP275 |
599 | 599 | ||
600 | This driver supports driver model based binding through board | 600 | This driver supports driver model based binding through board |
601 | specific I2C device tables. | 601 | specific I2C device tables. |
602 | 602 | ||
603 | It also supports the "legacy" style of driver binding. To use | 603 | It also supports the "legacy" style of driver binding. To use |
604 | that with some chips which don't replicate LM75 quirks exactly, | 604 | that with some chips which don't replicate LM75 quirks exactly, |
605 | you may need the "force" module parameter. | 605 | you may need the "force" module parameter. |
606 | 606 | ||
607 | This driver can also be built as a module. If so, the module | 607 | This driver can also be built as a module. If so, the module |
608 | will be called lm75. | 608 | will be called lm75. |
609 | 609 | ||
610 | config SENSORS_LM77 | 610 | config SENSORS_LM77 |
611 | tristate "National Semiconductor LM77" | 611 | tristate "National Semiconductor LM77" |
612 | depends on I2C | 612 | depends on I2C |
613 | help | 613 | help |
614 | If you say yes here you get support for National Semiconductor LM77 | 614 | If you say yes here you get support for National Semiconductor LM77 |
615 | sensor chips. | 615 | sensor chips. |
616 | 616 | ||
617 | This driver can also be built as a module. If so, the module | 617 | This driver can also be built as a module. If so, the module |
618 | will be called lm77. | 618 | will be called lm77. |
619 | 619 | ||
620 | config SENSORS_LM78 | 620 | config SENSORS_LM78 |
621 | tristate "National Semiconductor LM78 and compatibles" | 621 | tristate "National Semiconductor LM78 and compatibles" |
622 | depends on I2C | 622 | depends on I2C |
623 | select HWMON_VID | 623 | select HWMON_VID |
624 | help | 624 | help |
625 | If you say yes here you get support for National Semiconductor LM78, | 625 | If you say yes here you get support for National Semiconductor LM78, |
626 | LM78-J and LM79. | 626 | LM78-J and LM79. |
627 | 627 | ||
628 | This driver can also be built as a module. If so, the module | 628 | This driver can also be built as a module. If so, the module |
629 | will be called lm78. | 629 | will be called lm78. |
630 | 630 | ||
631 | config SENSORS_LM80 | 631 | config SENSORS_LM80 |
632 | tristate "National Semiconductor LM80 and LM96080" | 632 | tristate "National Semiconductor LM80 and LM96080" |
633 | depends on I2C | 633 | depends on I2C |
634 | help | 634 | help |
635 | If you say yes here you get support for National Semiconductor | 635 | If you say yes here you get support for National Semiconductor |
636 | LM80 and LM96080 sensor chips. | 636 | LM80 and LM96080 sensor chips. |
637 | 637 | ||
638 | This driver can also be built as a module. If so, the module | 638 | This driver can also be built as a module. If so, the module |
639 | will be called lm80. | 639 | will be called lm80. |
640 | 640 | ||
641 | config SENSORS_LM83 | 641 | config SENSORS_LM83 |
642 | tristate "National Semiconductor LM83 and compatibles" | 642 | tristate "National Semiconductor LM83 and compatibles" |
643 | depends on I2C | 643 | depends on I2C |
644 | help | 644 | help |
645 | If you say yes here you get support for National Semiconductor | 645 | If you say yes here you get support for National Semiconductor |
646 | LM82 and LM83 sensor chips. | 646 | LM82 and LM83 sensor chips. |
647 | 647 | ||
648 | This driver can also be built as a module. If so, the module | 648 | This driver can also be built as a module. If so, the module |
649 | will be called lm83. | 649 | will be called lm83. |
650 | 650 | ||
651 | config SENSORS_LM85 | 651 | config SENSORS_LM85 |
652 | tristate "National Semiconductor LM85 and compatibles" | 652 | tristate "National Semiconductor LM85 and compatibles" |
653 | depends on I2C | 653 | depends on I2C |
654 | select HWMON_VID | 654 | select HWMON_VID |
655 | help | 655 | help |
656 | If you say yes here you get support for National Semiconductor LM85 | 656 | If you say yes here you get support for National Semiconductor LM85 |
657 | sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100, | 657 | sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100, |
658 | EMC6D101, EMC6D102, and EMC6D103. | 658 | EMC6D101, EMC6D102, and EMC6D103. |
659 | 659 | ||
660 | This driver can also be built as a module. If so, the module | 660 | This driver can also be built as a module. If so, the module |
661 | will be called lm85. | 661 | will be called lm85. |
662 | 662 | ||
663 | config SENSORS_LM87 | 663 | config SENSORS_LM87 |
664 | tristate "National Semiconductor LM87 and compatibles" | 664 | tristate "National Semiconductor LM87 and compatibles" |
665 | depends on I2C | 665 | depends on I2C |
666 | select HWMON_VID | 666 | select HWMON_VID |
667 | help | 667 | help |
668 | If you say yes here you get support for National Semiconductor LM87 | 668 | If you say yes here you get support for National Semiconductor LM87 |
669 | and Analog Devices ADM1024 sensor chips. | 669 | and Analog Devices ADM1024 sensor chips. |
670 | 670 | ||
671 | This driver can also be built as a module. If so, the module | 671 | This driver can also be built as a module. If so, the module |
672 | will be called lm87. | 672 | will be called lm87. |
673 | 673 | ||
674 | config SENSORS_LM90 | 674 | config SENSORS_LM90 |
675 | tristate "National Semiconductor LM90 and compatibles" | 675 | tristate "National Semiconductor LM90 and compatibles" |
676 | depends on I2C | 676 | depends on I2C |
677 | help | 677 | help |
678 | If you say yes here you get support for National Semiconductor LM90, | 678 | If you say yes here you get support for National Semiconductor LM90, |
679 | LM86, LM89 and LM99, Analog Devices ADM1032, ADT7461, and ADT7461A, | 679 | LM86, LM89 and LM99, Analog Devices ADM1032, ADT7461, and ADT7461A, |
680 | Maxim MAX6646, MAX6647, MAX6648, MAX6649, MAX6657, MAX6658, MAX6659, | 680 | Maxim MAX6646, MAX6647, MAX6648, MAX6649, MAX6657, MAX6658, MAX6659, |
681 | MAX6680, MAX6681, MAX6692, MAX6695, MAX6696, ON Semiconductor NCT1008, | 681 | MAX6680, MAX6681, MAX6692, MAX6695, MAX6696, ON Semiconductor NCT1008, |
682 | Winbond/Nuvoton W83L771W/G/AWG/ASG, Philips SA56004, and GMT G781 | 682 | Winbond/Nuvoton W83L771W/G/AWG/ASG, Philips SA56004, and GMT G781 |
683 | sensor chips. | 683 | sensor chips. |
684 | 684 | ||
685 | This driver can also be built as a module. If so, the module | 685 | This driver can also be built as a module. If so, the module |
686 | will be called lm90. | 686 | will be called lm90. |
687 | 687 | ||
688 | config SENSORS_LM92 | 688 | config SENSORS_LM92 |
689 | tristate "National Semiconductor LM92 and compatibles" | 689 | tristate "National Semiconductor LM92 and compatibles" |
690 | depends on I2C | 690 | depends on I2C |
691 | help | 691 | help |
692 | If you say yes here you get support for National Semiconductor LM92 | 692 | If you say yes here you get support for National Semiconductor LM92 |
693 | and Maxim MAX6635 sensor chips. | 693 | and Maxim MAX6635 sensor chips. |
694 | 694 | ||
695 | This driver can also be built as a module. If so, the module | 695 | This driver can also be built as a module. If so, the module |
696 | will be called lm92. | 696 | will be called lm92. |
697 | 697 | ||
698 | config SENSORS_LM93 | 698 | config SENSORS_LM93 |
699 | tristate "National Semiconductor LM93 and compatibles" | 699 | tristate "National Semiconductor LM93 and compatibles" |
700 | depends on I2C | 700 | depends on I2C |
701 | select HWMON_VID | 701 | select HWMON_VID |
702 | help | 702 | help |
703 | If you say yes here you get support for National Semiconductor LM93, | 703 | If you say yes here you get support for National Semiconductor LM93, |
704 | LM94, and compatible sensor chips. | 704 | LM94, and compatible sensor chips. |
705 | 705 | ||
706 | This driver can also be built as a module. If so, the module | 706 | This driver can also be built as a module. If so, the module |
707 | will be called lm93. | 707 | will be called lm93. |
708 | 708 | ||
709 | config SENSORS_LTC4151 | 709 | config SENSORS_LTC4151 |
710 | tristate "Linear Technology LTC4151" | 710 | tristate "Linear Technology LTC4151" |
711 | depends on I2C | 711 | depends on I2C |
712 | default n | 712 | default n |
713 | help | 713 | help |
714 | If you say yes here you get support for Linear Technology LTC4151 | 714 | If you say yes here you get support for Linear Technology LTC4151 |
715 | High Voltage I2C Current and Voltage Monitor interface. | 715 | High Voltage I2C Current and Voltage Monitor interface. |
716 | 716 | ||
717 | This driver can also be built as a module. If so, the module will | 717 | This driver can also be built as a module. If so, the module will |
718 | be called ltc4151. | 718 | be called ltc4151. |
719 | 719 | ||
720 | config SENSORS_LTC4215 | 720 | config SENSORS_LTC4215 |
721 | tristate "Linear Technology LTC4215" | 721 | tristate "Linear Technology LTC4215" |
722 | depends on I2C | 722 | depends on I2C |
723 | default n | 723 | default n |
724 | help | 724 | help |
725 | If you say yes here you get support for Linear Technology LTC4215 | 725 | If you say yes here you get support for Linear Technology LTC4215 |
726 | Hot Swap Controller I2C interface. | 726 | Hot Swap Controller I2C interface. |
727 | 727 | ||
728 | This driver can also be built as a module. If so, the module will | 728 | This driver can also be built as a module. If so, the module will |
729 | be called ltc4215. | 729 | be called ltc4215. |
730 | 730 | ||
731 | config SENSORS_LTC4245 | 731 | config SENSORS_LTC4245 |
732 | tristate "Linear Technology LTC4245" | 732 | tristate "Linear Technology LTC4245" |
733 | depends on I2C | 733 | depends on I2C |
734 | default n | 734 | default n |
735 | help | 735 | help |
736 | If you say yes here you get support for Linear Technology LTC4245 | 736 | If you say yes here you get support for Linear Technology LTC4245 |
737 | Multiple Supply Hot Swap Controller I2C interface. | 737 | Multiple Supply Hot Swap Controller I2C interface. |
738 | 738 | ||
739 | This driver can also be built as a module. If so, the module will | 739 | This driver can also be built as a module. If so, the module will |
740 | be called ltc4245. | 740 | be called ltc4245. |
741 | 741 | ||
742 | config SENSORS_LTC4261 | 742 | config SENSORS_LTC4261 |
743 | tristate "Linear Technology LTC4261" | 743 | tristate "Linear Technology LTC4261" |
744 | depends on I2C | 744 | depends on I2C |
745 | default n | 745 | default n |
746 | help | 746 | help |
747 | If you say yes here you get support for Linear Technology LTC4261 | 747 | If you say yes here you get support for Linear Technology LTC4261 |
748 | Negative Voltage Hot Swap Controller I2C interface. | 748 | Negative Voltage Hot Swap Controller I2C interface. |
749 | 749 | ||
750 | This driver can also be built as a module. If so, the module will | 750 | This driver can also be built as a module. If so, the module will |
751 | be called ltc4261. | 751 | be called ltc4261. |
752 | 752 | ||
753 | config SENSORS_LM95241 | 753 | config SENSORS_LM95241 |
754 | tristate "National Semiconductor LM95241 and compatibles" | 754 | tristate "National Semiconductor LM95241 and compatibles" |
755 | depends on I2C | 755 | depends on I2C |
756 | help | 756 | help |
757 | If you say yes here you get support for LM95231 and LM95241 sensor | 757 | If you say yes here you get support for LM95231 and LM95241 sensor |
758 | chips. | 758 | chips. |
759 | 759 | ||
760 | This driver can also be built as a module. If so, the module | 760 | This driver can also be built as a module. If so, the module |
761 | will be called lm95241. | 761 | will be called lm95241. |
762 | 762 | ||
763 | config SENSORS_LM95245 | 763 | config SENSORS_LM95245 |
764 | tristate "National Semiconductor LM95245 sensor chip" | 764 | tristate "National Semiconductor LM95245 sensor chip" |
765 | depends on I2C | 765 | depends on I2C |
766 | help | 766 | help |
767 | If you say yes here you get support for LM95245 sensor chip. | 767 | If you say yes here you get support for LM95245 sensor chip. |
768 | 768 | ||
769 | This driver can also be built as a module. If so, the module | 769 | This driver can also be built as a module. If so, the module |
770 | will be called lm95245. | 770 | will be called lm95245. |
771 | 771 | ||
772 | config SENSORS_MAX1111 | 772 | config SENSORS_MAX1111 |
773 | tristate "Maxim MAX1111 Serial 8-bit ADC chip and compatibles" | 773 | tristate "Maxim MAX1111 Serial 8-bit ADC chip and compatibles" |
774 | depends on SPI_MASTER | 774 | depends on SPI_MASTER |
775 | help | 775 | help |
776 | Say y here to support Maxim's MAX1110, MAX1111, MAX1112, and MAX1113 | 776 | Say y here to support Maxim's MAX1110, MAX1111, MAX1112, and MAX1113 |
777 | ADC chips. | 777 | ADC chips. |
778 | 778 | ||
779 | This driver can also be built as a module. If so, the module | 779 | This driver can also be built as a module. If so, the module |
780 | will be called max1111. | 780 | will be called max1111. |
781 | 781 | ||
782 | config SENSORS_MAX16065 | 782 | config SENSORS_MAX16065 |
783 | tristate "Maxim MAX16065 System Manager and compatibles" | 783 | tristate "Maxim MAX16065 System Manager and compatibles" |
784 | depends on I2C | 784 | depends on I2C |
785 | help | 785 | help |
786 | If you say yes here you get support for hardware monitoring | 786 | If you say yes here you get support for hardware monitoring |
787 | capabilities of the following Maxim System Manager chips. | 787 | capabilities of the following Maxim System Manager chips. |
788 | MAX16065 | 788 | MAX16065 |
789 | MAX16066 | 789 | MAX16066 |
790 | MAX16067 | 790 | MAX16067 |
791 | MAX16068 | 791 | MAX16068 |
792 | MAX16070 | 792 | MAX16070 |
793 | MAX16071 | 793 | MAX16071 |
794 | 794 | ||
795 | This driver can also be built as a module. If so, the module | 795 | This driver can also be built as a module. If so, the module |
796 | will be called max16065. | 796 | will be called max16065. |
797 | 797 | ||
798 | config SENSORS_MAX1619 | 798 | config SENSORS_MAX1619 |
799 | tristate "Maxim MAX1619 sensor chip" | 799 | tristate "Maxim MAX1619 sensor chip" |
800 | depends on I2C | 800 | depends on I2C |
801 | help | 801 | help |
802 | If you say yes here you get support for MAX1619 sensor chip. | 802 | If you say yes here you get support for MAX1619 sensor chip. |
803 | 803 | ||
804 | This driver can also be built as a module. If so, the module | 804 | This driver can also be built as a module. If so, the module |
805 | will be called max1619. | 805 | will be called max1619. |
806 | 806 | ||
807 | config SENSORS_MAX1668 | 807 | config SENSORS_MAX1668 |
808 | tristate "Maxim MAX1668 and compatibles" | 808 | tristate "Maxim MAX1668 and compatibles" |
809 | depends on I2C | 809 | depends on I2C |
810 | help | 810 | help |
811 | If you say yes here you get support for MAX1668, MAX1989 and | 811 | If you say yes here you get support for MAX1668, MAX1989 and |
812 | MAX1805 chips. | 812 | MAX1805 chips. |
813 | 813 | ||
814 | This driver can also be built as a module. If so, the module | 814 | This driver can also be built as a module. If so, the module |
815 | will be called max1668. | 815 | will be called max1668. |
816 | 816 | ||
817 | config SENSORS_MAX197 | 817 | config SENSORS_MAX197 |
818 | tristate "Maxim MAX197 and compatibles" | 818 | tristate "Maxim MAX197 and compatibles" |
819 | help | 819 | help |
820 | Support for the Maxim MAX197 A/D converter. | 820 | Support for the Maxim MAX197 A/D converter. |
821 | Support will include, but not be limited to, MAX197, and MAX199. | 821 | Support will include, but not be limited to, MAX197, and MAX199. |
822 | 822 | ||
823 | This driver can also be built as a module. If so, the module | 823 | This driver can also be built as a module. If so, the module |
824 | will be called max197. | 824 | will be called max197. |
825 | 825 | ||
826 | config SENSORS_MAX6639 | 826 | config SENSORS_MAX6639 |
827 | tristate "Maxim MAX6639 sensor chip" | 827 | tristate "Maxim MAX6639 sensor chip" |
828 | depends on I2C | 828 | depends on I2C |
829 | help | 829 | help |
830 | If you say yes here you get support for the MAX6639 | 830 | If you say yes here you get support for the MAX6639 |
831 | sensor chips. | 831 | sensor chips. |
832 | 832 | ||
833 | This driver can also be built as a module. If so, the module | 833 | This driver can also be built as a module. If so, the module |
834 | will be called max6639. | 834 | will be called max6639. |
835 | 835 | ||
836 | config SENSORS_MAX6642 | 836 | config SENSORS_MAX6642 |
837 | tristate "Maxim MAX6642 sensor chip" | 837 | tristate "Maxim MAX6642 sensor chip" |
838 | depends on I2C | 838 | depends on I2C |
839 | help | 839 | help |
840 | If you say yes here you get support for MAX6642 sensor chip. | 840 | If you say yes here you get support for MAX6642 sensor chip. |
841 | MAX6642 is a SMBus-Compatible Remote/Local Temperature Sensor | 841 | MAX6642 is a SMBus-Compatible Remote/Local Temperature Sensor |
842 | with Overtemperature Alarm from Maxim. | 842 | with Overtemperature Alarm from Maxim. |
843 | 843 | ||
844 | This driver can also be built as a module. If so, the module | 844 | This driver can also be built as a module. If so, the module |
845 | will be called max6642. | 845 | will be called max6642. |
846 | 846 | ||
847 | config SENSORS_MAX6650 | 847 | config SENSORS_MAX6650 |
848 | tristate "Maxim MAX6650 sensor chip" | 848 | tristate "Maxim MAX6650 sensor chip" |
849 | depends on I2C | 849 | depends on I2C |
850 | help | 850 | help |
851 | If you say yes here you get support for the MAX6650 / MAX6651 | 851 | If you say yes here you get support for the MAX6650 / MAX6651 |
852 | sensor chips. | 852 | sensor chips. |
853 | 853 | ||
854 | This driver can also be built as a module. If so, the module | 854 | This driver can also be built as a module. If so, the module |
855 | will be called max6650. | 855 | will be called max6650. |
856 | 856 | ||
857 | config SENSORS_MCP3021 | 857 | config SENSORS_MCP3021 |
858 | tristate "Microchip MCP3021" | 858 | tristate "Microchip MCP3021 and compatibles" |
859 | depends on I2C | 859 | depends on I2C |
860 | help | 860 | help |
861 | If you say yes here you get support for the MCP3021 chip | 861 | If you say yes here you get support for MCP3021 and MCP3221. |
862 | that is a A/D converter (ADC) with 10-bit resolution. | 862 | The MCP3021 is a A/D converter (ADC) with 10-bit and the MCP3221 |
863 | with 12-bit resolution. | ||
863 | 864 | ||
864 | This driver can also be built as a module. If so, the module | 865 | This driver can also be built as a module. If so, the module |
865 | will be called mcp3021. | 866 | will be called mcp3021. |
866 | 867 | ||
867 | config SENSORS_NTC_THERMISTOR | 868 | config SENSORS_NTC_THERMISTOR |
868 | tristate "NTC thermistor support" | 869 | tristate "NTC thermistor support" |
869 | help | 870 | help |
870 | This driver supports NTC thermistors sensor reading and its | 871 | This driver supports NTC thermistors sensor reading and its |
871 | interpretation. The driver can also monitor the temperature and | 872 | interpretation. The driver can also monitor the temperature and |
872 | send notifications about the temperature. | 873 | send notifications about the temperature. |
873 | 874 | ||
874 | Currently, this driver supports | 875 | Currently, this driver supports |
875 | NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, and NCP15WL333. | 876 | NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, and NCP15WL333. |
876 | 877 | ||
877 | This driver can also be built as a module. If so, the module | 878 | This driver can also be built as a module. If so, the module |
878 | will be called ntc-thermistor. | 879 | will be called ntc-thermistor. |
879 | 880 | ||
880 | config SENSORS_PC87360 | 881 | config SENSORS_PC87360 |
881 | tristate "National Semiconductor PC87360 family" | 882 | tristate "National Semiconductor PC87360 family" |
882 | depends on !PPC | 883 | depends on !PPC |
883 | select HWMON_VID | 884 | select HWMON_VID |
884 | help | 885 | help |
885 | If you say yes here you get access to the hardware monitoring | 886 | If you say yes here you get access to the hardware monitoring |
886 | functions of the National Semiconductor PC8736x Super-I/O chips. | 887 | functions of the National Semiconductor PC8736x Super-I/O chips. |
887 | The PC87360, PC87363 and PC87364 only have fan monitoring and | 888 | The PC87360, PC87363 and PC87364 only have fan monitoring and |
888 | control. The PC87365 and PC87366 additionally have voltage and | 889 | control. The PC87365 and PC87366 additionally have voltage and |
889 | temperature monitoring. | 890 | temperature monitoring. |
890 | 891 | ||
891 | This driver can also be built as a module. If so, the module | 892 | This driver can also be built as a module. If so, the module |
892 | will be called pc87360. | 893 | will be called pc87360. |
893 | 894 | ||
894 | config SENSORS_PC87427 | 895 | config SENSORS_PC87427 |
895 | tristate "National Semiconductor PC87427" | 896 | tristate "National Semiconductor PC87427" |
896 | depends on !PPC | 897 | depends on !PPC |
897 | help | 898 | help |
898 | If you say yes here you get access to the hardware monitoring | 899 | If you say yes here you get access to the hardware monitoring |
899 | functions of the National Semiconductor PC87427 Super-I/O chip. | 900 | functions of the National Semiconductor PC87427 Super-I/O chip. |
900 | The chip has two distinct logical devices, one for fan speed | 901 | The chip has two distinct logical devices, one for fan speed |
901 | monitoring and control, and one for voltage and temperature | 902 | monitoring and control, and one for voltage and temperature |
902 | monitoring. Fan speed monitoring and control are supported, as | 903 | monitoring. Fan speed monitoring and control are supported, as |
903 | well as temperature monitoring. Voltages aren't supported yet. | 904 | well as temperature monitoring. Voltages aren't supported yet. |
904 | 905 | ||
905 | This driver can also be built as a module. If so, the module | 906 | This driver can also be built as a module. If so, the module |
906 | will be called pc87427. | 907 | will be called pc87427. |
907 | 908 | ||
908 | config SENSORS_PCF8591 | 909 | config SENSORS_PCF8591 |
909 | tristate "Philips PCF8591 ADC/DAC" | 910 | tristate "Philips PCF8591 ADC/DAC" |
910 | depends on I2C | 911 | depends on I2C |
911 | default n | 912 | default n |
912 | help | 913 | help |
913 | If you say yes here you get support for Philips PCF8591 4-channel | 914 | If you say yes here you get support for Philips PCF8591 4-channel |
914 | ADC, 1-channel DAC chips. | 915 | ADC, 1-channel DAC chips. |
915 | 916 | ||
916 | This driver can also be built as a module. If so, the module | 917 | This driver can also be built as a module. If so, the module |
917 | will be called pcf8591. | 918 | will be called pcf8591. |
918 | 919 | ||
919 | These devices are hard to detect and rarely found on mainstream | 920 | These devices are hard to detect and rarely found on mainstream |
920 | hardware. If unsure, say N. | 921 | hardware. If unsure, say N. |
921 | 922 | ||
922 | source drivers/hwmon/pmbus/Kconfig | 923 | source drivers/hwmon/pmbus/Kconfig |
923 | 924 | ||
924 | config SENSORS_SHT15 | 925 | config SENSORS_SHT15 |
925 | tristate "Sensiron humidity and temperature sensors. SHT15 and compat." | 926 | tristate "Sensiron humidity and temperature sensors. SHT15 and compat." |
926 | depends on GPIOLIB | 927 | depends on GPIOLIB |
927 | help | 928 | help |
928 | If you say yes here you get support for the Sensiron SHT10, SHT11, | 929 | If you say yes here you get support for the Sensiron SHT10, SHT11, |
929 | SHT15, SHT71, SHT75 humidity and temperature sensors. | 930 | SHT15, SHT71, SHT75 humidity and temperature sensors. |
930 | 931 | ||
931 | This driver can also be built as a module. If so, the module | 932 | This driver can also be built as a module. If so, the module |
932 | will be called sht15. | 933 | will be called sht15. |
933 | 934 | ||
934 | config SENSORS_SHT21 | 935 | config SENSORS_SHT21 |
935 | tristate "Sensiron humidity and temperature sensors. SHT21 and compat." | 936 | tristate "Sensiron humidity and temperature sensors. SHT21 and compat." |
936 | depends on I2C | 937 | depends on I2C |
937 | help | 938 | help |
938 | If you say yes here you get support for the Sensiron SHT21, SHT25 | 939 | If you say yes here you get support for the Sensiron SHT21, SHT25 |
939 | humidity and temperature sensors. | 940 | humidity and temperature sensors. |
940 | 941 | ||
941 | This driver can also be built as a module. If so, the module | 942 | This driver can also be built as a module. If so, the module |
942 | will be called sht21. | 943 | will be called sht21. |
943 | 944 | ||
944 | config SENSORS_S3C | 945 | config SENSORS_S3C |
945 | tristate "Samsung built-in ADC" | 946 | tristate "Samsung built-in ADC" |
946 | depends on S3C_ADC | 947 | depends on S3C_ADC |
947 | help | 948 | help |
948 | If you say yes here you get support for the on-board ADCs of | 949 | If you say yes here you get support for the on-board ADCs of |
949 | the Samsung S3C24XX, S3C64XX and other series of SoC | 950 | the Samsung S3C24XX, S3C64XX and other series of SoC |
950 | 951 | ||
951 | This driver can also be built as a module. If so, the module | 952 | This driver can also be built as a module. If so, the module |
952 | will be called s3c-hwmon. | 953 | will be called s3c-hwmon. |
953 | 954 | ||
954 | config SENSORS_S3C_RAW | 955 | config SENSORS_S3C_RAW |
955 | bool "Include raw channel attributes in sysfs" | 956 | bool "Include raw channel attributes in sysfs" |
956 | depends on SENSORS_S3C | 957 | depends on SENSORS_S3C |
957 | help | 958 | help |
958 | Say Y here if you want to include raw copies of all the ADC | 959 | Say Y here if you want to include raw copies of all the ADC |
959 | channels in sysfs. | 960 | channels in sysfs. |
960 | 961 | ||
961 | config SENSORS_SIS5595 | 962 | config SENSORS_SIS5595 |
962 | tristate "Silicon Integrated Systems Corp. SiS5595" | 963 | tristate "Silicon Integrated Systems Corp. SiS5595" |
963 | depends on PCI | 964 | depends on PCI |
964 | help | 965 | help |
965 | If you say yes here you get support for the integrated sensors in | 966 | If you say yes here you get support for the integrated sensors in |
966 | SiS5595 South Bridges. | 967 | SiS5595 South Bridges. |
967 | 968 | ||
968 | This driver can also be built as a module. If so, the module | 969 | This driver can also be built as a module. If so, the module |
969 | will be called sis5595. | 970 | will be called sis5595. |
970 | 971 | ||
971 | config SENSORS_SMM665 | 972 | config SENSORS_SMM665 |
972 | tristate "Summit Microelectronics SMM665" | 973 | tristate "Summit Microelectronics SMM665" |
973 | depends on I2C | 974 | depends on I2C |
974 | default n | 975 | default n |
975 | help | 976 | help |
976 | If you say yes here you get support for the hardware monitoring | 977 | If you say yes here you get support for the hardware monitoring |
977 | features of the Summit Microelectronics SMM665/SMM665B Six-Channel | 978 | features of the Summit Microelectronics SMM665/SMM665B Six-Channel |
978 | Active DC Output Controller / Monitor. | 979 | Active DC Output Controller / Monitor. |
979 | 980 | ||
980 | Other supported chips are SMM465, SMM665C, SMM764, and SMM766. | 981 | Other supported chips are SMM465, SMM665C, SMM764, and SMM766. |
981 | Support for those chips is untested. | 982 | Support for those chips is untested. |
982 | 983 | ||
983 | This driver can also be built as a module. If so, the module will | 984 | This driver can also be built as a module. If so, the module will |
984 | be called smm665. | 985 | be called smm665. |
985 | 986 | ||
986 | config SENSORS_DME1737 | 987 | config SENSORS_DME1737 |
987 | tristate "SMSC DME1737, SCH311x and compatibles" | 988 | tristate "SMSC DME1737, SCH311x and compatibles" |
988 | depends on I2C && !PPC | 989 | depends on I2C && !PPC |
989 | select HWMON_VID | 990 | select HWMON_VID |
990 | help | 991 | help |
991 | If you say yes here you get support for the hardware monitoring | 992 | If you say yes here you get support for the hardware monitoring |
992 | and fan control features of the SMSC DME1737, SCH311x, SCH5027, and | 993 | and fan control features of the SMSC DME1737, SCH311x, SCH5027, and |
993 | Asus A8000 Super-I/O chips. | 994 | Asus A8000 Super-I/O chips. |
994 | 995 | ||
995 | This driver can also be built as a module. If so, the module | 996 | This driver can also be built as a module. If so, the module |
996 | will be called dme1737. | 997 | will be called dme1737. |
997 | 998 | ||
998 | config SENSORS_EMC1403 | 999 | config SENSORS_EMC1403 |
999 | tristate "SMSC EMC1403/23 thermal sensor" | 1000 | tristate "SMSC EMC1403/23 thermal sensor" |
1000 | depends on I2C | 1001 | depends on I2C |
1001 | help | 1002 | help |
1002 | If you say yes here you get support for the SMSC EMC1403/23 | 1003 | If you say yes here you get support for the SMSC EMC1403/23 |
1003 | temperature monitoring chip. | 1004 | temperature monitoring chip. |
1004 | 1005 | ||
1005 | Threshold values can be configured using sysfs. | 1006 | Threshold values can be configured using sysfs. |
1006 | Data from the different diodes are accessible via sysfs. | 1007 | Data from the different diodes are accessible via sysfs. |
1007 | 1008 | ||
1008 | config SENSORS_EMC2103 | 1009 | config SENSORS_EMC2103 |
1009 | tristate "SMSC EMC2103" | 1010 | tristate "SMSC EMC2103" |
1010 | depends on I2C | 1011 | depends on I2C |
1011 | help | 1012 | help |
1012 | If you say yes here you get support for the temperature | 1013 | If you say yes here you get support for the temperature |
1013 | and fan sensors of the SMSC EMC2103 chips. | 1014 | and fan sensors of the SMSC EMC2103 chips. |
1014 | 1015 | ||
1015 | This driver can also be built as a module. If so, the module | 1016 | This driver can also be built as a module. If so, the module |
1016 | will be called emc2103. | 1017 | will be called emc2103. |
1017 | 1018 | ||
1018 | config SENSORS_EMC6W201 | 1019 | config SENSORS_EMC6W201 |
1019 | tristate "SMSC EMC6W201" | 1020 | tristate "SMSC EMC6W201" |
1020 | depends on I2C | 1021 | depends on I2C |
1021 | help | 1022 | help |
1022 | If you say yes here you get support for the SMSC EMC6W201 | 1023 | If you say yes here you get support for the SMSC EMC6W201 |
1023 | hardware monitoring chip. | 1024 | hardware monitoring chip. |
1024 | 1025 | ||
1025 | This driver can also be built as a module. If so, the module | 1026 | This driver can also be built as a module. If so, the module |
1026 | will be called emc6w201. | 1027 | will be called emc6w201. |
1027 | 1028 | ||
1028 | config SENSORS_SMSC47M1 | 1029 | config SENSORS_SMSC47M1 |
1029 | tristate "SMSC LPC47M10x and compatibles" | 1030 | tristate "SMSC LPC47M10x and compatibles" |
1030 | depends on !PPC | 1031 | depends on !PPC |
1031 | help | 1032 | help |
1032 | If you say yes here you get support for the integrated fan | 1033 | If you say yes here you get support for the integrated fan |
1033 | monitoring and control capabilities of the SMSC LPC47B27x, | 1034 | monitoring and control capabilities of the SMSC LPC47B27x, |
1034 | LPC47M10x, LPC47M112, LPC47M13x, LPC47M14x, LPC47M15x, | 1035 | LPC47M10x, LPC47M112, LPC47M13x, LPC47M14x, LPC47M15x, |
1035 | LPC47M192, LPC47M292 and LPC47M997 chips. | 1036 | LPC47M192, LPC47M292 and LPC47M997 chips. |
1036 | 1037 | ||
1037 | The temperature and voltage sensor features of the LPC47M15x, | 1038 | The temperature and voltage sensor features of the LPC47M15x, |
1038 | LPC47M192, LPC47M292 and LPC47M997 are supported by another | 1039 | LPC47M192, LPC47M292 and LPC47M997 are supported by another |
1039 | driver, select also "SMSC LPC47M192 and compatibles" below for | 1040 | driver, select also "SMSC LPC47M192 and compatibles" below for |
1040 | those. | 1041 | those. |
1041 | 1042 | ||
1042 | This driver can also be built as a module. If so, the module | 1043 | This driver can also be built as a module. If so, the module |
1043 | will be called smsc47m1. | 1044 | will be called smsc47m1. |
1044 | 1045 | ||
1045 | config SENSORS_SMSC47M192 | 1046 | config SENSORS_SMSC47M192 |
1046 | tristate "SMSC LPC47M192 and compatibles" | 1047 | tristate "SMSC LPC47M192 and compatibles" |
1047 | depends on I2C | 1048 | depends on I2C |
1048 | select HWMON_VID | 1049 | select HWMON_VID |
1049 | help | 1050 | help |
1050 | If you say yes here you get support for the temperature and | 1051 | If you say yes here you get support for the temperature and |
1051 | voltage sensors of the SMSC LPC47M192, LPC47M15x, LPC47M292 | 1052 | voltage sensors of the SMSC LPC47M192, LPC47M15x, LPC47M292 |
1052 | and LPC47M997 chips. | 1053 | and LPC47M997 chips. |
1053 | 1054 | ||
1054 | The fan monitoring and control capabilities of these chips | 1055 | The fan monitoring and control capabilities of these chips |
1055 | are supported by another driver, select | 1056 | are supported by another driver, select |
1056 | "SMSC LPC47M10x and compatibles" above. You need both drivers | 1057 | "SMSC LPC47M10x and compatibles" above. You need both drivers |
1057 | if you want fan control and voltage/temperature sensor support. | 1058 | if you want fan control and voltage/temperature sensor support. |
1058 | 1059 | ||
1059 | This driver can also be built as a module. If so, the module | 1060 | This driver can also be built as a module. If so, the module |
1060 | will be called smsc47m192. | 1061 | will be called smsc47m192. |
1061 | 1062 | ||
1062 | config SENSORS_SMSC47B397 | 1063 | config SENSORS_SMSC47B397 |
1063 | tristate "SMSC LPC47B397-NC" | 1064 | tristate "SMSC LPC47B397-NC" |
1064 | depends on !PPC | 1065 | depends on !PPC |
1065 | help | 1066 | help |
1066 | If you say yes here you get support for the SMSC LPC47B397-NC | 1067 | If you say yes here you get support for the SMSC LPC47B397-NC |
1067 | sensor chip. | 1068 | sensor chip. |
1068 | 1069 | ||
1069 | This driver can also be built as a module. If so, the module | 1070 | This driver can also be built as a module. If so, the module |
1070 | will be called smsc47b397. | 1071 | will be called smsc47b397. |
1071 | 1072 | ||
1072 | config SENSORS_SCH56XX_COMMON | 1073 | config SENSORS_SCH56XX_COMMON |
1073 | tristate | 1074 | tristate |
1074 | default n | 1075 | default n |
1075 | 1076 | ||
1076 | config SENSORS_SCH5627 | 1077 | config SENSORS_SCH5627 |
1077 | tristate "SMSC SCH5627" | 1078 | tristate "SMSC SCH5627" |
1078 | depends on !PPC && WATCHDOG | 1079 | depends on !PPC && WATCHDOG |
1079 | select SENSORS_SCH56XX_COMMON | 1080 | select SENSORS_SCH56XX_COMMON |
1080 | select WATCHDOG_CORE | 1081 | select WATCHDOG_CORE |
1081 | help | 1082 | help |
1082 | If you say yes here you get support for the hardware monitoring | 1083 | If you say yes here you get support for the hardware monitoring |
1083 | features of the SMSC SCH5627 Super-I/O chip including support for | 1084 | features of the SMSC SCH5627 Super-I/O chip including support for |
1084 | the integrated watchdog. | 1085 | the integrated watchdog. |
1085 | 1086 | ||
1086 | This driver can also be built as a module. If so, the module | 1087 | This driver can also be built as a module. If so, the module |
1087 | will be called sch5627. | 1088 | will be called sch5627. |
1088 | 1089 | ||
1089 | config SENSORS_SCH5636 | 1090 | config SENSORS_SCH5636 |
1090 | tristate "SMSC SCH5636" | 1091 | tristate "SMSC SCH5636" |
1091 | depends on !PPC && WATCHDOG | 1092 | depends on !PPC && WATCHDOG |
1092 | select SENSORS_SCH56XX_COMMON | 1093 | select SENSORS_SCH56XX_COMMON |
1093 | select WATCHDOG_CORE | 1094 | select WATCHDOG_CORE |
1094 | help | 1095 | help |
1095 | SMSC SCH5636 Super I/O chips include an embedded microcontroller for | 1096 | SMSC SCH5636 Super I/O chips include an embedded microcontroller for |
1096 | hardware monitoring solutions, allowing motherboard manufacturers to | 1097 | hardware monitoring solutions, allowing motherboard manufacturers to |
1097 | create their own custom hwmon solution based upon the SCH5636. | 1098 | create their own custom hwmon solution based upon the SCH5636. |
1098 | 1099 | ||
1099 | Currently this driver only supports the Fujitsu Theseus SCH5636 based | 1100 | Currently this driver only supports the Fujitsu Theseus SCH5636 based |
1100 | hwmon solution. Say yes here if you want support for the Fujitsu | 1101 | hwmon solution. Say yes here if you want support for the Fujitsu |
1101 | Theseus' hardware monitoring features including support for the | 1102 | Theseus' hardware monitoring features including support for the |
1102 | integrated watchdog. | 1103 | integrated watchdog. |
1103 | 1104 | ||
1104 | This driver can also be built as a module. If so, the module | 1105 | This driver can also be built as a module. If so, the module |
1105 | will be called sch5636. | 1106 | will be called sch5636. |
1106 | 1107 | ||
1107 | config SENSORS_ADS1015 | 1108 | config SENSORS_ADS1015 |
1108 | tristate "Texas Instruments ADS1015" | 1109 | tristate "Texas Instruments ADS1015" |
1109 | depends on I2C | 1110 | depends on I2C |
1110 | help | 1111 | help |
1111 | If you say yes here you get support for Texas Instruments ADS1015 | 1112 | If you say yes here you get support for Texas Instruments ADS1015 |
1112 | 12-bit 4-input ADC device. | 1113 | 12-bit 4-input ADC device. |
1113 | 1114 | ||
1114 | This driver can also be built as a module. If so, the module | 1115 | This driver can also be built as a module. If so, the module |
1115 | will be called ads1015. | 1116 | will be called ads1015. |
1116 | 1117 | ||
1117 | config SENSORS_ADS7828 | 1118 | config SENSORS_ADS7828 |
1118 | tristate "Texas Instruments ADS7828" | 1119 | tristate "Texas Instruments ADS7828" |
1119 | depends on I2C | 1120 | depends on I2C |
1120 | help | 1121 | help |
1121 | If you say yes here you get support for Texas Instruments ADS7828 | 1122 | If you say yes here you get support for Texas Instruments ADS7828 |
1122 | 12-bit 8-channel ADC device. | 1123 | 12-bit 8-channel ADC device. |
1123 | 1124 | ||
1124 | This driver can also be built as a module. If so, the module | 1125 | This driver can also be built as a module. If so, the module |
1125 | will be called ads7828. | 1126 | will be called ads7828. |
1126 | 1127 | ||
1127 | config SENSORS_ADS7871 | 1128 | config SENSORS_ADS7871 |
1128 | tristate "Texas Instruments ADS7871 A/D converter" | 1129 | tristate "Texas Instruments ADS7871 A/D converter" |
1129 | depends on SPI | 1130 | depends on SPI |
1130 | help | 1131 | help |
1131 | If you say yes here you get support for TI ADS7871 & ADS7870 | 1132 | If you say yes here you get support for TI ADS7871 & ADS7870 |
1132 | 1133 | ||
1133 | This driver can also be built as a module. If so, the module | 1134 | This driver can also be built as a module. If so, the module |
1134 | will be called ads7871. | 1135 | will be called ads7871. |
1135 | 1136 | ||
1136 | config SENSORS_AMC6821 | 1137 | config SENSORS_AMC6821 |
1137 | tristate "Texas Instruments AMC6821" | 1138 | tristate "Texas Instruments AMC6821" |
1138 | depends on I2C | 1139 | depends on I2C |
1139 | help | 1140 | help |
1140 | If you say yes here you get support for the Texas Instruments | 1141 | If you say yes here you get support for the Texas Instruments |
1141 | AMC6821 hardware monitoring chips. | 1142 | AMC6821 hardware monitoring chips. |
1142 | 1143 | ||
1143 | This driver can also be build as a module. If so, the module | 1144 | This driver can also be build as a module. If so, the module |
1144 | will be called amc6821. | 1145 | will be called amc6821. |
1145 | 1146 | ||
1146 | config SENSORS_INA2XX | 1147 | config SENSORS_INA2XX |
1147 | tristate "Texas Instruments INA219 and compatibles" | 1148 | tristate "Texas Instruments INA219 and compatibles" |
1148 | depends on I2C | 1149 | depends on I2C |
1149 | help | 1150 | help |
1150 | If you say yes here you get support for INA219, INA220, INA226, and | 1151 | If you say yes here you get support for INA219, INA220, INA226, and |
1151 | INA230 power monitor chips. | 1152 | INA230 power monitor chips. |
1152 | 1153 | ||
1153 | The INA2xx driver is configured for the default configuration of | 1154 | The INA2xx driver is configured for the default configuration of |
1154 | the part as described in the datasheet. | 1155 | the part as described in the datasheet. |
1155 | Default value for Rshunt is 10 mOhms. | 1156 | Default value for Rshunt is 10 mOhms. |
1156 | This driver can also be built as a module. If so, the module | 1157 | This driver can also be built as a module. If so, the module |
1157 | will be called ina2xx. | 1158 | will be called ina2xx. |
1158 | 1159 | ||
1159 | config SENSORS_THMC50 | 1160 | config SENSORS_THMC50 |
1160 | tristate "Texas Instruments THMC50 / Analog Devices ADM1022" | 1161 | tristate "Texas Instruments THMC50 / Analog Devices ADM1022" |
1161 | depends on I2C | 1162 | depends on I2C |
1162 | help | 1163 | help |
1163 | If you say yes here you get support for Texas Instruments THMC50 | 1164 | If you say yes here you get support for Texas Instruments THMC50 |
1164 | sensor chips and clones: the Analog Devices ADM1022. | 1165 | sensor chips and clones: the Analog Devices ADM1022. |
1165 | 1166 | ||
1166 | This driver can also be built as a module. If so, the module | 1167 | This driver can also be built as a module. If so, the module |
1167 | will be called thmc50. | 1168 | will be called thmc50. |
1168 | 1169 | ||
1169 | config SENSORS_TMP102 | 1170 | config SENSORS_TMP102 |
1170 | tristate "Texas Instruments TMP102" | 1171 | tristate "Texas Instruments TMP102" |
1171 | depends on I2C | 1172 | depends on I2C |
1172 | help | 1173 | help |
1173 | If you say yes here you get support for Texas Instruments TMP102 | 1174 | If you say yes here you get support for Texas Instruments TMP102 |
1174 | sensor chips. | 1175 | sensor chips. |
1175 | 1176 | ||
1176 | This driver can also be built as a module. If so, the module | 1177 | This driver can also be built as a module. If so, the module |
1177 | will be called tmp102. | 1178 | will be called tmp102. |
1178 | 1179 | ||
1179 | config SENSORS_TMP401 | 1180 | config SENSORS_TMP401 |
1180 | tristate "Texas Instruments TMP401 and compatibles" | 1181 | tristate "Texas Instruments TMP401 and compatibles" |
1181 | depends on I2C | 1182 | depends on I2C |
1182 | help | 1183 | help |
1183 | If you say yes here you get support for Texas Instruments TMP401 and | 1184 | If you say yes here you get support for Texas Instruments TMP401 and |
1184 | TMP411 temperature sensor chips. | 1185 | TMP411 temperature sensor chips. |
1185 | 1186 | ||
1186 | This driver can also be built as a module. If so, the module | 1187 | This driver can also be built as a module. If so, the module |
1187 | will be called tmp401. | 1188 | will be called tmp401. |
1188 | 1189 | ||
1189 | config SENSORS_TMP421 | 1190 | config SENSORS_TMP421 |
1190 | tristate "Texas Instruments TMP421 and compatible" | 1191 | tristate "Texas Instruments TMP421 and compatible" |
1191 | depends on I2C | 1192 | depends on I2C |
1192 | help | 1193 | help |
1193 | If you say yes here you get support for Texas Instruments TMP421, | 1194 | If you say yes here you get support for Texas Instruments TMP421, |
1194 | TMP422 and TMP423 temperature sensor chips. | 1195 | TMP422 and TMP423 temperature sensor chips. |
1195 | 1196 | ||
1196 | This driver can also be built as a module. If so, the module | 1197 | This driver can also be built as a module. If so, the module |
1197 | will be called tmp421. | 1198 | will be called tmp421. |
1198 | 1199 | ||
1199 | config SENSORS_TWL4030_MADC | 1200 | config SENSORS_TWL4030_MADC |
1200 | tristate "Texas Instruments TWL4030 MADC Hwmon" | 1201 | tristate "Texas Instruments TWL4030 MADC Hwmon" |
1201 | depends on TWL4030_MADC | 1202 | depends on TWL4030_MADC |
1202 | help | 1203 | help |
1203 | If you say yes here you get hwmon support for triton | 1204 | If you say yes here you get hwmon support for triton |
1204 | TWL4030-MADC. | 1205 | TWL4030-MADC. |
1205 | 1206 | ||
1206 | This driver can also be built as a module. If so it will be called | 1207 | This driver can also be built as a module. If so it will be called |
1207 | twl4030-madc-hwmon. | 1208 | twl4030-madc-hwmon. |
1208 | 1209 | ||
1209 | config SENSORS_VIA_CPUTEMP | 1210 | config SENSORS_VIA_CPUTEMP |
1210 | tristate "VIA CPU temperature sensor" | 1211 | tristate "VIA CPU temperature sensor" |
1211 | depends on X86 | 1212 | depends on X86 |
1212 | select HWMON_VID | 1213 | select HWMON_VID |
1213 | help | 1214 | help |
1214 | If you say yes here you get support for the temperature | 1215 | If you say yes here you get support for the temperature |
1215 | sensor inside your CPU. Supported are all known variants of | 1216 | sensor inside your CPU. Supported are all known variants of |
1216 | the VIA C7 and Nano. | 1217 | the VIA C7 and Nano. |
1217 | 1218 | ||
1218 | config SENSORS_VIA686A | 1219 | config SENSORS_VIA686A |
1219 | tristate "VIA686A" | 1220 | tristate "VIA686A" |
1220 | depends on PCI | 1221 | depends on PCI |
1221 | help | 1222 | help |
1222 | If you say yes here you get support for the integrated sensors in | 1223 | If you say yes here you get support for the integrated sensors in |
1223 | Via 686A/B South Bridges. | 1224 | Via 686A/B South Bridges. |
1224 | 1225 | ||
1225 | This driver can also be built as a module. If so, the module | 1226 | This driver can also be built as a module. If so, the module |
1226 | will be called via686a. | 1227 | will be called via686a. |
1227 | 1228 | ||
1228 | config SENSORS_VT1211 | 1229 | config SENSORS_VT1211 |
1229 | tristate "VIA VT1211" | 1230 | tristate "VIA VT1211" |
1230 | depends on !PPC | 1231 | depends on !PPC |
1231 | select HWMON_VID | 1232 | select HWMON_VID |
1232 | help | 1233 | help |
1233 | If you say yes here then you get support for hardware monitoring | 1234 | If you say yes here then you get support for hardware monitoring |
1234 | features of the VIA VT1211 Super-I/O chip. | 1235 | features of the VIA VT1211 Super-I/O chip. |
1235 | 1236 | ||
1236 | This driver can also be built as a module. If so, the module | 1237 | This driver can also be built as a module. If so, the module |
1237 | will be called vt1211. | 1238 | will be called vt1211. |
1238 | 1239 | ||
1239 | config SENSORS_VT8231 | 1240 | config SENSORS_VT8231 |
1240 | tristate "VIA VT8231" | 1241 | tristate "VIA VT8231" |
1241 | depends on PCI | 1242 | depends on PCI |
1242 | select HWMON_VID | 1243 | select HWMON_VID |
1243 | help | 1244 | help |
1244 | If you say yes here then you get support for the integrated sensors | 1245 | If you say yes here then you get support for the integrated sensors |
1245 | in the VIA VT8231 device. | 1246 | in the VIA VT8231 device. |
1246 | 1247 | ||
1247 | This driver can also be built as a module. If so, the module | 1248 | This driver can also be built as a module. If so, the module |
1248 | will be called vt8231. | 1249 | will be called vt8231. |
1249 | 1250 | ||
1250 | config SENSORS_W83781D | 1251 | config SENSORS_W83781D |
1251 | tristate "Winbond W83781D, W83782D, W83783S, Asus AS99127F" | 1252 | tristate "Winbond W83781D, W83782D, W83783S, Asus AS99127F" |
1252 | depends on I2C | 1253 | depends on I2C |
1253 | select HWMON_VID | 1254 | select HWMON_VID |
1254 | help | 1255 | help |
1255 | If you say yes here you get support for the Winbond W8378x series | 1256 | If you say yes here you get support for the Winbond W8378x series |
1256 | of sensor chips: the W83781D, W83782D and W83783S, and the similar | 1257 | of sensor chips: the W83781D, W83782D and W83783S, and the similar |
1257 | Asus AS99127F. | 1258 | Asus AS99127F. |
1258 | 1259 | ||
1259 | This driver can also be built as a module. If so, the module | 1260 | This driver can also be built as a module. If so, the module |
1260 | will be called w83781d. | 1261 | will be called w83781d. |
1261 | 1262 | ||
1262 | config SENSORS_W83791D | 1263 | config SENSORS_W83791D |
1263 | tristate "Winbond W83791D" | 1264 | tristate "Winbond W83791D" |
1264 | depends on I2C | 1265 | depends on I2C |
1265 | select HWMON_VID | 1266 | select HWMON_VID |
1266 | help | 1267 | help |
1267 | If you say yes here you get support for the Winbond W83791D chip. | 1268 | If you say yes here you get support for the Winbond W83791D chip. |
1268 | 1269 | ||
1269 | This driver can also be built as a module. If so, the module | 1270 | This driver can also be built as a module. If so, the module |
1270 | will be called w83791d. | 1271 | will be called w83791d. |
1271 | 1272 | ||
1272 | config SENSORS_W83792D | 1273 | config SENSORS_W83792D |
1273 | tristate "Winbond W83792D" | 1274 | tristate "Winbond W83792D" |
1274 | depends on I2C | 1275 | depends on I2C |
1275 | help | 1276 | help |
1276 | If you say yes here you get support for the Winbond W83792D chip. | 1277 | If you say yes here you get support for the Winbond W83792D chip. |
1277 | 1278 | ||
1278 | This driver can also be built as a module. If so, the module | 1279 | This driver can also be built as a module. If so, the module |
1279 | will be called w83792d. | 1280 | will be called w83792d. |
1280 | 1281 | ||
1281 | config SENSORS_W83793 | 1282 | config SENSORS_W83793 |
1282 | tristate "Winbond W83793" | 1283 | tristate "Winbond W83793" |
1283 | depends on I2C | 1284 | depends on I2C |
1284 | select HWMON_VID | 1285 | select HWMON_VID |
1285 | help | 1286 | help |
1286 | If you say yes here you get support for the Winbond W83793 | 1287 | If you say yes here you get support for the Winbond W83793 |
1287 | hardware monitoring chip, including support for the integrated | 1288 | hardware monitoring chip, including support for the integrated |
1288 | watchdog. | 1289 | watchdog. |
1289 | 1290 | ||
1290 | This driver can also be built as a module. If so, the module | 1291 | This driver can also be built as a module. If so, the module |
1291 | will be called w83793. | 1292 | will be called w83793. |
1292 | 1293 | ||
1293 | config SENSORS_W83795 | 1294 | config SENSORS_W83795 |
1294 | tristate "Winbond/Nuvoton W83795G/ADG" | 1295 | tristate "Winbond/Nuvoton W83795G/ADG" |
1295 | depends on I2C | 1296 | depends on I2C |
1296 | help | 1297 | help |
1297 | If you say yes here you get support for the Winbond W83795G and | 1298 | If you say yes here you get support for the Winbond W83795G and |
1298 | W83795ADG hardware monitoring chip, including manual fan speed | 1299 | W83795ADG hardware monitoring chip, including manual fan speed |
1299 | control. | 1300 | control. |
1300 | 1301 | ||
1301 | This driver can also be built as a module. If so, the module | 1302 | This driver can also be built as a module. If so, the module |
1302 | will be called w83795. | 1303 | will be called w83795. |
1303 | 1304 | ||
1304 | config SENSORS_W83795_FANCTRL | 1305 | config SENSORS_W83795_FANCTRL |
1305 | boolean "Include automatic fan control support (DANGEROUS)" | 1306 | boolean "Include automatic fan control support (DANGEROUS)" |
1306 | depends on SENSORS_W83795 | 1307 | depends on SENSORS_W83795 |
1307 | default n | 1308 | default n |
1308 | help | 1309 | help |
1309 | If you say yes here, support for automatic fan speed control | 1310 | If you say yes here, support for automatic fan speed control |
1310 | will be included in the driver. | 1311 | will be included in the driver. |
1311 | 1312 | ||
1312 | This part of the code wasn't carefully reviewed and tested yet, | 1313 | This part of the code wasn't carefully reviewed and tested yet, |
1313 | so enabling this option is strongly discouraged on production | 1314 | so enabling this option is strongly discouraged on production |
1314 | servers. Only developers and testers should enable it for the | 1315 | servers. Only developers and testers should enable it for the |
1315 | time being. | 1316 | time being. |
1316 | 1317 | ||
1317 | Please also note that this option will create sysfs attribute | 1318 | Please also note that this option will create sysfs attribute |
1318 | files which may change in the future, so you shouldn't rely | 1319 | files which may change in the future, so you shouldn't rely |
1319 | on them being stable. | 1320 | on them being stable. |
1320 | 1321 | ||
1321 | config SENSORS_W83L785TS | 1322 | config SENSORS_W83L785TS |
1322 | tristate "Winbond W83L785TS-S" | 1323 | tristate "Winbond W83L785TS-S" |
1323 | depends on I2C | 1324 | depends on I2C |
1324 | help | 1325 | help |
1325 | If you say yes here you get support for the Winbond W83L785TS-S | 1326 | If you say yes here you get support for the Winbond W83L785TS-S |
1326 | sensor chip, which is used on the Asus A7N8X, among other | 1327 | sensor chip, which is used on the Asus A7N8X, among other |
1327 | motherboards. | 1328 | motherboards. |
1328 | 1329 | ||
1329 | This driver can also be built as a module. If so, the module | 1330 | This driver can also be built as a module. If so, the module |
1330 | will be called w83l785ts. | 1331 | will be called w83l785ts. |
1331 | 1332 | ||
1332 | config SENSORS_W83L786NG | 1333 | config SENSORS_W83L786NG |
1333 | tristate "Winbond W83L786NG, W83L786NR" | 1334 | tristate "Winbond W83L786NG, W83L786NR" |
1334 | depends on I2C | 1335 | depends on I2C |
1335 | help | 1336 | help |
1336 | If you say yes here you get support for the Winbond W83L786NG | 1337 | If you say yes here you get support for the Winbond W83L786NG |
1337 | and W83L786NR sensor chips. | 1338 | and W83L786NR sensor chips. |
1338 | 1339 | ||
1339 | This driver can also be built as a module. If so, the module | 1340 | This driver can also be built as a module. If so, the module |
1340 | will be called w83l786ng. | 1341 | will be called w83l786ng. |
1341 | 1342 | ||
1342 | config SENSORS_W83627HF | 1343 | config SENSORS_W83627HF |
1343 | tristate "Winbond W83627HF, W83627THF, W83637HF, W83687THF, W83697HF" | 1344 | tristate "Winbond W83627HF, W83627THF, W83637HF, W83687THF, W83697HF" |
1344 | depends on !PPC | 1345 | depends on !PPC |
1345 | select HWMON_VID | 1346 | select HWMON_VID |
1346 | help | 1347 | help |
1347 | If you say yes here you get support for the Winbond W836X7 series | 1348 | If you say yes here you get support for the Winbond W836X7 series |
1348 | of sensor chips: the W83627HF, W83627THF, W83637HF, W83687THF and | 1349 | of sensor chips: the W83627HF, W83627THF, W83637HF, W83687THF and |
1349 | W83697HF. | 1350 | W83697HF. |
1350 | 1351 | ||
1351 | This driver can also be built as a module. If so, the module | 1352 | This driver can also be built as a module. If so, the module |
1352 | will be called w83627hf. | 1353 | will be called w83627hf. |
1353 | 1354 | ||
1354 | config SENSORS_W83627EHF | 1355 | config SENSORS_W83627EHF |
1355 | tristate "Winbond W83627EHF/EHG/DHG/UHG, W83667HG, NCT6775F, NCT6776F" | 1356 | tristate "Winbond W83627EHF/EHG/DHG/UHG, W83667HG, NCT6775F, NCT6776F" |
1356 | depends on !PPC | 1357 | depends on !PPC |
1357 | select HWMON_VID | 1358 | select HWMON_VID |
1358 | help | 1359 | help |
1359 | If you say yes here you get support for the hardware | 1360 | If you say yes here you get support for the hardware |
1360 | monitoring functionality of the Winbond W83627EHF Super-I/O chip. | 1361 | monitoring functionality of the Winbond W83627EHF Super-I/O chip. |
1361 | 1362 | ||
1362 | This driver also supports the W83627EHG, which is the lead-free | 1363 | This driver also supports the W83627EHG, which is the lead-free |
1363 | version of the W83627EHF, and the W83627DHG, which is a similar | 1364 | version of the W83627EHF, and the W83627DHG, which is a similar |
1364 | chip suited for specific Intel processors that use PECI such as | 1365 | chip suited for specific Intel processors that use PECI such as |
1365 | the Core 2 Duo. And also the W83627UHG, which is a stripped down | 1366 | the Core 2 Duo. And also the W83627UHG, which is a stripped down |
1366 | version of the W83627DHG (as far as hardware monitoring goes.) | 1367 | version of the W83627DHG (as far as hardware monitoring goes.) |
1367 | 1368 | ||
1368 | This driver also supports Nuvoton W83667HG, W83667HG-B, NCT6775F | 1369 | This driver also supports Nuvoton W83667HG, W83667HG-B, NCT6775F |
1369 | (also known as W83667HG-I), and NCT6776F. | 1370 | (also known as W83667HG-I), and NCT6776F. |
1370 | 1371 | ||
1371 | This driver can also be built as a module. If so, the module | 1372 | This driver can also be built as a module. If so, the module |
1372 | will be called w83627ehf. | 1373 | will be called w83627ehf. |
1373 | 1374 | ||
1374 | config SENSORS_WM831X | 1375 | config SENSORS_WM831X |
1375 | tristate "WM831x PMICs" | 1376 | tristate "WM831x PMICs" |
1376 | depends on MFD_WM831X | 1377 | depends on MFD_WM831X |
1377 | help | 1378 | help |
1378 | If you say yes here you get support for the hardware | 1379 | If you say yes here you get support for the hardware |
1379 | monitoring functionality of the Wolfson Microelectronics | 1380 | monitoring functionality of the Wolfson Microelectronics |
1380 | WM831x series of PMICs. | 1381 | WM831x series of PMICs. |
1381 | 1382 | ||
1382 | This driver can also be built as a module. If so, the module | 1383 | This driver can also be built as a module. If so, the module |
1383 | will be called wm831x-hwmon. | 1384 | will be called wm831x-hwmon. |
1384 | 1385 | ||
1385 | config SENSORS_WM8350 | 1386 | config SENSORS_WM8350 |
1386 | tristate "Wolfson Microelectronics WM835x" | 1387 | tristate "Wolfson Microelectronics WM835x" |
1387 | depends on MFD_WM8350 | 1388 | depends on MFD_WM8350 |
1388 | help | 1389 | help |
1389 | If you say yes here you get support for the hardware | 1390 | If you say yes here you get support for the hardware |
1390 | monitoring features of the WM835x series of PMICs. | 1391 | monitoring features of the WM835x series of PMICs. |
1391 | 1392 | ||
1392 | This driver can also be built as a module. If so, the module | 1393 | This driver can also be built as a module. If so, the module |
1393 | will be called wm8350-hwmon. | 1394 | will be called wm8350-hwmon. |
1394 | 1395 | ||
1395 | config SENSORS_ULTRA45 | 1396 | config SENSORS_ULTRA45 |
1396 | tristate "Sun Ultra45 PIC16F747" | 1397 | tristate "Sun Ultra45 PIC16F747" |
1397 | depends on SPARC64 | 1398 | depends on SPARC64 |
1398 | help | 1399 | help |
1399 | This driver provides support for the Ultra45 workstation environmental | 1400 | This driver provides support for the Ultra45 workstation environmental |
1400 | sensors. | 1401 | sensors. |
1401 | 1402 | ||
1402 | config SENSORS_APPLESMC | 1403 | config SENSORS_APPLESMC |
1403 | tristate "Apple SMC (Motion sensor, light sensor, keyboard backlight)" | 1404 | tristate "Apple SMC (Motion sensor, light sensor, keyboard backlight)" |
1404 | depends on INPUT && X86 | 1405 | depends on INPUT && X86 |
1405 | select NEW_LEDS | 1406 | select NEW_LEDS |
1406 | select LEDS_CLASS | 1407 | select LEDS_CLASS |
1407 | select INPUT_POLLDEV | 1408 | select INPUT_POLLDEV |
1408 | default n | 1409 | default n |
1409 | help | 1410 | help |
1410 | This driver provides support for the Apple System Management | 1411 | This driver provides support for the Apple System Management |
1411 | Controller, which provides an accelerometer (Apple Sudden Motion | 1412 | Controller, which provides an accelerometer (Apple Sudden Motion |
1412 | Sensor), light sensors, temperature sensors, keyboard backlight | 1413 | Sensor), light sensors, temperature sensors, keyboard backlight |
1413 | control and fan control. | 1414 | control and fan control. |
1414 | 1415 | ||
1415 | Only Intel-based Apple's computers are supported (MacBook Pro, | 1416 | Only Intel-based Apple's computers are supported (MacBook Pro, |
1416 | MacBook, MacMini). | 1417 | MacBook, MacMini). |
1417 | 1418 | ||
1418 | Data from the different sensors, keyboard backlight control and fan | 1419 | Data from the different sensors, keyboard backlight control and fan |
1419 | control are accessible via sysfs. | 1420 | control are accessible via sysfs. |
1420 | 1421 | ||
1421 | This driver also provides an absolute input class device, allowing | 1422 | This driver also provides an absolute input class device, allowing |
1422 | the laptop to act as a pinball machine-esque joystick. | 1423 | the laptop to act as a pinball machine-esque joystick. |
1423 | 1424 | ||
1424 | Say Y here if you have an applicable laptop and want to experience | 1425 | Say Y here if you have an applicable laptop and want to experience |
1425 | the awesome power of applesmc. | 1426 | the awesome power of applesmc. |
1426 | 1427 | ||
1427 | config SENSORS_MC13783_ADC | 1428 | config SENSORS_MC13783_ADC |
1428 | tristate "Freescale MC13783/MC13892 ADC" | 1429 | tristate "Freescale MC13783/MC13892 ADC" |
1429 | depends on MFD_MC13XXX | 1430 | depends on MFD_MC13XXX |
1430 | help | 1431 | help |
1431 | Support for the A/D converter on MC13783 and MC13892 PMIC. | 1432 | Support for the A/D converter on MC13783 and MC13892 PMIC. |
1432 | 1433 | ||
1433 | if ACPI | 1434 | if ACPI |
1434 | 1435 | ||
1435 | comment "ACPI drivers" | 1436 | comment "ACPI drivers" |
1436 | 1437 | ||
1437 | config SENSORS_ACPI_POWER | 1438 | config SENSORS_ACPI_POWER |
1438 | tristate "ACPI 4.0 power meter" | 1439 | tristate "ACPI 4.0 power meter" |
1439 | help | 1440 | help |
1440 | This driver exposes ACPI 4.0 power meters as hardware monitoring | 1441 | This driver exposes ACPI 4.0 power meters as hardware monitoring |
1441 | devices. Say Y (or M) if you have a computer with ACPI 4.0 firmware | 1442 | devices. Say Y (or M) if you have a computer with ACPI 4.0 firmware |
1442 | and a power meter. | 1443 | and a power meter. |
1443 | 1444 | ||
1444 | To compile this driver as a module, choose M here: | 1445 | To compile this driver as a module, choose M here: |
1445 | the module will be called acpi_power_meter. | 1446 | the module will be called acpi_power_meter. |
1446 | 1447 | ||
1447 | config SENSORS_ATK0110 | 1448 | config SENSORS_ATK0110 |
1448 | tristate "ASUS ATK0110" | 1449 | tristate "ASUS ATK0110" |
1449 | depends on X86 | 1450 | depends on X86 |
1450 | help | 1451 | help |
1451 | If you say yes here you get support for the ACPI hardware | 1452 | If you say yes here you get support for the ACPI hardware |
1452 | monitoring interface found in many ASUS motherboards. This | 1453 | monitoring interface found in many ASUS motherboards. This |
1453 | driver will provide readings of fans, voltages and temperatures | 1454 | driver will provide readings of fans, voltages and temperatures |
1454 | through the system firmware. | 1455 | through the system firmware. |
1455 | 1456 | ||
1456 | This driver can also be built as a module. If so, the module | 1457 | This driver can also be built as a module. If so, the module |
1457 | will be called asus_atk0110. | 1458 | will be called asus_atk0110. |
1458 | 1459 | ||
1459 | endif # ACPI | 1460 | endif # ACPI |
1460 | 1461 | ||
1461 | endif # HWMON | 1462 | endif # HWMON |
1462 | 1463 |
drivers/hwmon/mcp3021.c
1 | /* | 1 | /* |
2 | * mcp3021.c - driver for the Microchip MCP3021 chip | 2 | * mcp3021.c - driver for Microchip MCP3021 and MCP3221 |
3 | * | 3 | * |
4 | * Copyright (C) 2008-2009, 2012 Freescale Semiconductor, Inc. | 4 | * Copyright (C) 2008-2009, 2012 Freescale Semiconductor, Inc. |
5 | * Author: Mingkai Hu <Mingkai.hu@freescale.com> | 5 | * Author: Mingkai Hu <Mingkai.hu@freescale.com> |
6 | * Reworked by Sven Schuchmann <schuchmann@schleissheimer.de> | 6 | * Reworked by Sven Schuchmann <schuchmann@schleissheimer.de> |
7 | * | 7 | * |
8 | * This driver export the value of analog input voltage to sysfs, the | 8 | * This driver export the value of analog input voltage to sysfs, the |
9 | * voltage unit is mV. Through the sysfs interface, lm-sensors tool | 9 | * voltage unit is mV. Through the sysfs interface, lm-sensors tool |
10 | * can also display the input voltage. | 10 | * can also display the input voltage. |
11 | * | 11 | * |
12 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is free software; you can redistribute it and/or modify |
13 | * it under the terms of the GNU General Public License as published by | 13 | * it under the terms of the GNU General Public License as published by |
14 | * the Free Software Foundation; either version 2 of the License, or | 14 | * the Free Software Foundation; either version 2 of the License, or |
15 | * (at your option) any later version. | 15 | * (at your option) any later version. |
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
19 | #include <linux/module.h> | 19 | #include <linux/module.h> |
20 | #include <linux/hwmon.h> | 20 | #include <linux/hwmon.h> |
21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
22 | #include <linux/i2c.h> | 22 | #include <linux/i2c.h> |
23 | #include <linux/err.h> | 23 | #include <linux/err.h> |
24 | #include <linux/device.h> | 24 | #include <linux/device.h> |
25 | 25 | ||
26 | /* Vdd info */ | 26 | /* Vdd info */ |
27 | #define MCP3021_VDD_MAX 5500 | 27 | #define MCP3021_VDD_MAX 5500 |
28 | #define MCP3021_VDD_MIN 2700 | 28 | #define MCP3021_VDD_MIN 2700 |
29 | #define MCP3021_VDD_REF 3300 | 29 | #define MCP3021_VDD_REF 3300 |
30 | 30 | ||
31 | /* output format */ | 31 | /* output format */ |
32 | #define MCP3021_SAR_SHIFT 2 | 32 | #define MCP3021_SAR_SHIFT 2 |
33 | #define MCP3021_SAR_MASK 0x3ff | 33 | #define MCP3021_SAR_MASK 0x3ff |
34 | 34 | ||
35 | #define MCP3021_OUTPUT_RES 10 /* 10-bit resolution */ | 35 | #define MCP3021_OUTPUT_RES 10 /* 10-bit resolution */ |
36 | #define MCP3021_OUTPUT_SCALE 4 | 36 | #define MCP3021_OUTPUT_SCALE 4 |
37 | 37 | ||
38 | #define MCP3221_SAR_SHIFT 0 | ||
39 | #define MCP3221_SAR_MASK 0xfff | ||
40 | #define MCP3221_OUTPUT_RES 12 /* 12-bit resolution */ | ||
41 | #define MCP3221_OUTPUT_SCALE 1 | ||
42 | |||
38 | enum chips { | 43 | enum chips { |
39 | mcp3021 | 44 | mcp3021, |
45 | mcp3221 | ||
40 | }; | 46 | }; |
47 | |||
41 | /* | 48 | /* |
42 | * Client data (each client gets its own) | 49 | * Client data (each client gets its own) |
43 | */ | 50 | */ |
44 | struct mcp3021_data { | 51 | struct mcp3021_data { |
45 | struct device *hwmon_dev; | 52 | struct device *hwmon_dev; |
46 | u32 vdd; /* device power supply */ | 53 | u32 vdd; /* device power supply */ |
47 | u16 sar_shift; | 54 | u16 sar_shift; |
48 | u16 sar_mask; | 55 | u16 sar_mask; |
49 | u8 output_res; | 56 | u8 output_res; |
50 | u8 output_scale; | 57 | u8 output_scale; |
51 | }; | 58 | }; |
52 | 59 | ||
53 | static int mcp3021_read16(struct i2c_client *client) | 60 | static int mcp3021_read16(struct i2c_client *client) |
54 | { | 61 | { |
55 | struct mcp3021_data *data = i2c_get_clientdata(client); | 62 | struct mcp3021_data *data = i2c_get_clientdata(client); |
56 | int ret; | 63 | int ret; |
57 | u16 reg; | 64 | u16 reg; |
58 | __be16 buf; | 65 | __be16 buf; |
59 | 66 | ||
60 | ret = i2c_master_recv(client, (char *)&buf, 2); | 67 | ret = i2c_master_recv(client, (char *)&buf, 2); |
61 | if (ret < 0) | 68 | if (ret < 0) |
62 | return ret; | 69 | return ret; |
63 | if (ret != 2) | 70 | if (ret != 2) |
64 | return -EIO; | 71 | return -EIO; |
65 | 72 | ||
66 | /* The output code of the MCP3021 is transmitted with MSB first. */ | 73 | /* The output code of the MCP3021 is transmitted with MSB first. */ |
67 | reg = be16_to_cpu(buf); | 74 | reg = be16_to_cpu(buf); |
68 | 75 | ||
69 | /* | 76 | /* |
70 | * The ten-bit output code is composed of the lower 4-bit of the | 77 | * The ten-bit output code is composed of the lower 4-bit of the |
71 | * first byte and the upper 6-bit of the second byte. | 78 | * first byte and the upper 6-bit of the second byte. |
72 | */ | 79 | */ |
73 | reg = (reg >> data->sar_shift) & data->sar_mask; | 80 | reg = (reg >> data->sar_shift) & data->sar_mask; |
74 | 81 | ||
75 | return reg; | 82 | return reg; |
76 | } | 83 | } |
77 | 84 | ||
78 | static inline u16 volts_from_reg(struct mcp3021_data *data, u16 val) | 85 | static inline u16 volts_from_reg(struct mcp3021_data *data, u16 val) |
79 | { | 86 | { |
80 | if (val == 0) | 87 | if (val == 0) |
81 | return 0; | 88 | return 0; |
82 | 89 | ||
83 | val = val * data->output_scale - data->output_scale / 2; | 90 | val = val * data->output_scale - data->output_scale / 2; |
84 | 91 | ||
85 | return val * DIV_ROUND_CLOSEST(data->vdd, | 92 | return val * DIV_ROUND_CLOSEST(data->vdd, |
86 | (1 << data->output_res) * data->output_scale); | 93 | (1 << data->output_res) * data->output_scale); |
87 | } | 94 | } |
88 | 95 | ||
89 | static ssize_t show_in_input(struct device *dev, struct device_attribute *attr, | 96 | static ssize_t show_in_input(struct device *dev, struct device_attribute *attr, |
90 | char *buf) | 97 | char *buf) |
91 | { | 98 | { |
92 | struct i2c_client *client = to_i2c_client(dev); | 99 | struct i2c_client *client = to_i2c_client(dev); |
93 | struct mcp3021_data *data = i2c_get_clientdata(client); | 100 | struct mcp3021_data *data = i2c_get_clientdata(client); |
94 | int reg, in_input; | 101 | int reg, in_input; |
95 | 102 | ||
96 | reg = mcp3021_read16(client); | 103 | reg = mcp3021_read16(client); |
97 | if (reg < 0) | 104 | if (reg < 0) |
98 | return reg; | 105 | return reg; |
99 | 106 | ||
100 | in_input = volts_from_reg(data, reg); | 107 | in_input = volts_from_reg(data, reg); |
101 | 108 | ||
102 | return sprintf(buf, "%d\n", in_input); | 109 | return sprintf(buf, "%d\n", in_input); |
103 | } | 110 | } |
104 | 111 | ||
105 | static DEVICE_ATTR(in0_input, S_IRUGO, show_in_input, NULL); | 112 | static DEVICE_ATTR(in0_input, S_IRUGO, show_in_input, NULL); |
106 | 113 | ||
107 | static int mcp3021_probe(struct i2c_client *client, | 114 | static int mcp3021_probe(struct i2c_client *client, |
108 | const struct i2c_device_id *id) | 115 | const struct i2c_device_id *id) |
109 | { | 116 | { |
110 | int err; | 117 | int err; |
111 | struct mcp3021_data *data = NULL; | 118 | struct mcp3021_data *data = NULL; |
112 | 119 | ||
113 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) | 120 | if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) |
114 | return -ENODEV; | 121 | return -ENODEV; |
115 | 122 | ||
116 | data = devm_kzalloc(&client->dev, sizeof(struct mcp3021_data), | 123 | data = devm_kzalloc(&client->dev, sizeof(struct mcp3021_data), |
117 | GFP_KERNEL); | 124 | GFP_KERNEL); |
118 | if (!data) | 125 | if (!data) |
119 | return -ENOMEM; | 126 | return -ENOMEM; |
120 | 127 | ||
121 | i2c_set_clientdata(client, data); | 128 | i2c_set_clientdata(client, data); |
122 | 129 | ||
123 | switch (id->driver_data) { | 130 | switch (id->driver_data) { |
124 | case mcp3021: | 131 | case mcp3021: |
125 | data->sar_shift = MCP3021_SAR_SHIFT; | 132 | data->sar_shift = MCP3021_SAR_SHIFT; |
126 | data->sar_mask = MCP3021_SAR_MASK; | 133 | data->sar_mask = MCP3021_SAR_MASK; |
127 | data->output_res = MCP3021_OUTPUT_RES; | 134 | data->output_res = MCP3021_OUTPUT_RES; |
128 | data->output_scale = MCP3021_OUTPUT_SCALE; | 135 | data->output_scale = MCP3021_OUTPUT_SCALE; |
129 | break; | 136 | break; |
137 | |||
138 | case mcp3221: | ||
139 | data->sar_shift = MCP3221_SAR_SHIFT; | ||
140 | data->sar_mask = MCP3221_SAR_MASK; | ||
141 | data->output_res = MCP3221_OUTPUT_RES; | ||
142 | data->output_scale = MCP3221_OUTPUT_SCALE; | ||
143 | break; | ||
130 | } | 144 | } |
131 | 145 | ||
132 | if (client->dev.platform_data) { | 146 | if (client->dev.platform_data) { |
133 | data->vdd = *(u32 *)client->dev.platform_data; | 147 | data->vdd = *(u32 *)client->dev.platform_data; |
134 | if (data->vdd > MCP3021_VDD_MAX || data->vdd < MCP3021_VDD_MIN) | 148 | if (data->vdd > MCP3021_VDD_MAX || data->vdd < MCP3021_VDD_MIN) |
135 | return -EINVAL; | 149 | return -EINVAL; |
136 | } else | 150 | } else |
137 | data->vdd = MCP3021_VDD_REF; | 151 | data->vdd = MCP3021_VDD_REF; |
138 | 152 | ||
139 | err = sysfs_create_file(&client->dev.kobj, &dev_attr_in0_input.attr); | 153 | err = sysfs_create_file(&client->dev.kobj, &dev_attr_in0_input.attr); |
140 | if (err) | 154 | if (err) |
141 | return err; | 155 | return err; |
142 | 156 | ||
143 | data->hwmon_dev = hwmon_device_register(&client->dev); | 157 | data->hwmon_dev = hwmon_device_register(&client->dev); |
144 | if (IS_ERR(data->hwmon_dev)) { | 158 | if (IS_ERR(data->hwmon_dev)) { |
145 | err = PTR_ERR(data->hwmon_dev); | 159 | err = PTR_ERR(data->hwmon_dev); |
146 | goto exit_remove; | 160 | goto exit_remove; |
147 | } | 161 | } |
148 | 162 | ||
149 | return 0; | 163 | return 0; |
150 | 164 | ||
151 | exit_remove: | 165 | exit_remove: |
152 | sysfs_remove_file(&client->dev.kobj, &dev_attr_in0_input.attr); | 166 | sysfs_remove_file(&client->dev.kobj, &dev_attr_in0_input.attr); |
153 | return err; | 167 | return err; |
154 | } | 168 | } |
155 | 169 | ||
156 | static int mcp3021_remove(struct i2c_client *client) | 170 | static int mcp3021_remove(struct i2c_client *client) |
157 | { | 171 | { |
158 | struct mcp3021_data *data = i2c_get_clientdata(client); | 172 | struct mcp3021_data *data = i2c_get_clientdata(client); |
159 | 173 | ||
160 | hwmon_device_unregister(data->hwmon_dev); | 174 | hwmon_device_unregister(data->hwmon_dev); |
161 | sysfs_remove_file(&client->dev.kobj, &dev_attr_in0_input.attr); | 175 | sysfs_remove_file(&client->dev.kobj, &dev_attr_in0_input.attr); |
162 | 176 | ||
163 | return 0; | 177 | return 0; |
164 | } | 178 | } |
165 | 179 | ||
166 | static const struct i2c_device_id mcp3021_id[] = { | 180 | static const struct i2c_device_id mcp3021_id[] = { |
167 | { "mcp3021", mcp3021 }, | 181 | { "mcp3021", mcp3021 }, |
182 | { "mcp3221", mcp3221 }, | ||
168 | { } | 183 | { } |
169 | }; | 184 | }; |
170 | MODULE_DEVICE_TABLE(i2c, mcp3021_id); | 185 | MODULE_DEVICE_TABLE(i2c, mcp3021_id); |
171 | 186 | ||
172 | static struct i2c_driver mcp3021_driver = { | 187 | static struct i2c_driver mcp3021_driver = { |
173 | .driver = { | 188 | .driver = { |
174 | .name = "mcp3021", | 189 | .name = "mcp3021", |
175 | }, | 190 | }, |
176 | .probe = mcp3021_probe, | 191 | .probe = mcp3021_probe, |
177 | .remove = mcp3021_remove, | 192 | .remove = mcp3021_remove, |
178 | .id_table = mcp3021_id, | 193 | .id_table = mcp3021_id, |
179 | }; | 194 | }; |
180 | 195 | ||
181 | module_i2c_driver(mcp3021_driver); | 196 | module_i2c_driver(mcp3021_driver); |
182 | 197 | ||
183 | MODULE_AUTHOR("Mingkai Hu <Mingkai.hu@freescale.com>"); | 198 | MODULE_AUTHOR("Mingkai Hu <Mingkai.hu@freescale.com>"); |
184 | MODULE_DESCRIPTION("Microchip MCP3021 driver"); | 199 | MODULE_DESCRIPTION("Microchip MCP3021/MCP3221 driver"); |
185 | MODULE_LICENSE("GPL"); | 200 | MODULE_LICENSE("GPL"); |
186 | 201 |