| 1 | Kernel driver `w83781d.o' |
|---|
| 2 | ========================= |
|---|
| 3 | |
|---|
| 4 | Status: W83781D support is complete and well-tested. |
|---|
| 5 | W83782D support is complete and well-tested. |
|---|
| 6 | W83783S support is complete but has not been well-tested. |
|---|
| 7 | W83627HF support is complete but has not been well-tested. |
|---|
| 8 | W83697HF support is complete but has not been well-tested. |
|---|
| 9 | AS99127F support is BETA and has known problems due to lack of a |
|---|
| 10 | chip datasheet. SEE BELOW. |
|---|
| 11 | ASB100 Bach support is BETA; presently this chip is treated |
|---|
| 12 | exactly like AS99127F. |
|---|
| 13 | |
|---|
| 14 | Supported chips: |
|---|
| 15 | * Winbond W83781D |
|---|
| 16 | Prefix 'w83781d' |
|---|
| 17 | Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports) |
|---|
| 18 | Datasheet: Publicly available at the Winbond website (www.winbond.com.tw) |
|---|
| 19 | * Winbond W83782D |
|---|
| 20 | Prefix 'w83782d' |
|---|
| 21 | Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports) |
|---|
| 22 | Datasheet: Publicly available at the Winbond website |
|---|
| 23 | * Winbond W83783S |
|---|
| 24 | Prefix 'w83783s' |
|---|
| 25 | Addresses scanned: I2C 0x20 - 0x2f (inclusive) |
|---|
| 26 | Datasheet: Publicly available at the Winbond website |
|---|
| 27 | * Winbond W83627HF |
|---|
| 28 | Prefix 'w83627hf' |
|---|
| 29 | Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports) |
|---|
| 30 | Datasheet: Publicly available at the Winbond website |
|---|
| 31 | * Winbond W83697HF |
|---|
| 32 | Prefix 'w83697hf' |
|---|
| 33 | Addresses scanned: ISA 0x290 (8 I/O ports) |
|---|
| 34 | Datasheet: Publicly available at the Winbond website |
|---|
| 35 | * Asus AS99127F |
|---|
| 36 | Prefix 'as99127f' |
|---|
| 37 | Addresses scanned: I2C 0x20 - 0x2f (inclusive) |
|---|
| 38 | Datasheet: Unavailable from Asus |
|---|
| 39 | * Asus ASB100 Bach |
|---|
| 40 | Prefix 'as99127f' |
|---|
| 41 | Addresses scanned: I2C 0x20 - 0x2f (inclusive) |
|---|
| 42 | Datasheet: Unavailable from Asus |
|---|
| 43 | |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | Authors: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock <phil@netroedge.com>, |
|---|
| 47 | and Mark Studebaker <mdsxyz123@yahoo.com> |
|---|
| 48 | |
|---|
| 49 | |
|---|
| 50 | Module Parameters |
|---|
| 51 | ----------------- |
|---|
| 52 | |
|---|
| 53 | * force: short array (min = 1, max = 48) |
|---|
| 54 | List of adapter,address pairs to boldly assume to be present |
|---|
| 55 | * force_w83781d: short array (min = 1, max = 48) |
|---|
| 56 | List of adapter,address pairs which are unquestionably assumed to contain |
|---|
| 57 | a `w83781d' chip |
|---|
| 58 | * force_w83782d: |
|---|
| 59 | Ditto |
|---|
| 60 | * force_w83783s: |
|---|
| 61 | Ditto |
|---|
| 62 | * force_w83627hf: |
|---|
| 63 | Ditto |
|---|
| 64 | * force_w83697hf: |
|---|
| 65 | Ditto |
|---|
| 66 | * force_as99127f: |
|---|
| 67 | Ditto |
|---|
| 68 | * force_subclients=bus,caddr,saddr,saddr |
|---|
| 69 | This is used to force the i2c addresses for subclients of |
|---|
| 70 | a certain chip. Typical usage is `force_subclients=0,0x2d,0x4a,0x4b' |
|---|
| 71 | to force the subclients of chip 0x2d on bus 0 to i2c addresses |
|---|
| 72 | 0x4a and 0x4b. |
|---|
| 73 | This parameter is useful for certain Tyan boards. |
|---|
| 74 | * ignore: short array (min = 1, max = 48) |
|---|
| 75 | List of adapter,address pairs not to scan |
|---|
| 76 | * ignore_range: short array (min = 1, max = 48) |
|---|
| 77 | List of adapter,start-addr,end-addr triples not to scan |
|---|
| 78 | * probe: short array (min = 1, max = 48) |
|---|
| 79 | List of adapter,address pairs to scan additionally |
|---|
| 80 | * probe_range: short array (min = 1, max = 48) |
|---|
| 81 | List of adapter,start-addr,end-addr triples to scan additionally |
|---|
| 82 | * init=[0,1] (default 1) |
|---|
| 83 | Use 'init=0' to bypass initializing the chip. |
|---|
| 84 | Try this if your computer crashes when you load the module. |
|---|
| 85 | |
|---|
| 86 | |
|---|
| 87 | Description |
|---|
| 88 | ----------- |
|---|
| 89 | |
|---|
| 90 | This driver implements support for the Winbond W83781D, W83782D, |
|---|
| 91 | W8783S, and W83627HF chips, and the Asus AS99127F/ASB100 chips. |
|---|
| 92 | We will refer to them collectively as W8378* chips. |
|---|
| 93 | |
|---|
| 94 | There is quite some difference between these chips, but they are similar |
|---|
| 95 | enough that it was sensible to put them together in one driver. |
|---|
| 96 | The W83627HF chip is assumed to be identical to the ISA W83782D. |
|---|
| 97 | The Asus chips are similar to an I2C-only W83782D. |
|---|
| 98 | |
|---|
| 99 | Detection of these chips can sometimes be foiled because they can be in |
|---|
| 100 | an internal state that allows no clean access. If you know the address |
|---|
| 101 | of the chip, use a 'force' parameter; this will put them into a more |
|---|
| 102 | well-behaved state first. |
|---|
| 103 | |
|---|
| 104 | The W8378* implements temperature sensors (three on the W83781D and W83782D, |
|---|
| 105 | two on the W83783S), three FAN rotation speed sensors, voltage sensors |
|---|
| 106 | (seven on the W83781D, nine on the W83782D and six on the W83783S), VID |
|---|
| 107 | lines, alarms with beep warnings, and some miscellaneous stuff. |
|---|
| 108 | |
|---|
| 109 | Temperatures are measured in degrees Celcius. There is always one main |
|---|
| 110 | temperature sensor, and one (W83783S) or two (W83781D and W83782D) other |
|---|
| 111 | sensors. An alarm is triggered for the main sensor once when the |
|---|
| 112 | Overtemperature Shutdown limit is crossed; it is triggered again as soon as |
|---|
| 113 | it drops below the Hysteresis value. A more useful behaviour |
|---|
| 114 | can be found by setting the Hysteresis value to +127 degrees Celcius; in |
|---|
| 115 | this case, alarms are issued during all the time when the actual temperature |
|---|
| 116 | is above the Overtemperature Shutdown value. The driver sets the |
|---|
| 117 | hysteresis value for temp1 to 127 at initialization. |
|---|
| 118 | |
|---|
| 119 | For the other temperature sensor(s), an |
|---|
| 120 | alarm is triggered when the temperature gets higher then the Overtemperature |
|---|
| 121 | Shutdown value; it stays on until the temperature falls below the Hysteresis |
|---|
| 122 | value. But on the W83781D, there is only one alarm that functions for both |
|---|
| 123 | other sensors! Temperatures are guaranteed within a range of -55 to +125 |
|---|
| 124 | degrees. The main temperature sensors has a resolution of 1 degree; the other |
|---|
| 125 | sensor(s) of 0.5 degree. |
|---|
| 126 | |
|---|
| 127 | FAN rotation speeds are reported in RPM (rotations per minute). An alarm is |
|---|
| 128 | triggered if the rotation speed has dropped below a programmable limit. FAN |
|---|
| 129 | readings can be divided by a programmable divider (1, 2, 4 or 8 for the |
|---|
| 130 | W83781D; 1, 2, 4, 8, 16, 32, 64 or 128 for the others) to give |
|---|
| 131 | the readings more range or accuracy. This is important because some FANs |
|---|
| 132 | report only one 'tick' each rotation, while others report two - making |
|---|
| 133 | all readings twice as high. Not all RPM values can accurately be represented, |
|---|
| 134 | so some rounding is done. With a divider of 2, the lowest representable |
|---|
| 135 | value is around 2600 RPM. |
|---|
| 136 | |
|---|
| 137 | Voltage sensors (also known as IN sensors) report their values in volts. |
|---|
| 138 | An alarm is triggered if the voltage has crossed a programmable minimum |
|---|
| 139 | or maximum limit. Note that minimum in this case always means 'closest to |
|---|
| 140 | zero'; this is important for negative voltage measurements. All voltage |
|---|
| 141 | inputs can measure voltages between 0 and 4.08 volts, with a resolution |
|---|
| 142 | of 0.016 volt. |
|---|
| 143 | |
|---|
| 144 | The VID lines encode the core voltage value: the voltage level your processor |
|---|
| 145 | should work with. This is hardcoded by the mainboard and/or processor itself. |
|---|
| 146 | It is a value in volts. When it is unconnected, you will often find the |
|---|
| 147 | value 3.50 V here. |
|---|
| 148 | |
|---|
| 149 | The W83782D and W83783S temperature conversion machine understands about |
|---|
| 150 | several kinds of temperature probes. You can program the so-called |
|---|
| 151 | beta value in the sensor files. '1' is the PII/Celeron diode, '2' is the |
|---|
| 152 | TN3904 transistor, and 3435 the default thermistor value. Other values |
|---|
| 153 | are (not yet) supported. You can program your own values through the |
|---|
| 154 | rt interface, but this is not very useful, because these tables are |
|---|
| 155 | under NDA. |
|---|
| 156 | |
|---|
| 157 | In addition to the alarms described above, there is a CHAS alarm on the |
|---|
| 158 | chips which triggers if your computer case is open. |
|---|
| 159 | |
|---|
| 160 | When an alarm goes off, you can be warned by a beeping signal through |
|---|
| 161 | your computer speaker. It is possible to enable all beeping globally, |
|---|
| 162 | or only the beeping for some alarms. |
|---|
| 163 | |
|---|
| 164 | If an alarm triggers, it will remain triggered until the hardware register |
|---|
| 165 | is read at least once. This means that the cause for the alarm may |
|---|
| 166 | already have disappeared! Note that in the current implementation, all |
|---|
| 167 | hardware registers are read whenever any data is read (unless it is less |
|---|
| 168 | than 1.5 seconds since the last update). This means that you can easily |
|---|
| 169 | miss once-only alarms. |
|---|
| 170 | |
|---|
| 171 | The chips only update values each 1.5 seconds; reading them more often |
|---|
| 172 | will do no harm, but will return 'old' values. |
|---|
| 173 | |
|---|
| 174 | |
|---|
| 175 | W8378* PROBLEMS |
|---|
| 176 | ----------------- |
|---|
| 177 | Known problems: |
|---|
| 178 | - Some chips are misidentified. |
|---|
| 179 | This is caused by the chip having the wrong WCHIPID register |
|---|
| 180 | value, so there is no fix. The workaround is to use the |
|---|
| 181 | force_CHIP parameter. |
|---|
| 182 | (modprobe w83781d force_CHIP=BUS,0x2d where CHIP is the chip name |
|---|
| 183 | and BUS is your i2c bus number - |
|---|
| 184 | cat /proc/bus/i2c to see a list of bus numbers) |
|---|
| 185 | |
|---|
| 186 | |
|---|
| 187 | AS99127F/ASB100 PROBLEMS |
|---|
| 188 | ----------------- |
|---|
| 189 | The as99127f/asb100 support was developed without the benefit of a datasheet. |
|---|
| 190 | In most cases it is treated as a w83781d. |
|---|
| 191 | This support will be BETA until a datasheet is released. |
|---|
| 192 | One user has reported problems with fans stopping |
|---|
| 193 | occasionally. |
|---|
| 194 | |
|---|
| 195 | Note that the individual beep bits are inverted from the other chips. |
|---|
| 196 | That is, in the second entry in the 'beep' file, a '1' bit means |
|---|
| 197 | disable, not enable. This may be changed in the future. |
|---|
| 198 | |
|---|
| 199 | Known problems: |
|---|
| 200 | - Problems with diode/thermistor settings (supported?) |
|---|
| 201 | - fan_div register may not really be fan_div. |
|---|
| 202 | - One user reports fans stopping under high server load. |
|---|
| 203 | - Some as99127f chips are misidentified as a w83781d or w83782d. |
|---|
| 204 | This is caused by the chip having the wrong WCHIPID register |
|---|
| 205 | value, so there is no fix. The workaround is to use the |
|---|
| 206 | force_as99127f parameter. |
|---|
| 207 | (modprobe w83781d force_as99127f=BUS,0x2d where BUS is your i2c bus number) |
|---|
| 208 | |
|---|
| 209 | These will not be fixed unless we get a datasheet. |
|---|
| 210 | If you have problems, please lobby Asus to release a datasheet. |
|---|
| 211 | Unfortunately several others have without success. |
|---|
| 212 | Please do not send mail to us asking for better as99127f support. |
|---|
| 213 | We have done the best we can without a datasheet. |
|---|
| 214 | Please do not send mail to the author or the sensors group asking for |
|---|
| 215 | a datasheet or ideas on how to convince Asus. We can't help. |
|---|
| 216 | |
|---|
| 217 | |
|---|
| 218 | Chip Features |
|---|
| 219 | ------------- |
|---|
| 220 | |
|---|
| 221 | Chip `w83781d' |
|---|
| 222 | LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE |
|---|
| 223 | in0 NONE NONE R 2 |
|---|
| 224 | in1 NONE NONE R 2 |
|---|
| 225 | in2 NONE NONE R 2 |
|---|
| 226 | in3 NONE NONE R 2 |
|---|
| 227 | in4 NONE NONE R 2 |
|---|
| 228 | in5 NONE NONE R 2 |
|---|
| 229 | in6 NONE NONE R 2 |
|---|
| 230 | in0_min in0 in0 RW 2 |
|---|
| 231 | in1_min in1 in1 RW 2 |
|---|
| 232 | in2_min in2 in2 RW 2 |
|---|
| 233 | in3_min in3 in3 RW 2 |
|---|
| 234 | in4_min in4 in4 RW 2 |
|---|
| 235 | in5_min in5 in5 RW 2 |
|---|
| 236 | in6_min in6 in6 RW 2 |
|---|
| 237 | in0_max in0 in0 RW 2 |
|---|
| 238 | in1_max in1 in1 RW 2 |
|---|
| 239 | in2_max in2 in2 RW 2 |
|---|
| 240 | in3_max in3 in3 RW 2 |
|---|
| 241 | in4_max in4 in4 RW 2 |
|---|
| 242 | in5_max in5 in5 RW 2 |
|---|
| 243 | in6_max in6 in6 RW 2 |
|---|
| 244 | fan1 NONE NONE R 0 |
|---|
| 245 | fan2 NONE NONE R 0 |
|---|
| 246 | fan3 NONE NONE R 0 |
|---|
| 247 | fan1_min fan1 NONE RW 0 |
|---|
| 248 | fan2_min fan2 NONE RW 0 |
|---|
| 249 | fan3_min fan3 NONE RW 0 |
|---|
| 250 | temp1 NONE NONE R 1 |
|---|
| 251 | temp1_hyst temp1 temp1 RW 1 |
|---|
| 252 | temp1_over temp1 temp1 RW 1 |
|---|
| 253 | temp2 NONE NONE R 1 |
|---|
| 254 | temp2_hyst temp2 temp2 RW 1 |
|---|
| 255 | temp2_over temp2 temp2 RW 1 |
|---|
| 256 | temp3 NONE NONE R 1 |
|---|
| 257 | temp3_hyst temp3 temp3 RW 1 |
|---|
| 258 | temp3_over temp3 temp3 RW 1 |
|---|
| 259 | vid NONE NONE R 2 |
|---|
| 260 | fan1_div fan1 NONE RW 0 |
|---|
| 261 | fan2_div fan2 NONE RW 0 |
|---|
| 262 | fan3_div fan3 NONE R 0 |
|---|
| 263 | alarms NONE NONE R 0 |
|---|
| 264 | beep_enable alarms NONE RW 0 |
|---|
| 265 | beeps alarms alarms RW 0 |
|---|
| 266 | |
|---|
| 267 | LABEL FEATURE SYMBOL SYSCTL FILE:NR |
|---|
| 268 | in0 SENSORS_W83781D_IN0 in0:3 |
|---|
| 269 | in1 SENSORS_W83781D_IN1 in1:3 |
|---|
| 270 | in2 SENSORS_W83781D_IN2 in2:3 |
|---|
| 271 | in3 SENSORS_W83781D_IN3 in3:3 |
|---|
| 272 | in4 SENSORS_W83781D_IN4 in4:3 |
|---|
| 273 | in5 SENSORS_W83781D_IN5 in5:3 |
|---|
| 274 | in6 SENSORS_W83781D_IN6 in6:3 |
|---|
| 275 | in0_min SENSORS_W83781D_IN0_MIN in0:1 |
|---|
| 276 | in1_min SENSORS_W83781D_IN1_MIN in1:1 |
|---|
| 277 | in2_min SENSORS_W83781D_IN2_MIN in2:1 |
|---|
| 278 | in3_min SENSORS_W83781D_IN3_MIN in3:1 |
|---|
| 279 | in4_min SENSORS_W83781D_IN4_MIN in4:1 |
|---|
| 280 | in5_min SENSORS_W83781D_IN5_MIN in5:1 |
|---|
| 281 | in6_min SENSORS_W83781D_IN6_MIN in6:1 |
|---|
| 282 | in0_max SENSORS_W83781D_IN0_MAX in0:2 |
|---|
| 283 | in1_max SENSORS_W83781D_IN1_MAX in1:2 |
|---|
| 284 | in2_max SENSORS_W83781D_IN2_MAX in2:2 |
|---|
| 285 | in3_max SENSORS_W83781D_IN3_MAX in3:2 |
|---|
| 286 | in4_max SENSORS_W83781D_IN4_MAX in4:2 |
|---|
| 287 | in5_max SENSORS_W83781D_IN5_MAX in5:2 |
|---|
| 288 | in6_max SENSORS_W83781D_IN6_MAX in6:2 |
|---|
| 289 | fan1 SENSORS_W83781D_FAN1 fan1:2 |
|---|
| 290 | fan2 SENSORS_W83781D_FAN2 fan2:2 |
|---|
| 291 | fan3 SENSORS_W83781D_FAN3 fan3:2 |
|---|
| 292 | fan1_min SENSORS_W83781D_FAN1_MIN fan1:1 |
|---|
| 293 | fan2_min SENSORS_W83781D_FAN2_MIN fan2:1 |
|---|
| 294 | fan3_min SENSORS_W83781D_FAN3_MIN fan3:1 |
|---|
| 295 | temp1 SENSORS_W83781D_TEMP1 temp1:3 |
|---|
| 296 | temp1_hyst SENSORS_W83781D_TEMP1_HYST temp1:2 |
|---|
| 297 | temp1_over SENSORS_W83781D_TEMP1_OVER temp1:1 |
|---|
| 298 | temp2 SENSORS_W83781D_TEMP2 temp2:3 |
|---|
| 299 | temp2_hyst SENSORS_W83781D_TEMP2_HYST temp2:2 |
|---|
| 300 | temp2_over SENSORS_W83781D_TEMP2_OVER temp2:1 |
|---|
| 301 | temp3 SENSORS_W83781D_TEMP3 temp3:3 |
|---|
| 302 | temp3_hyst SENSORS_W83781D_TEMP3_HYST temp3:2 |
|---|
| 303 | temp3_over SENSORS_W83781D_TEMP3_OVER temp3:1 |
|---|
| 304 | vid SENSORS_W83781D_VID vid:1 |
|---|
| 305 | fan1_div SENSORS_W83781D_FAN1_DIV fan_div:1 |
|---|
| 306 | fan2_div SENSORS_W83781D_FAN2_DIV fan_div:2 |
|---|
| 307 | fan3_div SENSORS_W83781D_FAN3_DIV fan_div:3 |
|---|
| 308 | alarms SENSORS_W83781D_ALARMS alarms:1 |
|---|
| 309 | beep_enable SENSORS_W83781D_BEEP_ENABLE beep:1 |
|---|
| 310 | beeps SENSORS_W83781D_BEEPS beep:2 |
|---|
| 311 | |
|---|
| 312 | |
|---|
| 313 | Chip `w83782d' |
|---|
| 314 | LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE |
|---|
| 315 | in0 NONE NONE R 2 |
|---|
| 316 | in1 NONE NONE R 2 |
|---|
| 317 | in2 NONE NONE R 2 |
|---|
| 318 | in3 NONE NONE R 2 |
|---|
| 319 | in4 NONE NONE R 2 |
|---|
| 320 | in5 NONE NONE R 2 |
|---|
| 321 | in6 NONE NONE R 2 |
|---|
| 322 | in7 NONE NONE R 2 |
|---|
| 323 | in8 NONE NONE R 2 |
|---|
| 324 | in0_min in0 in0 RW 2 |
|---|
| 325 | in1_min in1 in1 RW 2 |
|---|
| 326 | in2_min in2 in2 RW 2 |
|---|
| 327 | in3_min in3 in3 RW 2 |
|---|
| 328 | in4_min in4 in4 RW 2 |
|---|
| 329 | in5_min in5 in5 RW 2 |
|---|
| 330 | in6_min in6 in6 RW 2 |
|---|
| 331 | in7_min in7 in7 RW 2 |
|---|
| 332 | in8_min in8 in8 RW 2 |
|---|
| 333 | in0_max in0 in0 RW 2 |
|---|
| 334 | in1_max in1 in1 RW 2 |
|---|
| 335 | in2_max in2 in2 RW 2 |
|---|
| 336 | in3_max in3 in3 RW 2 |
|---|
| 337 | in4_max in4 in4 RW 2 |
|---|
| 338 | in5_max in5 in5 RW 2 |
|---|
| 339 | in6_max in6 in6 RW 2 |
|---|
| 340 | in7_max in7 in7 RW 2 |
|---|
| 341 | in8_max in8 in8 RW 2 |
|---|
| 342 | fan1 NONE NONE R 0 |
|---|
| 343 | fan2 NONE NONE R 0 |
|---|
| 344 | fan3 NONE NONE R 0 |
|---|
| 345 | fan1_min fan1 NONE RW 0 |
|---|
| 346 | fan2_min fan2 NONE RW 0 |
|---|
| 347 | fan3_min fan3 NONE RW 0 |
|---|
| 348 | temp1 NONE NONE R 1 |
|---|
| 349 | temp1_hyst temp1 temp1 RW 1 |
|---|
| 350 | temp1_over temp1 temp1 RW 1 |
|---|
| 351 | temp2 NONE NONE R 1 |
|---|
| 352 | temp2_hyst temp2 temp2 RW 1 |
|---|
| 353 | temp2_over temp2 temp2 RW 1 |
|---|
| 354 | temp3 NONE NONE R 1 |
|---|
| 355 | temp3_hyst temp3 temp3 RW 1 |
|---|
| 356 | temp3_over temp3 temp3 RW 1 |
|---|
| 357 | vid NONE NONE R 2 |
|---|
| 358 | fan1_div fan1 NONE RW 0 |
|---|
| 359 | fan2_div fan2 NONE RW 0 |
|---|
| 360 | fan3_div fan3 NONE R 0 |
|---|
| 361 | alarms NONE NONE R 0 |
|---|
| 362 | beep_enable alarms NONE RW 0 |
|---|
| 363 | beeps alarms alarms RW 0 |
|---|
| 364 | sensor1 NONE NONE RW 0 |
|---|
| 365 | sensor2 NONE NONE RW 0 |
|---|
| 366 | sensor3 NONE NONE RW 0 |
|---|
| 367 | |
|---|
| 368 | LABEL FEATURE SYMBOL SYSCTL FILE:NR |
|---|
| 369 | in0 SENSORS_W83782D_IN0 in0:3 |
|---|
| 370 | in1 SENSORS_W83782D_IN1 in1:3 |
|---|
| 371 | in2 SENSORS_W83782D_IN2 in2:3 |
|---|
| 372 | in3 SENSORS_W83782D_IN3 in3:3 |
|---|
| 373 | in4 SENSORS_W83782D_IN4 in4:3 |
|---|
| 374 | in5 SENSORS_W83782D_IN5 in5:3 |
|---|
| 375 | in6 SENSORS_W83782D_IN6 in6:3 |
|---|
| 376 | in7 SENSORS_W83782D_IN7 in7:3 |
|---|
| 377 | in8 SENSORS_W83782D_IN8 in8:3 |
|---|
| 378 | in0_min SENSORS_W83782D_IN0_MIN in0:1 |
|---|
| 379 | in1_min SENSORS_W83782D_IN1_MIN in1:1 |
|---|
| 380 | in2_min SENSORS_W83782D_IN2_MIN in2:1 |
|---|
| 381 | in3_min SENSORS_W83782D_IN3_MIN in3:1 |
|---|
| 382 | in4_min SENSORS_W83782D_IN4_MIN in4:1 |
|---|
| 383 | in5_min SENSORS_W83782D_IN5_MIN in5:1 |
|---|
| 384 | in6_min SENSORS_W83782D_IN6_MIN in6:1 |
|---|
| 385 | in7_min SENSORS_W83782D_IN7_MIN in7:1 |
|---|
| 386 | in8_min SENSORS_W83782D_IN8_MIN in8:1 |
|---|
| 387 | in0_max SENSORS_W83782D_IN0_MAX in0:2 |
|---|
| 388 | in1_max SENSORS_W83782D_IN1_MAX in1:2 |
|---|
| 389 | in2_max SENSORS_W83782D_IN2_MAX in2:2 |
|---|
| 390 | in3_max SENSORS_W83782D_IN3_MAX in3:2 |
|---|
| 391 | in4_max SENSORS_W83782D_IN4_MAX in4:2 |
|---|
| 392 | in5_max SENSORS_W83782D_IN5_MAX in5:2 |
|---|
| 393 | in6_max SENSORS_W83782D_IN6_MAX in6:2 |
|---|
| 394 | in7_max SENSORS_W83782D_IN7_MAX in7:2 |
|---|
| 395 | in8_max SENSORS_W83782D_IN8_MAX in8:2 |
|---|
| 396 | fan1 SENSORS_W83782D_FAN1 fan1:2 |
|---|
| 397 | fan2 SENSORS_W83782D_FAN2 fan2:2 |
|---|
| 398 | fan3 SENSORS_W83781D_FAN3 fan3:2 |
|---|
| 399 | fan1_min SENSORS_W83782D_FAN1_MIN fan1:1 |
|---|
| 400 | fan2_min SENSORS_W83782D_FAN2_MIN fan2:1 |
|---|
| 401 | fan3_min SENSORS_W83781D_FAN3_MIN fan3:1 |
|---|
| 402 | temp1 SENSORS_W83782D_TEMP1 temp1:3 |
|---|
| 403 | temp1_hyst SENSORS_W83782D_TEMP1_HYST temp1:2 |
|---|
| 404 | temp1_over SENSORS_W83782D_TEMP1_OVER temp1:1 |
|---|
| 405 | temp2 SENSORS_W83782D_TEMP2 temp2:3 |
|---|
| 406 | temp2_hyst SENSORS_W83782D_TEMP2_HYST temp2:2 |
|---|
| 407 | temp2_over SENSORS_W83782D_TEMP2_OVER temp2:1 |
|---|
| 408 | temp3 SENSORS_W83782D_TEMP3 temp3:3 |
|---|
| 409 | temp3_hyst SENSORS_W83782D_TEMP3_HYST temp3:2 |
|---|
| 410 | temp3_over SENSORS_W83782D_TEMP3_OVER temp3:1 |
|---|
| 411 | vid SENSORS_W83782D_VID vid:1 |
|---|
| 412 | fan1_div SENSORS_W83782D_FAN1_DIV fan_div:1 |
|---|
| 413 | fan2_div SENSORS_W83782D_FAN2_DIV fan_div:2 |
|---|
| 414 | fan3_div SENSORS_W83781D_FAN3_DIV fan_div:3 |
|---|
| 415 | alarms SENSORS_W83782D_ALARMS alarms:1 |
|---|
| 416 | beep_enable SENSORS_W83782D_BEEP_ENABLE beep:1 |
|---|
| 417 | beeps SENSORS_W83782D_BEEPS beep:2 |
|---|
| 418 | sensor1 SENSORS_W83782D_SENS1 sensor1:1 |
|---|
| 419 | sensor2 SENSORS_W83782D_SENS2 sensor2:1 |
|---|
| 420 | sensor3 SENSORS_W83782D_SENS3 sensor3:1 |
|---|
| 421 | |
|---|
| 422 | |
|---|
| 423 | Chip `w83783s' |
|---|
| 424 | LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE |
|---|
| 425 | in0 NONE NONE R 2 |
|---|
| 426 | in1 NONE NONE R 2 |
|---|
| 427 | in2 NONE NONE R 2 |
|---|
| 428 | in3 NONE NONE R 2 |
|---|
| 429 | in4 NONE NONE R 2 |
|---|
| 430 | in5 NONE NONE R 2 |
|---|
| 431 | in6 NONE NONE R 2 |
|---|
| 432 | in0_min in0 in0 RW 2 |
|---|
| 433 | in1_min in1 in1 RW 2 |
|---|
| 434 | in2_min in2 in2 RW 2 |
|---|
| 435 | in3_min in3 in3 RW 2 |
|---|
| 436 | in4_min in4 in4 RW 2 |
|---|
| 437 | in5_min in5 in5 RW 2 |
|---|
| 438 | in6_min in6 in6 RW 2 |
|---|
| 439 | in0_max in0 in0 RW 2 |
|---|
| 440 | in1_max in1 in1 RW 2 |
|---|
| 441 | in2_max in2 in2 RW 2 |
|---|
| 442 | in3_max in3 in3 RW 2 |
|---|
| 443 | in4_max in4 in4 RW 2 |
|---|
| 444 | in5_max in5 in5 RW 2 |
|---|
| 445 | in6_max in6 in6 RW 2 |
|---|
| 446 | fan1 NONE NONE R 0 |
|---|
| 447 | fan2 NONE NONE R 0 |
|---|
| 448 | fan3 NONE NONE R 0 |
|---|
| 449 | fan1_min fan1 NONE RW 0 |
|---|
| 450 | fan2_min fan2 NONE RW 0 |
|---|
| 451 | fan3_min fan3 NONE RW 0 |
|---|
| 452 | temp1 NONE NONE R 1 |
|---|
| 453 | temp1_hyst temp1 temp1 RW 1 |
|---|
| 454 | temp1_over temp1 temp1 RW 1 |
|---|
| 455 | temp2 NONE NONE R 1 |
|---|
| 456 | temp2_hyst temp2 temp2 RW 1 |
|---|
| 457 | temp2_over temp2 temp2 RW 1 |
|---|
| 458 | vid NONE NONE R 2 |
|---|
| 459 | fan1_div fan1 NONE RW 0 |
|---|
| 460 | fan2_div fan2 NONE RW 0 |
|---|
| 461 | fan3_div fan3 NONE R 0 |
|---|
| 462 | alarms NONE NONE R 0 |
|---|
| 463 | beep_enable alarms NONE RW 0 |
|---|
| 464 | beeps alarms alarms RW 0 |
|---|
| 465 | sensor1 NONE NONE RW 0 |
|---|
| 466 | sensor2 NONE NONE RW 0 |
|---|
| 467 | |
|---|
| 468 | LABEL FEATURE SYMBOL SYSCTL FILE:NR |
|---|
| 469 | in0 SENSORS_W83783S_IN0 in0:3 |
|---|
| 470 | in1 SENSORS_W83783S_IN1 in1:3 |
|---|
| 471 | in2 SENSORS_W83783S_IN2 in2:3 |
|---|
| 472 | in3 SENSORS_W83783S_IN3 in3:3 |
|---|
| 473 | in4 SENSORS_W83783S_IN4 in4:3 |
|---|
| 474 | in5 SENSORS_W83783S_IN5 in5:3 |
|---|
| 475 | in6 SENSORS_W83783S_IN6 in6:3 |
|---|
| 476 | in0_min SENSORS_W83783S_IN0_MIN in0:1 |
|---|
| 477 | in1_min SENSORS_W83783S_IN1_MIN in1:1 |
|---|
| 478 | in2_min SENSORS_W83783S_IN2_MIN in2:1 |
|---|
| 479 | in3_min SENSORS_W83783S_IN3_MIN in3:1 |
|---|
| 480 | in4_min SENSORS_W83783S_IN4_MIN in4:1 |
|---|
| 481 | in5_min SENSORS_W83783S_IN5_MIN in5:1 |
|---|
| 482 | in6_min SENSORS_W83783S_IN6_MIN in6:1 |
|---|
| 483 | in0_max SENSORS_W83783S_IN0_MAX in0:2 |
|---|
| 484 | in1_max SENSORS_W83783S_IN1_MAX in1:2 |
|---|
| 485 | in2_max SENSORS_W83783S_IN2_MAX in2:2 |
|---|
| 486 | in3_max SENSORS_W83783S_IN3_MAX in3:2 |
|---|
| 487 | in4_max SENSORS_W83783S_IN4_MAX in4:2 |
|---|
| 488 | in5_max SENSORS_W83783S_IN5_MAX in5:2 |
|---|
| 489 | in6_max SENSORS_W83783S_IN6_MAX in6:2 |
|---|
| 490 | fan1 SENSORS_W83783S_FAN1 fan1:2 |
|---|
| 491 | fan2 SENSORS_W83783S_FAN2 fan2:2 |
|---|
| 492 | fan3 SENSORS_W83783S_FAN3 fan3:2 |
|---|
| 493 | fan1_min SENSORS_W83783S_FAN1_MIN fan1:1 |
|---|
| 494 | fan2_min SENSORS_W83783S_FAN2_MIN fan2:1 |
|---|
| 495 | fan3_min SENSORS_W83783S_FAN3_MIN fan3:1 |
|---|
| 496 | temp1 SENSORS_W83783S_TEMP1 temp1:3 |
|---|
| 497 | temp1_hyst SENSORS_W83783S_TEMP1_HYST temp1:2 |
|---|
| 498 | temp1_over SENSORS_W83783S_TEMP1_OVER temp1:1 |
|---|
| 499 | temp2 SENSORS_W83783S_TEMP2 temp2:3 |
|---|
| 500 | temp2_hyst SENSORS_W83783S_TEMP2_HYST temp2:2 |
|---|
| 501 | temp2_over SENSORS_W83783S_TEMP2_OVER temp2:1 |
|---|
| 502 | vid SENSORS_W83783S_VID vid:1 |
|---|
| 503 | fan1_div SENSORS_W83783S_FAN1_DIV fan_div:1 |
|---|
| 504 | fan2_div SENSORS_W83783S_FAN2_DIV fan_div:2 |
|---|
| 505 | fan3_div SENSORS_W83783S_FAN3_DIV fan_div:3 |
|---|
| 506 | alarms SENSORS_W83783S_ALARMS alarms:1 |
|---|
| 507 | beep_enable SENSORS_W83783S_BEEP_ENABLE beep:1 |
|---|
| 508 | beeps SENSORS_W83783S_BEEPS beep:2 |
|---|
| 509 | sensor1 SENSORS_W83783S_SENS1 sensor1:1 |
|---|
| 510 | sensor2 SENSORS_W83783S_SENS2 sensor2:1 |
|---|
| 511 | |
|---|
| 512 | |
|---|
| 513 | |
|---|
| 514 | Miscellaneous documentation |
|---|
| 515 | =========================== |
|---|
| 516 | |
|---|
| 517 | |
|---|
| 518 | |
|---|
| 519 | /PROC ENTRIES |
|---|
| 520 | ------------- |
|---|
| 521 | Varies depending on chip type. Most are identical to the lm78 entries. |
|---|
| 522 | See the lm78 documentation for details. |
|---|
| 523 | |
|---|
| 524 | Additional entries not in the lm78: |
|---|
| 525 | |
|---|
| 526 | pwm[1-4]: (not on w83781d) |
|---|
| 527 | Controls the speed of the fans with PWM (Pulse Width Modulation) |
|---|
| 528 | Valid values: |
|---|
| 529 | 0 - 255. 255 = max speed. |
|---|
| 530 | Second value is PWM enable 0/1. |
|---|
| 531 | |
|---|
| 532 | sensor[1-3]: (not on w83781d) |
|---|
| 533 | Controls the sensor type. To change to a different |
|---|
| 534 | sensor type, for example, do 'echo 2 > sensor1'. |
|---|
| 535 | Valid values: |
|---|
| 536 | 1: Pentium II / Celeron diode |
|---|
| 537 | 2: 2N3904 Transistor in a diode configuration |
|---|
| 538 | 3435: Thermistor with Beta = 3435. Beta is a measure |
|---|
| 539 | of sensitivity to temperature. |
|---|
| 540 | Thermistors with other Betas could in theory be supported |
|---|
| 541 | after correspondence with Winbond. See below. |
|---|
| 542 | |
|---|
| 543 | rt[1-3]: (781d only) |
|---|
| 544 | 32-byte tables controlling the conversion from |
|---|
| 545 | resistance to temperature for thermistors. |
|---|
| 546 | For the curious only. Writing to these entries will |
|---|
| 547 | probably render temperature sensing insane. |
|---|
| 548 | Only set at initialization; not updated every 1.5 seconds. |
|---|
| 549 | |
|---|
| 550 | |
|---|
| 551 | |
|---|
| 552 | TO DO: |
|---|
| 553 | ----- |
|---|
| 554 | 782d programmable pins |
|---|
| 555 | |
|---|
| 556 | |
|---|
| 557 | NOTES: |
|---|
| 558 | ----- |
|---|
| 559 | 783s has no in1 so that in[2-6] are compatible with the 781d/782d. |
|---|
| 560 | |
|---|
| 561 | 783s pin is programmable for -5V or temp1; defaults to -5V, |
|---|
| 562 | no control in driver so temp1 doesn't work. |
|---|
| 563 | |
|---|
| 564 | 782d and 783s datasheets differ on which is pwm1 and which is pwm2. |
|---|
| 565 | We chose to follow 782d. |
|---|
| 566 | |
|---|
| 567 | 782d and 783s pin is programmable for fan3 input or pwm2 output; |
|---|
| 568 | defaults to fan3 input. |
|---|
| 569 | If pwm2 is enabled (with echo 255 1 > pwm2), then |
|---|
| 570 | fan3 will report 0. |
|---|
| 571 | |
|---|
| 572 | 782d has pwm1-2 for isa, pwm1-4 for i2c. (pwm3-4 share pins with |
|---|
| 573 | the isa pins) |
|---|
| 574 | |
|---|
| 575 | 781d allowable values for fan_div are 1,2,4,8. |
|---|
| 576 | 782d/783s allowable values for fan_div are 1,2,4,8,16,32,64,128. |
|---|
| 577 | |
|---|
| 578 | |
|---|
| 579 | |
|---|
| 580 | Data sheet updates: |
|---|
| 581 | ------------------ |
|---|
| 582 | - Mask off lower bit of all ID registers. |
|---|
| 583 | |
|---|
| 584 | - PWM clock registers: |
|---|
| 585 | |
|---|
| 586 | 000: master / 512 |
|---|
| 587 | 001: master / 1024 |
|---|
| 588 | 010: master / 2048 |
|---|
| 589 | 011: master / 4096 |
|---|
| 590 | 100: master / 8192 |
|---|
| 591 | |
|---|
| 592 | |
|---|
| 593 | Answers from Winbond tech support |
|---|
| 594 | --------------------------------- |
|---|
| 595 | > |
|---|
| 596 | > 1) In the W83781D data sheet section 7.2 last paragraph, it talks about |
|---|
| 597 | > reprogramming the R-T table if the Beta of the thermistor is not |
|---|
| 598 | > 3435K. The R-T table is described briefly in section 8.20. |
|---|
| 599 | > What formulas do I use to program a new R-T table for a given Beta? |
|---|
| 600 | > |
|---|
| 601 | We are sorry that the calculation for R-T table value is |
|---|
| 602 | confidential. If you have another Beta value of thermistor, we can help |
|---|
| 603 | to calculate the R-T table for you. But you should give us real R-T |
|---|
| 604 | Table which can be gotten by thermistor vendor. Therefore we will calculate |
|---|
| 605 | them and obtain 32-byte data, and you can fill the 32-byte data to the |
|---|
| 606 | register in Bank0.CR51 of W83781D. |
|---|
| 607 | |
|---|
| 608 | |
|---|
| 609 | > 2) In the W83782D data sheet, it mentions that pins 38, 39, and 40 are |
|---|
| 610 | > programmable to be either thermistor or Pentium II diode inputs. |
|---|
| 611 | > How do I program them for diode inputs? I can't find any register |
|---|
| 612 | > to program these to be diode inputs. |
|---|
| 613 | --> You may program Bank0 CR[5Dh] and CR[59h] registers. |
|---|
| 614 | |
|---|
| 615 | CR[5Dh] bit 1(VTIN1) bit 2(VTIN2) bit 3(VTIN3) |
|---|
| 616 | |
|---|
| 617 | thermistor 0 0 0 |
|---|
| 618 | diode 1 1 1 |
|---|
| 619 | |
|---|
| 620 | |
|---|
| 621 | (error) CR[59h] bit 4(VTIN1) bit 2(VTIN2) bit 3(VTIN3) |
|---|
| 622 | (right) CR[59h] bit 4(VTIN1) bit 5(VTIN2) bit 6(VTIN3) |
|---|
| 623 | |
|---|
| 624 | PII thermal diode 1 1 1 |
|---|
| 625 | 2N3904 diode 0 0 0 |
|---|
| 626 | |
|---|
| 627 | |
|---|
| 628 | Author/Maintainer |
|---|
| 629 | ----------------- |
|---|
| 630 | Original 781D support: Frodo and Phil (sensors@stimpy.netroedge.com) |
|---|
| 631 | 782D/783S support added by: Mark D. Studebaker (mdsxyz123@yahoo.com) |
|---|
| 632 | Send requests to the sensors@stimpy.netroedge.com mailing list. |
|---|