Changeset 1726

Show
Ignore:
Timestamp:
03/17/03 03:34:10 (6 years ago)
Author:
mds
Message:

lm85 patch from Philip Pokorny <ppokorny@penguincomputing.com>

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lm-sensors/trunk/CONTRIBUTORS

    r1616 r1726  
    8484  Author of the i2c-amd8111 bus driver. 
    8585  Added support for amd8111 SMBus 1.0 controller to i2c-amd756. 
    86  
     86* Philip Pokorny <ppokorny@penguincomputing.com> 
     87  Author of the LM85 chip driver. 
  • lm-sensors/trunk/README

    r1636 r1726  
    6161 
    6262At least the following hardware sensor chips are supported: 
    63   Analog Devices ADM1021, ADM1021A, ADM1022, 
    64                  ADM1023, ADM1024, ADM1025, and ADM9240 
     63  Analog Devices ADM1021, ADM1021A, ADM1022, ADM1023 
     64                 ADM1024, ADM1025, ADM1027 and ADM9240 
     65                 ADT7463 
    6566  Asus AS99127F, ASB100 Bach 
    6667  Dallas Semiconductor DS75, DS1621, DS1625, DS1775, and DS1780 
     
    7475  Myson MTP008 
    7576  National Semiconductor LM75, LM77, LM78, LM78-J, LM79, 
    76                          LM80, LM81, LM84, LM87, and LM92 
     77                         LM80, LM81, LM84, LM85, LM87, and LM92 
    7778  Philips NE1617, NE1617A 
    7879  SiS 5595, 950 embedded sensors 
  • lm-sensors/trunk/doc/chips/SUMMARY

    r1678 r1726  
    112112        lm80            1       7       2       -       yes     no 
    113113 
     114lm85 
     115        lm85            3       5       4       3 pwm   yes     no 
     116        adm1027         3       5       4       3 pwm   yes     no 
     117        adt7463         3       5       4       3 pwm   yes     no 
     118 
    114119lm87 
    115120        lm87            2-3     6-8     0-2     1 pwm   yes     no 
  • lm-sensors/trunk/kernel/include/sensors.h

    r1705 r1726  
    464464#define LM87_ALARM_TEMP3_FAULT 0x08000 
    465465 
     466/* Common parameters */ 
     467#define LM85_SYSCTL_IN0                1000 
     468#define LM85_SYSCTL_IN1                1001 
     469#define LM85_SYSCTL_IN2                1002 
     470#define LM85_SYSCTL_IN3                1003 
     471#define LM85_SYSCTL_IN4                1004 
     472#define LM85_SYSCTL_FAN1               1005 
     473#define LM85_SYSCTL_FAN2               1006 
     474#define LM85_SYSCTL_FAN3               1007 
     475#define LM85_SYSCTL_FAN4               1008 
     476#define LM85_SYSCTL_TEMP1              1009 
     477#define LM85_SYSCTL_TEMP2              1010 
     478#define LM85_SYSCTL_TEMP3              1011 
     479#define LM85_SYSCTL_VID                1012 
     480#define LM85_SYSCTL_ALARMS             1013 
     481#define LM85_SYSCTL_PWM1               1014 
     482#define LM85_SYSCTL_PWM2               1015 
     483#define LM85_SYSCTL_PWM3               1016 
     484#define LM85_SYSCTL_VRM                1017 
     485#define LM85_SYSCTL_PWM_CFG1           1019 
     486#define LM85_SYSCTL_PWM_CFG2           1020 
     487#define LM85_SYSCTL_PWM_CFG3           1021 
     488#define LM85_SYSCTL_PWM_ZONE1          1022 
     489#define LM85_SYSCTL_PWM_ZONE2          1023 
     490#define LM85_SYSCTL_PWM_ZONE3          1024 
     491#define LM85_SYSCTL_ZONE1              1025 
     492#define LM85_SYSCTL_ZONE2              1026 
     493#define LM85_SYSCTL_ZONE3              1027 
     494#define LM85_SYSCTL_SMOOTH1            1028 
     495#define LM85_SYSCTL_SMOOTH2            1029 
     496#define LM85_SYSCTL_SMOOTH3            1030 
     497 
     498/* Vendor specific values */ 
     499#define LM85_SYSCTL_SPINUP_CTL         1100 
     500#define LM85_SYSCTL_TACH_MODE          1101 
     501 
     502/* Analog Devices variant of the LM85 */ 
     503#define ADM1027_SYSCTL_TACH_MODE       1200 
     504#define ADM1027_SYSCTL_TEMP_OFFSET1    1201 
     505#define ADM1027_SYSCTL_TEMP_OFFSET2    1202 
     506#define ADM1027_SYSCTL_TEMP_OFFSET3    1203 
     507#define ADM1027_SYSCTL_FAN_PPR         1204 
     508#define ADM1027_SYSCTL_ALARM_MASK      1205 
     509 
     510/* Analog Devices variant of the LM85/ADM1027 */ 
     511#define ADT7463_SYSCTL_TMIN_CTL1       1300 
     512#define ADT7463_SYSCTL_TMIN_CTL2       1301 
     513#define ADT7463_SYSCTL_TMIN_CTL3       1302 
     514#define ADT7463_SYSCTL_THERM_SIGNAL    1303 
     515 
     516#define LM85_ALARM_IN0          0x0001 
     517#define LM85_ALARM_IN1          0x0002 
     518#define LM85_ALARM_IN2          0x0004 
     519#define LM85_ALARM_IN3          0x0008 
     520#define LM85_ALARM_TEMP1        0x0010 
     521#define LM85_ALARM_TEMP2        0x0020 
     522#define LM85_ALARM_TEMP3        0x0040 
     523#define LM85_ALARM_ALARM2       0x0080 
     524#define LM85_ALARM_IN4          0x0100 
     525#define LM85_ALARM_RESERVED     0x0200 
     526#define LM85_ALARM_FAN1         0x0400 
     527#define LM85_ALARM_FAN2         0x0800 
     528#define LM85_ALARM_FAN3         0x1000 
     529#define LM85_ALARM_FAN4         0x2000 
     530#define LM85_ALARM_TEMP1_FAULT  0x4000 
     531#define LM85_ALARM_TEMP3_FAULT 0x08000 
     532 
    466533#define PCF8574_SYSCTL_READ     1000 
    467534#define PCF8574_SYSCTL_WRITE    1001 
     
    652719 
    653720#define LM92_SYSCTL_ALARMS              2001    /* high, low, critical */ 
    654 #define LM92_SYSCTL_TEMP                1200    /* high, low, critical, hysterisis, input */ 
     721#define LM92_SYSCTL_TEMP                1200    /* high, low, critical, hysteresis, input */ 
    655722 
    656723#define LM92_ALARM_TEMP_HIGH    0x01 
  • lm-sensors/trunk/lib/chips.c

    r1613 r1726  
    22542254                         SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
    22552255                         SENSORS_MODE_R, EEPROM_SYSCTL14, VALUE(16), 0 }, 
     2256    { 0 } 
     2257  }; 
     2258 
     2259/* NOTE: Many shared values with adm1027_features !!! */ 
     2260static sensors_chip_feature lm85_features[] = 
     2261  {  
     2262    { SENSORS_LM85_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
     2263                        SENSORS_MODE_R, LM85_SYSCTL_IN0, VALUE(3), 3 }, 
     2264    { SENSORS_LM85_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2265                        SENSORS_MODE_R, LM85_SYSCTL_IN1, VALUE(3), 3 }, 
     2266    { SENSORS_LM85_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2267                        SENSORS_MODE_R, LM85_SYSCTL_IN2, VALUE(3), 3 }, 
     2268    { SENSORS_LM85_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2269                        SENSORS_MODE_R, LM85_SYSCTL_IN3, VALUE(3), 3 }, 
     2270    { SENSORS_LM85_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2271                        SENSORS_MODE_R, LM85_SYSCTL_IN4, VALUE(3), 3 }, 
     2272    { SENSORS_LM85_IN0_MIN, "in0_min", SENSORS_LM85_IN0, SENSORS_LM85_IN0, 
     2273                            SENSORS_MODE_RW, LM85_SYSCTL_IN0, VALUE(1), 3 }, 
     2274    { SENSORS_LM85_IN1_MIN, "in1_min", SENSORS_LM85_IN1, SENSORS_LM85_IN1, 
     2275                            SENSORS_MODE_RW, LM85_SYSCTL_IN1, VALUE(1), 3 }, 
     2276    { SENSORS_LM85_IN2_MIN, "in2_min", SENSORS_LM85_IN2, SENSORS_LM85_IN2, 
     2277                            SENSORS_MODE_RW, LM85_SYSCTL_IN2, VALUE(1), 3 }, 
     2278    { SENSORS_LM85_IN3_MIN, "in3_min", SENSORS_LM85_IN3, SENSORS_LM85_IN3, 
     2279                            SENSORS_MODE_RW, LM85_SYSCTL_IN3, VALUE(1), 3 }, 
     2280    { SENSORS_LM85_IN4_MIN, "in4_min", SENSORS_LM85_IN4, SENSORS_LM85_IN4, 
     2281                            SENSORS_MODE_RW, LM85_SYSCTL_IN4, VALUE(1), 3 }, 
     2282    { SENSORS_LM85_IN0_MAX, "in0_max", SENSORS_LM85_IN0, SENSORS_LM85_IN0, 
     2283                            SENSORS_MODE_RW, LM85_SYSCTL_IN0, VALUE(2), 3 }, 
     2284    { SENSORS_LM85_IN1_MAX, "in1_max", SENSORS_LM85_IN1, SENSORS_LM85_IN1, 
     2285                            SENSORS_MODE_RW, LM85_SYSCTL_IN1, VALUE(2), 3 }, 
     2286    { SENSORS_LM85_IN2_MAX, "in2_max", SENSORS_LM85_IN2, SENSORS_LM85_IN2, 
     2287                            SENSORS_MODE_RW, LM85_SYSCTL_IN2, VALUE(2), 3 }, 
     2288    { SENSORS_LM85_IN3_MAX, "in3_max", SENSORS_LM85_IN3, SENSORS_LM85_IN3, 
     2289                            SENSORS_MODE_RW, LM85_SYSCTL_IN3, VALUE(2), 3 }, 
     2290    { SENSORS_LM85_IN4_MAX, "in4_max", SENSORS_LM85_IN4, SENSORS_LM85_IN4, 
     2291                            SENSORS_MODE_RW, LM85_SYSCTL_IN4, VALUE(2), 3 }, 
     2292    { SENSORS_LM85_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2293                         SENSORS_MODE_R, LM85_SYSCTL_FAN1, VALUE(2), 0 }, 
     2294    { SENSORS_LM85_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2295                         SENSORS_MODE_R, LM85_SYSCTL_FAN2, VALUE(2), 0 }, 
     2296    { SENSORS_LM85_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2297                         SENSORS_MODE_R, LM85_SYSCTL_FAN3, VALUE(2), 0 }, 
     2298    { SENSORS_LM85_FAN4, "fan4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2299                         SENSORS_MODE_R, LM85_SYSCTL_FAN4, VALUE(2), 0 }, 
     2300    { SENSORS_LM85_FAN1_MIN, "fan1_min", SENSORS_LM85_FAN1, SENSORS_LM85_FAN1, 
     2301                             SENSORS_MODE_RW, LM85_SYSCTL_FAN1, VALUE(1), 0 }, 
     2302    { SENSORS_LM85_FAN2_MIN, "fan2_min", SENSORS_LM85_FAN2, SENSORS_LM85_FAN2, 
     2303                             SENSORS_MODE_RW, LM85_SYSCTL_FAN2, VALUE(1), 0 }, 
     2304    { SENSORS_LM85_FAN3_MIN, "fan3_min", SENSORS_LM85_FAN3, SENSORS_LM85_FAN3, 
     2305                             SENSORS_MODE_RW, LM85_SYSCTL_FAN3, VALUE(1), 0 }, 
     2306    { SENSORS_LM85_FAN4_MIN, "fan4_min", SENSORS_LM85_FAN4, SENSORS_LM85_FAN4, 
     2307                             SENSORS_MODE_RW, LM85_SYSCTL_FAN4, VALUE(1), 0 }, 
     2308    { SENSORS_LM85_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2309                         SENSORS_MODE_R, LM85_SYSCTL_TEMP1, VALUE(3), 2 }, 
     2310    { SENSORS_LM85_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2311                         SENSORS_MODE_R, LM85_SYSCTL_TEMP2, VALUE(3), 2 }, 
     2312    { SENSORS_LM85_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2313                         SENSORS_MODE_R, LM85_SYSCTL_TEMP3, VALUE(3), 2 }, 
     2314    { SENSORS_LM85_TEMP1_MIN, "temp1_min", SENSORS_LM85_TEMP1, 
     2315                              SENSORS_LM85_TEMP1, SENSORS_MODE_RW,  
     2316                              LM85_SYSCTL_TEMP1, VALUE(1), 2 }, 
     2317    { SENSORS_LM85_TEMP2_MIN, "temp2_min", SENSORS_LM85_TEMP2, 
     2318                              SENSORS_LM85_TEMP2, SENSORS_MODE_RW,  
     2319                              LM85_SYSCTL_TEMP2, VALUE(1), 2 }, 
     2320    { SENSORS_LM85_TEMP3_MIN, "temp3_min", SENSORS_LM85_TEMP3, 
     2321                              SENSORS_LM85_TEMP3, SENSORS_MODE_RW,  
     2322                              LM85_SYSCTL_TEMP3, VALUE(1), 2 }, 
     2323    { SENSORS_LM85_TEMP1_MAX, "temp1_max", SENSORS_LM85_TEMP1, 
     2324                              SENSORS_LM85_TEMP1, SENSORS_MODE_RW,  
     2325                              LM85_SYSCTL_TEMP1, VALUE(2), 2 }, 
     2326    { SENSORS_LM85_TEMP2_MAX, "temp2_max", SENSORS_LM85_TEMP2, 
     2327                              SENSORS_LM85_TEMP2, SENSORS_MODE_RW,  
     2328                              LM85_SYSCTL_TEMP2, VALUE(2), 2 }, 
     2329    { SENSORS_LM85_TEMP3_MAX, "temp3_max", SENSORS_LM85_TEMP3, 
     2330                              SENSORS_LM85_TEMP3, SENSORS_MODE_RW,  
     2331                              LM85_SYSCTL_TEMP3, VALUE(2), 2 }, 
     2332    { SENSORS_LM85_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2333                         SENSORS_MODE_R, LM85_SYSCTL_VID, VALUE(1), 3 }, 
     2334    { SENSORS_LM85_VRM, "vrm", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2335                         SENSORS_MODE_RW, LM85_SYSCTL_VRM, VALUE(1), 1 }, 
     2336    { SENSORS_LM85_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
     2337                           SENSORS_MODE_R, LM85_SYSCTL_ALARMS, VALUE(1), 0 }, 
     2338    { SENSORS_LM85_PWM1, "pwm1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2339                         SENSORS_MODE_RW, LM85_SYSCTL_PWM1, VALUE(1), 0 }, 
     2340    { SENSORS_LM85_PWM2, "pwm2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2341                         SENSORS_MODE_RW, LM85_SYSCTL_PWM2, VALUE(1), 0 }, 
     2342    { SENSORS_LM85_PWM3, "pwm3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2343                         SENSORS_MODE_RW, LM85_SYSCTL_PWM3, VALUE(1), 0 }, 
     2344    { SENSORS_LM85_PWM1_SPINUP, "pwm1_spinup", SENSORS_LM85_PWM1,  
     2345                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2346                         LM85_SYSCTL_PWM_CFG1, VALUE(1), 1 }, 
     2347    { SENSORS_LM85_PWM2_SPINUP, "pwm2_spinup", SENSORS_LM85_PWM2,  
     2348                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2349                         LM85_SYSCTL_PWM_CFG2, VALUE(1), 1 }, 
     2350    { SENSORS_LM85_PWM3_SPINUP, "pwm3_spinup", SENSORS_LM85_PWM3,  
     2351                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2352                         LM85_SYSCTL_PWM_CFG3, VALUE(1), 1 }, 
     2353    { SENSORS_LM85_PWM1_MIN, "pwm1_min", SENSORS_LM85_PWM1,  
     2354                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2355                         LM85_SYSCTL_PWM_CFG1, VALUE(2), 1 }, 
     2356    { SENSORS_LM85_PWM2_MIN, "pwm2_min", SENSORS_LM85_PWM2,  
     2357                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2358                         LM85_SYSCTL_PWM_CFG2, VALUE(2), 1 }, 
     2359    { SENSORS_LM85_PWM3_MIN, "pwm3_min", SENSORS_LM85_PWM3,  
     2360                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2361                         LM85_SYSCTL_PWM_CFG3, VALUE(2), 1 }, 
     2362    { SENSORS_LM85_PWM1_FREQ, "pwm1_freq", SENSORS_LM85_PWM1,  
     2363                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2364                         LM85_SYSCTL_PWM_CFG1, VALUE(3), 1 }, 
     2365    { SENSORS_LM85_PWM2_FREQ, "pwm2_freq", SENSORS_LM85_PWM2,  
     2366                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2367                         LM85_SYSCTL_PWM_CFG2, VALUE(3), 1 }, 
     2368    { SENSORS_LM85_PWM3_FREQ, "pwm3_freq", SENSORS_LM85_PWM3,  
     2369                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2370                         LM85_SYSCTL_PWM_CFG3, VALUE(3), 1 }, 
     2371    { SENSORS_LM85_PWM1_MIN_CTL, "pwm1_min_ctl", SENSORS_LM85_PWM1,  
     2372                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2373                         LM85_SYSCTL_PWM_CFG1, VALUE(4), 1 }, 
     2374    { SENSORS_LM85_PWM2_MIN_CTL, "pwm2_min_ctl", SENSORS_LM85_PWM2,  
     2375                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2376                         LM85_SYSCTL_PWM_CFG2, VALUE(4), 1 }, 
     2377    { SENSORS_LM85_PWM3_MIN_CTL, "pwm3_min_ctl", SENSORS_LM85_PWM3,  
     2378                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2379                         LM85_SYSCTL_PWM_CFG3, VALUE(4), 1 }, 
     2380    { SENSORS_LM85_PWM1_INVERT, "pwm1_invert", SENSORS_LM85_PWM1,  
     2381                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2382                         LM85_SYSCTL_PWM_CFG1, VALUE(5), 0 }, 
     2383    { SENSORS_LM85_PWM2_INVERT, "pwm2_invert", SENSORS_LM85_PWM2,  
     2384                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2385                         LM85_SYSCTL_PWM_CFG2, VALUE(5), 0 }, 
     2386    { SENSORS_LM85_PWM3_INVERT, "pwm3_invert", SENSORS_LM85_PWM3,  
     2387                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2388                         LM85_SYSCTL_PWM_CFG3, VALUE(5), 0 }, 
     2389    { SENSORS_LM85_PWM1_ZONE, "pwm1_zone", SENSORS_LM85_PWM1,  
     2390                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2391                         LM85_SYSCTL_PWM_ZONE1, VALUE(1), 0 }, 
     2392    { SENSORS_LM85_PWM2_ZONE, "pwm2_zone", SENSORS_LM85_PWM2,  
     2393                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2394                         LM85_SYSCTL_PWM_ZONE2, VALUE(1), 0 }, 
     2395    { SENSORS_LM85_PWM3_ZONE, "pwm3_zone", SENSORS_LM85_PWM3,  
     2396                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2397                         LM85_SYSCTL_PWM_ZONE3, VALUE(1), 0 }, 
     2398    { SENSORS_LM85_ZONE1_LIMIT, "zone1_limit", SENSORS_LM85_TEMP1,  
     2399                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2400                         LM85_SYSCTL_ZONE1, VALUE(1), 1 }, 
     2401    { SENSORS_LM85_ZONE2_LIMIT, "zone2_limit", SENSORS_LM85_TEMP2,  
     2402                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2403                         LM85_SYSCTL_ZONE2, VALUE(1), 1 }, 
     2404    { SENSORS_LM85_ZONE3_LIMIT, "zone3_limit", SENSORS_LM85_TEMP3,  
     2405                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2406                         LM85_SYSCTL_ZONE3, VALUE(1), 1 }, 
     2407    { SENSORS_LM85_ZONE1_HYST, "zone1_hyst", SENSORS_LM85_TEMP1,  
     2408                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2409                         LM85_SYSCTL_ZONE1, VALUE(2), 1 }, 
     2410    { SENSORS_LM85_ZONE2_HYST, "zone2_hyst", SENSORS_LM85_TEMP2,  
     2411                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2412                         LM85_SYSCTL_ZONE2, VALUE(2), 1 }, 
     2413    { SENSORS_LM85_ZONE3_HYST, "zone3_hyst", SENSORS_LM85_TEMP3,  
     2414                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2415                         LM85_SYSCTL_ZONE3, VALUE(2), 1 }, 
     2416    { SENSORS_LM85_ZONE1_RANGE, "zone1_range", SENSORS_LM85_TEMP1,  
     2417                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2418                         LM85_SYSCTL_ZONE1, VALUE(3), 1 }, 
     2419    { SENSORS_LM85_ZONE2_RANGE, "zone2_range", SENSORS_LM85_TEMP2,  
     2420                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2421                         LM85_SYSCTL_ZONE2, VALUE(3), 1 }, 
     2422    { SENSORS_LM85_ZONE3_RANGE, "zone3_range", SENSORS_LM85_TEMP3,  
     2423                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2424                         LM85_SYSCTL_ZONE3, VALUE(3), 1 }, 
     2425    { SENSORS_LM85_ZONE1_CRITICAL, "zone1_critical", SENSORS_LM85_TEMP1,  
     2426                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2427                         LM85_SYSCTL_ZONE1, VALUE(4), 1 }, 
     2428    { SENSORS_LM85_ZONE2_CRITICAL, "zone2_critical", SENSORS_LM85_TEMP2,  
     2429                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2430                         LM85_SYSCTL_ZONE2, VALUE(4), 1 }, 
     2431    { SENSORS_LM85_ZONE3_CRITICAL, "zone3_critical", SENSORS_LM85_TEMP3,  
     2432                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2433                         LM85_SYSCTL_ZONE3, VALUE(4), 1 }, 
     2434 
     2435    { SENSORS_LM85_PWM1_SPINUP_CTL, "pwm1_spinup_ctl", SENSORS_LM85_PWM1,  
     2436                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2437                         LM85_SYSCTL_SPINUP_CTL, VALUE(1), 0 }, 
     2438    { SENSORS_LM85_PWM2_SPINUP_CTL, "pwm2_spinup_ctl", SENSORS_LM85_PWM2,  
     2439                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2440                         LM85_SYSCTL_SPINUP_CTL, VALUE(2), 0 }, 
     2441    { SENSORS_LM85_PWM3_SPINUP_CTL, "pwm3_spinup_ctl", SENSORS_LM85_PWM3,  
     2442                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2443                         LM85_SYSCTL_SPINUP_CTL, VALUE(3), 0 }, 
     2444    { SENSORS_LM85_FAN1_TACH_MODE, "fan1_tach_mode", SENSORS_LM85_FAN1,  
     2445                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2446                         LM85_SYSCTL_TACH_MODE, VALUE(1), 0 }, 
     2447    { SENSORS_LM85_FAN2_TACH_MODE, "fan2_tach_mode", SENSORS_LM85_FAN2,  
     2448                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2449                         LM85_SYSCTL_TACH_MODE, VALUE(2), 0 }, 
     2450    { SENSORS_LM85_FAN3_TACH_MODE, "fan3_tach_mode", SENSORS_LM85_FAN3,  
     2451                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2452                         LM85_SYSCTL_TACH_MODE, VALUE(3), 0 }, 
     2453    { SENSORS_LM85_ZONE1_SMOOTH, "zone1_smooth", SENSORS_LM85_TEMP1,  
     2454                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2455                         LM85_SYSCTL_SMOOTH1, VALUE(1), 1 }, 
     2456    { SENSORS_LM85_ZONE2_SMOOTH, "zone2_smooth", SENSORS_LM85_TEMP2,  
     2457                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2458                         LM85_SYSCTL_SMOOTH2, VALUE(1), 1 }, 
     2459    { SENSORS_LM85_ZONE3_SMOOTH, "zone3_smooth", SENSORS_LM85_TEMP3,  
     2460                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2461                         LM85_SYSCTL_SMOOTH3, VALUE(1), 1 }, 
     2462    { 0 } 
     2463  }; 
     2464 
     2465/* NOTE: Many shared values with lm85_features !!! */ 
     2466static sensors_chip_feature adm1027_features[] = 
     2467  {  
     2468    { SENSORS_LM85_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
     2469                        SENSORS_MODE_R, LM85_SYSCTL_IN0, VALUE(3), 3 }, 
     2470    { SENSORS_LM85_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2471                        SENSORS_MODE_R, LM85_SYSCTL_IN1, VALUE(3), 3 }, 
     2472    { SENSORS_LM85_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2473                        SENSORS_MODE_R, LM85_SYSCTL_IN2, VALUE(3), 3 }, 
     2474    { SENSORS_LM85_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2475                        SENSORS_MODE_R, LM85_SYSCTL_IN3, VALUE(3), 3 }, 
     2476    { SENSORS_LM85_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2477                        SENSORS_MODE_R, LM85_SYSCTL_IN4, VALUE(3), 3 }, 
     2478    { SENSORS_LM85_IN0_MIN, "in0_min", SENSORS_LM85_IN0, SENSORS_LM85_IN0, 
     2479                            SENSORS_MODE_RW, LM85_SYSCTL_IN0, VALUE(1), 3 }, 
     2480    { SENSORS_LM85_IN1_MIN, "in1_min", SENSORS_LM85_IN1, SENSORS_LM85_IN1, 
     2481                            SENSORS_MODE_RW, LM85_SYSCTL_IN1, VALUE(1), 3 }, 
     2482    { SENSORS_LM85_IN2_MIN, "in2_min", SENSORS_LM85_IN2, SENSORS_LM85_IN2, 
     2483                            SENSORS_MODE_RW, LM85_SYSCTL_IN2, VALUE(1), 3 }, 
     2484    { SENSORS_LM85_IN3_MIN, "in3_min", SENSORS_LM85_IN3, SENSORS_LM85_IN3, 
     2485                            SENSORS_MODE_RW, LM85_SYSCTL_IN3, VALUE(1), 3 }, 
     2486    { SENSORS_LM85_IN4_MIN, "in4_min", SENSORS_LM85_IN4, SENSORS_LM85_IN4, 
     2487                            SENSORS_MODE_RW, LM85_SYSCTL_IN4, VALUE(1), 3 }, 
     2488    { SENSORS_LM85_IN0_MAX, "in0_max", SENSORS_LM85_IN0, SENSORS_LM85_IN0, 
     2489                            SENSORS_MODE_RW, LM85_SYSCTL_IN0, VALUE(2), 3 }, 
     2490    { SENSORS_LM85_IN1_MAX, "in1_max", SENSORS_LM85_IN1, SENSORS_LM85_IN1, 
     2491                            SENSORS_MODE_RW, LM85_SYSCTL_IN1, VALUE(2), 3 }, 
     2492    { SENSORS_LM85_IN2_MAX, "in2_max", SENSORS_LM85_IN2, SENSORS_LM85_IN2, 
     2493                            SENSORS_MODE_RW, LM85_SYSCTL_IN2, VALUE(2), 3 }, 
     2494    { SENSORS_LM85_IN3_MAX, "in3_max", SENSORS_LM85_IN3, SENSORS_LM85_IN3, 
     2495                            SENSORS_MODE_RW, LM85_SYSCTL_IN3, VALUE(2), 3 }, 
     2496    { SENSORS_LM85_IN4_MAX, "in4_max", SENSORS_LM85_IN4, SENSORS_LM85_IN4, 
     2497                            SENSORS_MODE_RW, LM85_SYSCTL_IN4, VALUE(2), 3 }, 
     2498    { SENSORS_LM85_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2499                         SENSORS_MODE_R, LM85_SYSCTL_FAN1, VALUE(2), 0 }, 
     2500    { SENSORS_LM85_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2501                         SENSORS_MODE_R, LM85_SYSCTL_FAN2, VALUE(2), 0 }, 
     2502    { SENSORS_LM85_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2503                         SENSORS_MODE_R, LM85_SYSCTL_FAN3, VALUE(2), 0 }, 
     2504    { SENSORS_LM85_FAN4, "fan4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2505                         SENSORS_MODE_R, LM85_SYSCTL_FAN4, VALUE(2), 0 }, 
     2506    { SENSORS_LM85_FAN1_MIN, "fan1_min", SENSORS_LM85_FAN1, SENSORS_LM85_FAN1, 
     2507                             SENSORS_MODE_RW, LM85_SYSCTL_FAN1, VALUE(1), 0 }, 
     2508    { SENSORS_LM85_FAN2_MIN, "fan2_min", SENSORS_LM85_FAN2, SENSORS_LM85_FAN2, 
     2509                             SENSORS_MODE_RW, LM85_SYSCTL_FAN2, VALUE(1), 0 }, 
     2510    { SENSORS_LM85_FAN3_MIN, "fan3_min", SENSORS_LM85_FAN3, SENSORS_LM85_FAN3, 
     2511                             SENSORS_MODE_RW, LM85_SYSCTL_FAN3, VALUE(1), 0 }, 
     2512    { SENSORS_LM85_FAN4_MIN, "fan4_min", SENSORS_LM85_FAN4, SENSORS_LM85_FAN4, 
     2513                             SENSORS_MODE_RW, LM85_SYSCTL_FAN4, VALUE(1), 0 }, 
     2514    { SENSORS_LM85_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2515                         SENSORS_MODE_R, LM85_SYSCTL_TEMP1, VALUE(3), 2 }, 
     2516    { SENSORS_LM85_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2517                         SENSORS_MODE_R, LM85_SYSCTL_TEMP2, VALUE(3), 2 }, 
     2518    { SENSORS_LM85_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2519                         SENSORS_MODE_R, LM85_SYSCTL_TEMP3, VALUE(3), 2 }, 
     2520    { SENSORS_LM85_TEMP1_MIN, "temp1_min", SENSORS_LM85_TEMP1, 
     2521                              SENSORS_LM85_TEMP1, SENSORS_MODE_RW,  
     2522                              LM85_SYSCTL_TEMP1, VALUE(1), 2 }, 
     2523    { SENSORS_LM85_TEMP2_MIN, "temp2_min", SENSORS_LM85_TEMP2, 
     2524                              SENSORS_LM85_TEMP2, SENSORS_MODE_RW,  
     2525                              LM85_SYSCTL_TEMP2, VALUE(1), 2 }, 
     2526    { SENSORS_LM85_TEMP3_MIN, "temp3_min", SENSORS_LM85_TEMP3, 
     2527                              SENSORS_LM85_TEMP3, SENSORS_MODE_RW,  
     2528                              LM85_SYSCTL_TEMP3, VALUE(1), 2 }, 
     2529    { SENSORS_LM85_TEMP1_MAX, "temp1_max", SENSORS_LM85_TEMP1, 
     2530                              SENSORS_LM85_TEMP1, SENSORS_MODE_RW,  
     2531                              LM85_SYSCTL_TEMP1, VALUE(2), 2 }, 
     2532    { SENSORS_LM85_TEMP2_MAX, "temp2_max", SENSORS_LM85_TEMP2, 
     2533                              SENSORS_LM85_TEMP2, SENSORS_MODE_RW,  
     2534                              LM85_SYSCTL_TEMP2, VALUE(2), 2 }, 
     2535    { SENSORS_LM85_TEMP3_MAX, "temp3_max", SENSORS_LM85_TEMP3, 
     2536                              SENSORS_LM85_TEMP3, SENSORS_MODE_RW,  
     2537                              LM85_SYSCTL_TEMP3, VALUE(2), 2 }, 
     2538    { SENSORS_LM85_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2539                         SENSORS_MODE_R, LM85_SYSCTL_VID, VALUE(1), 3 }, 
     2540    { SENSORS_LM85_VRM, "vrm", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2541                         SENSORS_MODE_RW, LM85_SYSCTL_VRM, VALUE(1), 1 }, 
     2542    { SENSORS_LM85_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING,  
     2543                           SENSORS_MODE_R, LM85_SYSCTL_ALARMS, VALUE(1), 0 }, 
     2544    { SENSORS_LM85_PWM1, "pwm1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2545                         SENSORS_MODE_RW, LM85_SYSCTL_PWM1, VALUE(1), 0 }, 
     2546    { SENSORS_LM85_PWM2, "pwm2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2547                         SENSORS_MODE_RW, LM85_SYSCTL_PWM2, VALUE(1), 0 }, 
     2548    { SENSORS_LM85_PWM3, "pwm3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     2549                         SENSORS_MODE_RW, LM85_SYSCTL_PWM3, VALUE(1), 0 }, 
     2550    { SENSORS_LM85_PWM1_SPINUP, "pwm1_spinup", SENSORS_LM85_PWM1,  
     2551                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2552                         LM85_SYSCTL_PWM_CFG1, VALUE(1), 1 }, 
     2553    { SENSORS_LM85_PWM2_SPINUP, "pwm2_spinup", SENSORS_LM85_PWM2,  
     2554                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2555                         LM85_SYSCTL_PWM_CFG2, VALUE(1), 1 }, 
     2556    { SENSORS_LM85_PWM3_SPINUP, "pwm3_spinup", SENSORS_LM85_PWM3,  
     2557                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2558                         LM85_SYSCTL_PWM_CFG3, VALUE(1), 1 }, 
     2559    { SENSORS_LM85_PWM1_MIN, "pwm1_min", SENSORS_LM85_PWM1,  
     2560                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2561                         LM85_SYSCTL_PWM_CFG1, VALUE(2), 1 }, 
     2562    { SENSORS_LM85_PWM2_MIN, "pwm2_min", SENSORS_LM85_PWM2,  
     2563                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2564                         LM85_SYSCTL_PWM_CFG2, VALUE(2), 1 }, 
     2565    { SENSORS_LM85_PWM3_MIN, "pwm3_min", SENSORS_LM85_PWM3,  
     2566                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2567                         LM85_SYSCTL_PWM_CFG3, VALUE(2), 1 }, 
     2568    { SENSORS_LM85_PWM1_FREQ, "pwm1_freq", SENSORS_LM85_PWM1,  
     2569                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2570                         LM85_SYSCTL_PWM_CFG1, VALUE(3), 1 }, 
     2571    { SENSORS_LM85_PWM2_FREQ, "pwm2_freq", SENSORS_LM85_PWM2,  
     2572                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2573                         LM85_SYSCTL_PWM_CFG2, VALUE(3), 1 }, 
     2574    { SENSORS_LM85_PWM3_FREQ, "pwm3_freq", SENSORS_LM85_PWM3,  
     2575                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2576                         LM85_SYSCTL_PWM_CFG3, VALUE(3), 1 }, 
     2577    { SENSORS_LM85_PWM1_MIN_CTL, "pwm1_min_ctl", SENSORS_LM85_PWM1,  
     2578                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2579                         LM85_SYSCTL_PWM_CFG1, VALUE(4), 1 }, 
     2580    { SENSORS_LM85_PWM2_MIN_CTL, "pwm2_min_ctl", SENSORS_LM85_PWM2,  
     2581                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2582                         LM85_SYSCTL_PWM_CFG2, VALUE(4), 1 }, 
     2583    { SENSORS_LM85_PWM3_MIN_CTL, "pwm3_min_ctl", SENSORS_LM85_PWM3,  
     2584                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2585                         LM85_SYSCTL_PWM_CFG3, VALUE(4), 1 }, 
     2586    { SENSORS_LM85_PWM1_INVERT, "pwm1_invert", SENSORS_LM85_PWM1,  
     2587                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2588                         LM85_SYSCTL_PWM_CFG1, VALUE(5), 0 }, 
     2589    { SENSORS_LM85_PWM2_INVERT, "pwm2_invert", SENSORS_LM85_PWM2,  
     2590                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2591                         LM85_SYSCTL_PWM_CFG2, VALUE(5), 0 }, 
     2592    { SENSORS_LM85_PWM3_INVERT, "pwm3_invert", SENSORS_LM85_PWM3,  
     2593                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2594                         LM85_SYSCTL_PWM_CFG3, VALUE(5), 0 }, 
     2595    { SENSORS_LM85_PWM1_ZONE, "pwm1_zone", SENSORS_LM85_PWM1,  
     2596                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2597                         LM85_SYSCTL_PWM_ZONE1, VALUE(1), 0 }, 
     2598    { SENSORS_LM85_PWM2_ZONE, "pwm2_zone", SENSORS_LM85_PWM2,  
     2599                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2600                         LM85_SYSCTL_PWM_ZONE2, VALUE(1), 0 }, 
     2601    { SENSORS_LM85_PWM3_ZONE, "pwm3_zone", SENSORS_LM85_PWM3,  
     2602                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2603                         LM85_SYSCTL_PWM_ZONE3, VALUE(1), 0 }, 
     2604    { SENSORS_LM85_ZONE1_LIMIT, "zone1_limit", SENSORS_LM85_TEMP1,  
     2605                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2606                         LM85_SYSCTL_ZONE1, VALUE(1), 1 }, 
     2607    { SENSORS_LM85_ZONE2_LIMIT, "zone2_limit", SENSORS_LM85_TEMP2,  
     2608                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2609                         LM85_SYSCTL_ZONE2, VALUE(1), 1 }, 
     2610    { SENSORS_LM85_ZONE3_LIMIT, "zone3_limit", SENSORS_LM85_TEMP3,  
     2611                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2612                         LM85_SYSCTL_ZONE3, VALUE(1), 1 }, 
     2613    { SENSORS_LM85_ZONE1_HYST, "zone1_hyst", SENSORS_LM85_TEMP1,  
     2614                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2615                         LM85_SYSCTL_ZONE1, VALUE(2), 1 }, 
     2616    { SENSORS_LM85_ZONE2_HYST, "zone2_hyst", SENSORS_LM85_TEMP2,  
     2617                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2618                         LM85_SYSCTL_ZONE2, VALUE(2), 1 }, 
     2619    { SENSORS_LM85_ZONE3_HYST, "zone3_hyst", SENSORS_LM85_TEMP3,  
     2620                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2621                         LM85_SYSCTL_ZONE3, VALUE(2), 1 }, 
     2622    { SENSORS_LM85_ZONE1_RANGE, "zone1_range", SENSORS_LM85_TEMP1,  
     2623                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2624                         LM85_SYSCTL_ZONE1, VALUE(3), 1 }, 
     2625    { SENSORS_LM85_ZONE2_RANGE, "zone2_range", SENSORS_LM85_TEMP2,  
     2626                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2627                         LM85_SYSCTL_ZONE2, VALUE(3), 1 }, 
     2628    { SENSORS_LM85_ZONE3_RANGE, "zone3_range", SENSORS_LM85_TEMP3,  
     2629                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2630                         LM85_SYSCTL_ZONE3, VALUE(3), 1 }, 
     2631    { SENSORS_LM85_ZONE1_CRITICAL, "zone1_critical", SENSORS_LM85_TEMP1,  
     2632                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2633                         LM85_SYSCTL_ZONE1, VALUE(4), 1 }, 
     2634    { SENSORS_LM85_ZONE2_CRITICAL, "zone2_critical", SENSORS_LM85_TEMP2,  
     2635                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2636                         LM85_SYSCTL_ZONE2, VALUE(4), 1 }, 
     2637    { SENSORS_LM85_ZONE3_CRITICAL, "zone3_critical", SENSORS_LM85_TEMP3,  
     2638                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2639                         LM85_SYSCTL_ZONE3, VALUE(4), 1 }, 
     2640 
     2641    { SENSORS_ADM1027_FAN1_TACH_MODE, "fan1_tach_mode", SENSORS_LM85_FAN1,  
     2642                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2643                         ADM1027_SYSCTL_TACH_MODE, VALUE(1), 0 }, 
     2644    { SENSORS_ADM1027_FAN2_TACH_MODE, "fan2_tach_mode", SENSORS_LM85_FAN2,  
     2645                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2646                         ADM1027_SYSCTL_TACH_MODE, VALUE(2), 0 }, 
     2647    { SENSORS_ADM1027_FAN3_TACH_MODE, "fan3_tach_mode", SENSORS_LM85_FAN3,  
     2648                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2649                         ADM1027_SYSCTL_TACH_MODE, VALUE(3), 0 }, 
     2650    { SENSORS_ADM1027_FAN4_TACH_MODE, "fan4_tach_mode", SENSORS_LM85_FAN4,  
     2651                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2652                         ADM1027_SYSCTL_TACH_MODE, VALUE(4), 0 }, 
     2653    { SENSORS_ADM1027_PWM1_SMOOTH, "pwm1_smooth", SENSORS_LM85_PWM1,  
     2654                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2655                         LM85_SYSCTL_SMOOTH1, VALUE(1), 1 }, 
     2656    { SENSORS_ADM1027_PWM2_SMOOTH, "pwm2_smooth", SENSORS_LM85_PWM2,  
     2657                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2658                         LM85_SYSCTL_SMOOTH2, VALUE(1), 1 }, 
     2659    { SENSORS_ADM1027_PWM3_SMOOTH, "pwm3_smooth", SENSORS_LM85_PWM3,  
     2660                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2661                         LM85_SYSCTL_SMOOTH3, VALUE(1), 1 }, 
     2662    { SENSORS_ADM1027_TEMP1_OFFSET, "temp1_offset", SENSORS_LM85_TEMP1, 
     2663                         SENSORS_LM85_TEMP1, SENSORS_MODE_RW,  
     2664                         ADM1027_SYSCTL_TEMP_OFFSET1, VALUE(1), 2 }, 
     2665    { SENSORS_ADM1027_TEMP2_OFFSET, "temp2_offset", SENSORS_LM85_TEMP2, 
     2666                         SENSORS_LM85_TEMP2, SENSORS_MODE_RW,  
     2667                         ADM1027_SYSCTL_TEMP_OFFSET2, VALUE(1), 2 }, 
     2668    { SENSORS_ADM1027_TEMP3_OFFSET, "temp3_offset", SENSORS_LM85_TEMP3, 
     2669                         SENSORS_LM85_TEMP3, SENSORS_MODE_RW,  
     2670                         ADM1027_SYSCTL_TEMP_OFFSET3, VALUE(1), 2 }, 
     2671    { SENSORS_ADM1027_FAN1_PPR, "fan1_ppr", SENSORS_LM85_FAN1,  
     2672                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2673                         ADM1027_SYSCTL_FAN_PPR, VALUE(1), 0 }, 
     2674    { SENSORS_ADM1027_FAN2_PPR, "fan2_ppr", SENSORS_LM85_FAN2,  
     2675                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2676                         ADM1027_SYSCTL_FAN_PPR, VALUE(2), 0 }, 
     2677    { SENSORS_ADM1027_FAN3_PPR, "fan3_ppr", SENSORS_LM85_FAN3,  
     2678                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2679                         ADM1027_SYSCTL_FAN_PPR, VALUE(3), 0 }, 
     2680    { SENSORS_ADM1027_FAN4_PPR, "fan4_ppr", SENSORS_LM85_FAN4,  
     2681                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2682                         ADM1027_SYSCTL_FAN_PPR, VALUE(4), 0 }, 
     2683    { SENSORS_ADM1027_ALARM_MASK, "alarm_mask", SENSORS_NO_MAPPING,  
     2684                         SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     2685                         ADM1027_SYSCTL_ALARM_MASK, VALUE(1), 0 }, 
    22562686    { 0 } 
    22572687  }; 
     
    33913821 { SENSORS_VT8231_PREFIX, vt8231_features },  
    33923822 { SENSORS_BMC_PREFIX, bmc_features },  
     3823 { SENSORS_LM85_PREFIX, lm85_features }, 
     3824 { SENSORS_LM85B_PREFIX, lm85_features }, 
     3825 { SENSORS_LM85C_PREFIX, lm85_features }, 
     3826 { SENSORS_ADM1027_PREFIX, adm1027_features }, 
     3827 { SENSORS_ADT7463_PREFIX, adm1027_features }, 
    33933828 { 0 } 
    33943829}; 
  • lm-sensors/trunk/lib/chips.h

    r1611 r1726  
    318318#define SENSORS_LM80_ALARMS 81 /* R */ 
    319319 
     320/* LM85 chips */ 
     321 
     322#define SENSORS_LM85_PREFIX "lm85" 
     323#define SENSORS_LM85B_PREFIX "lm85b" 
     324#define SENSORS_LM85C_PREFIX "lm85c" 
     325#define SENSORS_ADM1027_PREFIX "adm1027" 
     326#define SENSORS_ADT7463_PREFIX "adt7463" 
     327 
     328#define SENSORS_ADM1027_ALARM_MASK           1  /* RW -- alarm_mask  */ 
     329#define SENSORS_ADM1027_FAN1_PPR             2  /* RW -- fan1_ppr  */ 
     330#define SENSORS_ADM1027_FAN1_TACH_MODE       3  /* RW -- fan1_tach_mode  */ 
     331#define SENSORS_ADM1027_FAN2_PPR             4  /* RW -- fan2_ppr  */ 
     332#define SENSORS_ADM1027_FAN2_TACH_MODE       5  /* RW -- fan2_tach_mode  */ 
     333#define SENSORS_ADM1027_FAN3_PPR             6  /* RW -- fan3_ppr  */ 
     334#define SENSORS_ADM1027_FAN3_TACH_MODE       7  /* RW -- fan3_tach_mode  */ 
     335#define SENSORS_ADM1027_FAN4_PPR             8  /* RW -- fan4_ppr  */ 
     336#define SENSORS_ADM1027_FAN4_TACH_MODE       9  /* RW -- fan4_tach_mode  */ 
     337#define SENSORS_ADM1027_PWM1_SMOOTH         10  /* RW -- pwm1_smooth  */ 
     338#define SENSORS_ADM1027_PWM2_SMOOTH         11  /* RW -- pwm2_smooth  */ 
     339#define SENSORS_ADM1027_PWM3_SMOOTH         12  /* RW -- pwm3_smooth  */ 
     340#define SENSORS_ADM1027_TEMP1_OFFSET        13  /* RW -- temp1_offset  */ 
     341#define SENSORS_ADM1027_TEMP2_OFFSET        14  /* RW -- temp2_offset  */ 
     342#define SENSORS_ADM1027_TEMP3_OFFSET        15  /* RW -- temp3_offset  */ 
     343#define SENSORS_LM85_ALARMS                 16  /* R  -- alarms  */ 
     344#define SENSORS_LM85_FAN1                   17  /* R  -- fan1  */ 
     345#define SENSORS_LM85_FAN1_MIN               18  /* RW -- fan1_min  */ 
     346#define SENSORS_LM85_FAN1_TACH_MODE         19  /* RW -- fan1_tach_mode  */ 
     347#define SENSORS_LM85_FAN2                   20  /* R  -- fan2  */ 
     348#define SENSORS_LM85_FAN2_MIN               21  /* RW -- fan2_min  */ 
     349#define SENSORS_LM85_FAN2_TACH_MODE         22  /* RW -- fan2_tach_mode  */ 
     350#define SENSORS_LM85_FAN3                   23  /* R  -- fan3  */ 
     351#define SENSORS_LM85_FAN3_MIN               24  /* RW -- fan3_min  */ 
     352#define SENSORS_LM85_FAN3_TACH_MODE         25  /* RW -- fan3_tach_mode  */ 
     353#define SENSORS_LM85_FAN4                   26  /* R  -- fan4  */ 
     354#define SENSORS_LM85_FAN4_MIN               27  /* RW -- fan4_min  */ 
     355#define SENSORS_LM85_IN0                    28  /* R  -- in0  */ 
     356#define SENSORS_LM85_IN0_MAX                29  /* RW -- in0_max  */ 
     357#define SENSORS_LM85_IN0_MIN                30  /* RW -- in0_min  */ 
     358#define SENSORS_LM85_IN1                    31  /* R  -- in1  */ 
     359#define SENSORS_LM85_IN1_MAX                32  /* RW -- in1_max  */ 
     360#define SENSORS_LM85_IN1_MIN                33  /* RW -- in1_min  */ 
     361#define SENSORS_LM85_IN2                    34  /* R  -- in2  */ 
     362#define SENSORS_LM85_IN2_MAX                35  /* RW -- in2_max  */ 
     363#define SENSORS_LM85_IN2_MIN                36  /* RW -- in2_min  */ 
     364#define SENSORS_LM85_IN3                    37  /* R  -- in3  */ 
     365#define SENSORS_LM85_IN3_MAX                38  /* RW -- in3_max  */ 
     366#define SENSORS_LM85_IN3_MIN                39  /* RW -- in3_min  */ 
     367#define SENSORS_LM85_IN4                    40  /* R  -- in4  */ 
     368#define SENSORS_LM85_IN4_MAX                41  /* RW -- in4_max  */ 
     369#define SENSORS_LM85_IN4_MIN                42  /* RW -- in4_min  */ 
     370#define SENSORS_LM85_PWM1                   43  /* RW -- pwm1  */ 
     371#define SENSORS_LM85_PWM1_FREQ              44  /* RW -- pwm1_freq  */ 
     372#define SENSORS_LM85_PWM1_INVERT            45  /* RW -- pwm1_invert  */ 
     373#define SENSORS_LM85_PWM1_MIN               46  /* RW -- pwm1_min  */ 
     374#define SENSORS_LM85_PWM1_MIN_CTL           47  /* RW -- pwm1_min_ctl  */ 
     375#define SENSORS_LM85_PWM1_SPINUP            48  /* RW -- pwm1_spinup  */ 
     376#define SENSORS_LM85_PWM1_SPINUP_CTL        49  /* RW -- pwm1_spinup_ctl  */ 
     377#define SENSORS_LM85_PWM1_ZONE              50  /* RW -- pwm1_zone  */ 
     378#define SENSORS_LM85_PWM2                   51  /* RW -- pwm2  */ 
     379#define SENSORS_LM85_PWM2_FREQ              52  /* RW -- pwm2_freq  */ 
     380#define SENSORS_LM85_PWM2_INVERT            53  /* RW -- pwm2_invert  */ 
     381#define SENSORS_LM85_PWM2_MIN               54  /* RW -- pwm2_min  */ 
     382#define SENSORS_LM85_PWM2_MIN_CTL           55  /* RW -- pwm2_min_ctl  */ 
     383#define SENSORS_LM85_PWM2_SPINUP            56  /* RW -- pwm2_spinup  */ 
     384#define SENSORS_LM85_PWM2_SPINUP_CTL        57  /* RW -- pwm2_spinup_ctl  */ 
     385#define SENSORS_LM85_PWM2_ZONE              58  /* RW -- pwm2_zone  */ 
     386#define SENSORS_LM85_PWM3                   59  /* RW -- pwm3  */ 
     387#define SENSORS_LM85_PWM3_FREQ              60  /* RW -- pwm3_freq  */ 
     388#define SENSORS_LM85_PWM3_INVERT            61  /* RW -- pwm3_invert  */ 
     389#define SENSORS_LM85_PWM3_MIN               62  /* RW -- pwm3_min  */ 
     390#define SENSORS_LM85_PWM3_MIN_CTL           63  /* RW -- pwm3_min_ctl  */ 
     391#define SENSORS_LM85_PWM3_SPINUP            64  /* RW -- pwm3_spinup  */ 
     392#define SENSORS_LM85_PWM3_SPINUP_CTL        65  /* RW -- pwm3_spinup_ctl  */ 
     393#define SENSORS_LM85_PWM3_ZONE              66  /* RW -- pwm3_zone  */ 
     394#define SENSORS_LM85_TEMP1                  67  /* R  -- temp1  */ 
     395#define SENSORS_LM85_TEMP1_MAX              68  /* RW -- temp1_max  */ 
     396#define SENSORS_LM85_TEMP1_MIN              69  /* RW -- temp1_min  */ 
     397#define SENSORS_LM85_TEMP2                  70  /* R  -- temp2  */ 
     398#define SENSORS_LM85_TEMP2_MAX              71  /* RW -- temp2_max  */ 
     399#define SENSORS_LM85_TEMP2_MIN              72  /* RW -- temp2_min  */ 
     400#define SENSORS_LM85_TEMP3                  73  /* R  -- temp3  */ 
     401#define SENSORS_LM85_TEMP3_MAX              74  /* RW -- temp3_max  */ 
     402#define SENSORS_LM85_TEMP3_MIN              75  /* RW -- temp3_min  */ 
     403#define SENSORS_LM85_VID                    76  /* R  -- vid  */ 
     404#define SENSORS_LM85_VRM                    77  /* RW -- vrm  */ 
     405#define SENSORS_LM85_ZONE1_CRITICAL         78  /* RW -- zone1_critical  */ 
     406#define SENSORS_LM85_ZONE1_HYST             79  /* RW -- zone1_hyst  */ 
     407#define SENSORS_LM85_ZONE1_LIMIT            80  /* RW -- zone1_limit  */ 
     408#define SENSORS_LM85_ZONE1_RANGE            81  /* RW -- zone1_range  */ 
     409#define SENSORS_LM85_ZONE1_SMOOTH           82  /* RW -- zone1_smooth  */ 
     410#define SENSORS_LM85_ZONE2_CRITICAL         83  /* RW -- zone2_critical  */ 
     411#define SENSORS_LM85_ZONE2_HYST             84  /* RW -- zone2_hyst  */ 
     412#define SENSORS_LM85_ZONE2_LIMIT            85  /* RW -- zone2_limit  */ 
     413#define SENSORS_LM85_ZONE2_RANGE            86  /* RW -- zone2_range  */ 
     414#define SENSORS_LM85_ZONE2_SMOOTH           87  /* RW -- zone2_smooth  */ 
     415#define SENSORS_LM85_ZONE3_CRITICAL         88  /* RW -- zone3_critical  */ 
     416#define SENSORS_LM85_ZONE3_HYST             89  /* RW -- zone3_hyst  */ 
     417#define SENSORS_LM85_ZONE3_LIMIT            90  /* RW -- zone3_limit  */ 
     418#define SENSORS_LM85_ZONE3_RANGE            91  /* RW -- zone3_range  */ 
     419#define SENSORS_LM85_ZONE3_SMOOTH           92  /* RW -- zone3_smooth  */ 
    320420 
    321421/* Winbond W83781D chips */ 
  • lm-sensors/trunk/mkpatch/Config.in

    r1512 r1726  
    2828    dep_tristate '  National Semiconductor LM78' CONFIG_SENSORS_LM78 $CONFIG_I2C $CONFIG_I2C_PROC 
    2929    dep_tristate '  National Semiconductor LM80' CONFIG_SENSORS_LM80 $CONFIG_I2C $CONFIG_I2C_PROC 
     30    dep_tristate '  National Semiconductor LM85, Analog Devices ADM1027' CONFIG_SENSORS_LM85 $CONFIG_I2C $CONFIG_I2C_PROC 
    3031    dep_tristate '  National Semiconductor LM87' CONFIG_SENSORS_LM87 $CONFIG_I2C $CONFIG_I2C_PROC 
    3132    dep_tristate '  National Semiconductor LM92' CONFIG_SENSORS_LM92 $CONFIG_I2C $CONFIG_I2C_PROC 
  • lm-sensors/trunk/mkpatch/FILES

    r1631 r1726  
    3535kernel/chips/lm78.c             drivers/sensors/lm78.c 
    3636kernel/chips/lm80.c             drivers/sensors/lm80.c 
     37kernel/chips/lm85.c             drivers/sensors/lm85.c 
    3738kernel/chips/lm87.c             drivers/sensors/lm87.c 
    3839kernel/chips/lm92.c             drivers/sensors/lm92.c