Changeset 807

Show
Ignore:
Timestamp:
05/13/00 19:31:11 (14 years ago)
Author:
mds
Message:

(mds) For as99127f, remove in7-8, sensor1-3, pwm3-4

Location:
lm-sensors/trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/CHANGES

    r805 r807  
    1515 
    16162.5.1 (2000????) 
     17  Library: Add adm1025 support 
    1718  Module adm1025: new 
    1819  Module ddcmon: Fixed bus scan which could hang SMBus 
     
    2122  Module w83781d: Improve w83783s support, w83627hf always has 2 pwm 
    2223  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 
    2326  Program i2cdump: Add Winbond-style bank selection 
    2427  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. 
    2635 
    27362.5.0 (20000312) 
  • lm-sensors/trunk/doc/chips/SUMMARY

    r801 r807  
    9696 
    9797w83781d 
    98         as99127f        3       9       3       2-4 pwm yes     no 
     98        as99127f        3       7       3       2 pwm?  yes     no 
    9999        w83781d         3       7       3       -       yes     yes 
    100100        w83782d         3       9       3       2-4 pwm yes     yes 
  • lm-sensors/trunk/doc/chips/w83781d

    r797 r807  
    148148----------------- 
    149149The as99127f support was developed without the benefit of a datasheet. 
    150 In most cases it is treated as a w83782d. 
     150In most cases it is treated as a w83781d. 
    151151This support is BETA. One user has reported problems with fans stopping. 
    152152 
     
    160160These will not be fixed unless we get a datasheet. 
    161161If you have problems, please lobby Asus to release a datasheet. 
     162 
     163Note that the individual beep bits are inverted from the other chips. 
     164That is, in the second entry in the 'beep' file, a '1' bit means 
     165disable, not enable. 
    162166 
    163167 
     
    563567  
    564568  
    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) 
    566571         
    567572        PII thermal diode         1              1              1 
  • lm-sensors/trunk/etc/sensors.conf.eg

    r790 r807  
    266266    label in5 "-12V" 
    267267    label in6 "-5V" 
    268     label in7 "V5SB" 
    269     label in8 "VBat" 
    270268 
    271269    compute in3 ((6.8/10)+1)*@ ,  @/((6.8/10)+1) 
     
    273271    compute in5 -(210/60.4)*@  ,  -@/(210/60.4) 
    274272    compute in6 -(90.9/60.4)*@ ,  -@/(90.9/60.4) 
    275     compute in7 ((6.8/10)+1)*@ ,  @/((6.8/10)+1) 
    276273 
    277274# set limits to  5% for the critical voltages 
     
    293290    set in6_min -5 * 0.95 
    294291    set in6_max -5 * 1.05 
    295     set in7_min 5 * 0.95 
    296     set in7_max 5 * 1.05 
    297     set in8_min 3.0 * 0.80 
    298     set in8_max 3.0 * 1.20 
    299  
    300 # set up sensor types (thermistor is default) 
    301 # 1 = PII/Celeron Diode; 2 = 3904 transistor; 
    302 # 3435 = thermistor with Beta = 3435 
    303 # If temperature changes very little, try 1 or 2. 
    304 #   set sensor1 1 
    305 #   set sensor2 2 
    306 #   set sensor3 3435 
    307292 
    308293 
  • lm-sensors/trunk/kernel/chips/w83781d.c

    r800 r807  
    2525 
    2626    Chip        #vin    #fanin  #pwm    #temp   wchipid vendid  i2c     ISA 
    27     as99127f    9       3       2-4     3       0x20    0x12c3  yes     no 
     27    as99127f    7       3       1?      3       0x20    0x12c3  yes     no 
    2828    w83781d     7       3       0       3       0x10    0x5ca3  yes     yes 
    2929    w83627hf    9       3       2       3       0x20    0x5ca3  yes     yes(LPC) 
     
    191191#define BEEPS_TO_REG(val) ((val) & 0xffffff) 
    192192 
    193 #define BEEP_ENABLE_TO_REG(val) (val) 
     193#define BEEP_ENABLE_TO_REG(val)   ((val)?1:0) 
    194194#define BEEP_ENABLE_FROM_REG(val) ((val)?1:0) 
    195195 
     
    437437 
    438438/* 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; 
    440440   though at first sight, you might think we could use a statically 
    441441   allocated list, we need some way to get back to the parent - which 
    442442   is done through one of the 'extra' fields which are initialized  
    443443   when a new copy is allocated. */ 
     444 
     445/* just a guess - no datasheet */ 
     446static 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 
    444488static ctl_table w83781d_dir_table_template[] = { 
    445489        {W83781D_SYSCTL_IN0, "in0", NULL, 0, 0644, NULL, &sensors_proc_real, 
     
    870914        if ((i = sensors_register_entry(new_client, 
    871915                                        type_name, 
     916                                        kind == as99127f ? 
     917                                           as99127f_dir_table_template : 
    872918                                        kind == w83781d ? 
    873919                                           w83781d_dir_table_template : 
     
    11501196        vid = VID_FROM_REG(vid); 
    11511197 
    1152         if (type != w83781d) { 
     1198        if ((type != w83781d) && (type != as99127f)) { 
    11531199                tmp = w83781d_read_value(client, W83781D_REG_SCFG1); 
    11541200                for (i = 1; i <= 3; i++) { 
     
    12411287                                    IN_TO_REG(W83782D_INIT_IN_MAX_6)); 
    12421288        } 
    1243         if ((type == w83782d) || (type == w83627hf) || (type == as99127f)) { 
     1289        if ((type == w83782d) || (type == w83627hf)) { 
    12441290                w83781d_write_value(client, W83781D_REG_IN_MIN(7), 
    12451291                                    IN_TO_REG(W83781D_INIT_IN_MIN_7)); 
     
    13391385                                               W83781D_REG_IN_MAX(i)); 
    13401386                        if ((data->type != w83782d) 
    1341                             && (data->type != w83627hf) 
    1342                             && (data->type != as99127f) && (i == 6)) 
     1387                            && (data->type != w83627hf) && (i == 6)) 
    13431388                                break; 
    13441389                } 
     
    13571402                                if (((data->type == w83783s) 
    13581403                                     || (data->type == w83627hf) 
    1359                                      || (((data->type == w83782d) 
    1360                                           || (data->type == as99127f)) 
     1404                                     || (data->type == as99127f) 
     1405                                     || ((data->type == w83782d) 
    13611406                                        && i2c_is_isa_client(client))) 
    13621407                                    && i == 2) 
     
    14041449                                       W83781D_REG_ALARM1) + 
    14051450                    (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)) { 
    14081452                        data->alarms |= 
    14091453                            w83781d_read_value(client, 
     
    14141458                data->beeps = ((i & 0x7f) << 8) + 
    14151459                    w83781d_read_value(client, W83781D_REG_BEEP_INTS1); 
    1416                 if (data->type != w83781d) { 
     1460                if ((data->type != w83781d) && (data->type != as99127f)) { 
    14171461                        data->beeps |= 
    14181462                            w83781d_read_value(client, 
    1419                                                W83781D_REG_BEEP_INTS3) << 
    1420                             16; 
     1463                                               W83781D_REG_BEEP_INTS3) << 16; 
    14211464                } 
    14221465                data->last_updated = jiffies; 
     
    16261669                        w83781d_write_value(client, W83781D_REG_BEEP_INTS1, 
    16271670                                            data->beeps & 0xff); 
    1628                         if (data->type != w83781d) { 
     1671                        if ((data->type != w83781d) && 
     1672                            (data->type != as99127f)) { 
    16291673                                w83781d_write_value(client, 
    16301674                                                    W83781D_REG_BEEP_INTS3, 
    1631                                                     ((data-> 
    1632                                                       beeps) >> 16) & 
    1633                                                     0xff); 
     1675                                                    ((data-> beeps) >> 16) & 
     1676                                                      0xff); 
    16341677                        } 
    1635                         val = data->beeps >> 8; 
     1678                        val = (data->beeps >> 8) & 0x7f; 
    16361679                } else if (*nrels_mag >= 1) 
    16371680                        val =