Changeset 807
- Timestamp:
- 05/13/00 19:31:11 (9 years ago)
- Files:
-
- lm-sensors/trunk/CHANGES (modified) (2 diffs)
- lm-sensors/trunk/doc/chips/SUMMARY (modified) (1 diff)
- lm-sensors/trunk/doc/chips/w83781d (modified) (3 diffs)
- lm-sensors/trunk/etc/sensors.conf.eg (modified) (3 diffs)
- lm-sensors/trunk/kernel/chips/w83781d.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lm-sensors/trunk/CHANGES
r805 r807 15 15 16 16 2.5.1 (2000????) 17 Library: Add adm1025 support 17 18 Module adm1025: new 18 19 Module ddcmon: Fixed bus scan which could hang SMBus … … 21 22 Module w83781d: Improve w83783s support, w83627hf always has 2 pwm 22 23 Module w83781d: Fix sensor2&3 selection, enable VBAT (in8) monitoring 24 Module w83781d: Remove as99127f entries for in7-8, pwm3-4, sensor1-3 25 Module w83781d: Improve beep input checking 23 26 Program i2cdump: Add Winbond-style bank selection 24 27 Program isadump: Add Winbond-style bank selection 25 Program sensors-detect: Fix i801 detection 28 Program sensors: Add adm1025 support. 29 Program sensors: Remove some as99127f entries, fix as99127 "(beep)" 30 Program sensors-detect: Fix i801 detection, add adm1025 driver entry 31 File sensors.conf.eg: Add Maxilife '99 entries 32 File sensors.conf.eg: Remove some as99127f entries. 33 Note: For as99127f, reinstall sensors.conf.eg manually (make install 34 won't reinstall it) or else 'sensors -s' will fail. 26 35 27 36 2.5.0 (20000312) lm-sensors/trunk/doc/chips/SUMMARY
r801 r807 96 96 97 97 w83781d 98 as99127f 3 9 3 2-4 pwmyes no98 as99127f 3 7 3 2 pwm? yes no 99 99 w83781d 3 7 3 - yes yes 100 100 w83782d 3 9 3 2-4 pwm yes yes lm-sensors/trunk/doc/chips/w83781d
r797 r807 148 148 ----------------- 149 149 The as99127f support was developed without the benefit of a datasheet. 150 In most cases it is treated as a w8378 2d.150 In most cases it is treated as a w83781d. 151 151 This support is BETA. One user has reported problems with fans stopping. 152 152 … … 160 160 These will not be fixed unless we get a datasheet. 161 161 If you have problems, please lobby Asus to release a datasheet. 162 163 Note that the individual beep bits are inverted from the other chips. 164 That is, in the second entry in the 'beep' file, a '1' bit means 165 disable, not enable. 162 166 163 167 … … 563 567 564 568 565 CR[59h] bit 4(VTIN1) bit 2(VTIN2) bit 3(VTIN3) 569 (error) CR[59h] bit 4(VTIN1) bit 2(VTIN2) bit 3(VTIN3) 570 (right) CR[59h] bit 4(VTIN1) bit 5(VTIN2) bit 6(VTIN3) 566 571 567 572 PII thermal diode 1 1 1 lm-sensors/trunk/etc/sensors.conf.eg
r790 r807 266 266 label in5 "-12V" 267 267 label in6 "-5V" 268 label in7 "V5SB"269 label in8 "VBat"270 268 271 269 compute in3 ((6.8/10)+1)*@ , @/((6.8/10)+1) … … 273 271 compute in5 -(210/60.4)*@ , -@/(210/60.4) 274 272 compute in6 -(90.9/60.4)*@ , -@/(90.9/60.4) 275 compute in7 ((6.8/10)+1)*@ , @/((6.8/10)+1)276 273 277 274 # set limits to 5% for the critical voltages … … 293 290 set in6_min -5 * 0.95 294 291 set in6_max -5 * 1.05 295 set in7_min 5 * 0.95296 set in7_max 5 * 1.05297 set in8_min 3.0 * 0.80298 set in8_max 3.0 * 1.20299 300 # set up sensor types (thermistor is default)301 # 1 = PII/Celeron Diode; 2 = 3904 transistor;302 # 3435 = thermistor with Beta = 3435303 # If temperature changes very little, try 1 or 2.304 # set sensor1 1305 # set sensor2 2306 # set sensor3 3435307 292 308 293 lm-sensors/trunk/kernel/chips/w83781d.c
r800 r807 25 25 26 26 Chip #vin #fanin #pwm #temp wchipid vendid i2c ISA 27 as99127f 9 3 2-43 0x20 0x12c3 yes no27 as99127f 7 3 1? 3 0x20 0x12c3 yes no 28 28 w83781d 7 3 0 3 0x10 0x5ca3 yes yes 29 29 w83627hf 9 3 2 3 0x20 0x5ca3 yes yes(LPC) … … 191 191 #define BEEPS_TO_REG(val) ((val) & 0xffffff) 192 192 193 #define BEEP_ENABLE_TO_REG(val) (val)193 #define BEEP_ENABLE_TO_REG(val) ((val)?1:0) 194 194 #define BEEP_ENABLE_FROM_REG(val) ((val)?1:0) 195 195 … … 437 437 438 438 /* The /proc/sys entries */ 439 /* These files are created for each detected W83781D. This is just a template;439 /* These files are created for each detected chip. This is just a template; 440 440 though at first sight, you might think we could use a statically 441 441 allocated list, we need some way to get back to the parent - which 442 442 is done through one of the 'extra' fields which are initialized 443 443 when a new copy is allocated. */ 444 445 /* just a guess - no datasheet */ 446 static ctl_table as99127f_dir_table_template[] = { 447 {W83781D_SYSCTL_IN0, "in0", NULL, 0, 0644, NULL, &sensors_proc_real, 448 &sensors_sysctl_real, NULL, &w83781d_in}, 449 {W83781D_SYSCTL_IN1, "in1", NULL, 0, 0644, NULL, &sensors_proc_real, 450 &sensors_sysctl_real, NULL, &w83781d_in}, 451 {W83781D_SYSCTL_IN2, "in2", NULL, 0, 0644, NULL, &sensors_proc_real, 452 &sensors_sysctl_real, NULL, &w83781d_in}, 453 {W83781D_SYSCTL_IN3, "in3", NULL, 0, 0644, NULL, &sensors_proc_real, 454 &sensors_sysctl_real, NULL, &w83781d_in}, 455 {W83781D_SYSCTL_IN4, "in4", NULL, 0, 0644, NULL, &sensors_proc_real, 456 &sensors_sysctl_real, NULL, &w83781d_in}, 457 {W83781D_SYSCTL_IN5, "in5", NULL, 0, 0644, NULL, &sensors_proc_real, 458 &sensors_sysctl_real, NULL, &w83781d_in}, 459 {W83781D_SYSCTL_IN6, "in6", NULL, 0, 0644, NULL, &sensors_proc_real, 460 &sensors_sysctl_real, NULL, &w83781d_in}, 461 {W83781D_SYSCTL_FAN1, "fan1", NULL, 0, 0644, NULL, &sensors_proc_real, 462 &sensors_sysctl_real, NULL, &w83781d_fan}, 463 {W83781D_SYSCTL_FAN2, "fan2", NULL, 0, 0644, NULL, &sensors_proc_real, 464 &sensors_sysctl_real, NULL, &w83781d_fan}, 465 {W83781D_SYSCTL_FAN3, "fan3", NULL, 0, 0644, NULL, &sensors_proc_real, 466 &sensors_sysctl_real, NULL, &w83781d_fan}, 467 {W83781D_SYSCTL_TEMP1, "temp1", NULL, 0, 0644, NULL, &sensors_proc_real, 468 &sensors_sysctl_real, NULL, &w83781d_temp}, 469 {W83781D_SYSCTL_TEMP2, "temp2", NULL, 0, 0644, NULL, &sensors_proc_real, 470 &sensors_sysctl_real, NULL, &w83781d_temp_add}, 471 {W83781D_SYSCTL_TEMP3, "temp3", NULL, 0, 0644, NULL, &sensors_proc_real, 472 &sensors_sysctl_real, NULL, &w83781d_temp_add}, 473 {W83781D_SYSCTL_VID, "vid", NULL, 0, 0444, NULL, &sensors_proc_real, 474 &sensors_sysctl_real, NULL, &w83781d_vid}, 475 {W83781D_SYSCTL_FAN_DIV, "fan_div", NULL, 0, 0644, NULL, &sensors_proc_real, 476 &sensors_sysctl_real, NULL, &w83781d_fan_div}, 477 {W83781D_SYSCTL_ALARMS, "alarms", NULL, 0, 0444, NULL, &sensors_proc_real, 478 &sensors_sysctl_real, NULL, &w83781d_alarms}, 479 {W83781D_SYSCTL_BEEP, "beep", NULL, 0, 0644, NULL, &sensors_proc_real, 480 &sensors_sysctl_real, NULL, &w83781d_beep}, 481 {W83781D_SYSCTL_PWM1, "pwm1", NULL, 0, 0644, NULL, &sensors_proc_real, 482 &sensors_sysctl_real, NULL, &w83781d_pwm}, 483 {W83781D_SYSCTL_PWM2, "pwm2", NULL, 0, 0644, NULL, &sensors_proc_real, 484 &sensors_sysctl_real, NULL, &w83781d_pwm}, 485 {0} 486 }; 487 444 488 static ctl_table w83781d_dir_table_template[] = { 445 489 {W83781D_SYSCTL_IN0, "in0", NULL, 0, 0644, NULL, &sensors_proc_real, … … 870 914 if ((i = sensors_register_entry(new_client, 871 915 type_name, 916 kind == as99127f ? 917 as99127f_dir_table_template : 872 918 kind == w83781d ? 873 919 w83781d_dir_table_template : … … 1150 1196 vid = VID_FROM_REG(vid); 1151 1197 1152 if ( type != w83781d) {1198 if ((type != w83781d) && (type != as99127f)) { 1153 1199 tmp = w83781d_read_value(client, W83781D_REG_SCFG1); 1154 1200 for (i = 1; i <= 3; i++) { … … 1241 1287 IN_TO_REG(W83782D_INIT_IN_MAX_6)); 1242 1288 } 1243 if ((type == w83782d) || (type == w83627hf) || (type == as99127f)) {1289 if ((type == w83782d) || (type == w83627hf)) { 1244 1290 w83781d_write_value(client, W83781D_REG_IN_MIN(7), 1245 1291 IN_TO_REG(W83781D_INIT_IN_MIN_7)); … … 1339 1385 W83781D_REG_IN_MAX(i)); 1340 1386 if ((data->type != w83782d) 1341 && (data->type != w83627hf) 1342 && (data->type != as99127f) && (i == 6)) 1387 && (data->type != w83627hf) && (i == 6)) 1343 1388 break; 1344 1389 } … … 1357 1402 if (((data->type == w83783s) 1358 1403 || (data->type == w83627hf) 1359 || ( ((data->type == w83782d)1360 || (data->type == as99127f))1404 || (data->type == as99127f) 1405 || ((data->type == w83782d) 1361 1406 && i2c_is_isa_client(client))) 1362 1407 && i == 2) … … 1404 1449 W83781D_REG_ALARM1) + 1405 1450 (w83781d_read_value(client, W83781D_REG_ALARM2) << 8); 1406 if ((data->type == w83782d) || (data->type == w83627hf) 1407 || data->type == as99127f) { 1451 if ((data->type == w83782d) || (data->type == w83627hf)) { 1408 1452 data->alarms |= 1409 1453 w83781d_read_value(client, … … 1414 1458 data->beeps = ((i & 0x7f) << 8) + 1415 1459 w83781d_read_value(client, W83781D_REG_BEEP_INTS1); 1416 if ( data->type != w83781d) {1460 if ((data->type != w83781d) && (data->type != as99127f)) { 1417 1461 data->beeps |= 1418 1462 w83781d_read_value(client, 1419 W83781D_REG_BEEP_INTS3) << 1420 16; 1463 W83781D_REG_BEEP_INTS3) << 16; 1421 1464 } 1422 1465 data->last_updated = jiffies; … … 1626 1669 w83781d_write_value(client, W83781D_REG_BEEP_INTS1, 1627 1670 data->beeps & 0xff); 1628 if (data->type != w83781d) { 1671 if ((data->type != w83781d) && 1672 (data->type != as99127f)) { 1629 1673 w83781d_write_value(client, 1630 1674 W83781D_REG_BEEP_INTS3, 1631 ((data-> 1632 beeps) >> 16) & 1633 0xff); 1675 ((data-> beeps) >> 16) & 1676 0xff); 1634 1677 } 1635 val = data->beeps >> 8;1678 val = (data->beeps >> 8) & 0x7f; 1636 1679 } else if (*nrels_mag >= 1) 1637 1680 val =
