Changeset 2029

Show
Ignore:
Timestamp:
10/27/03 22:14:26 (5 years ago)
Author:
khali
Message:

New FSC Hermes chip driver, contributed by Reinhard Nissl

<rnissl@gmx.de>.

Files:

Legend:

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

    r2027 r2029  
    2323  Module bmcsensors: Fix voltage scaling, voltage and fan limits 
    2424  Module i2c-piix4: Add support for CSB6 
    25   Module i2c-sis630: sync with 2.6.0-X driver version.  
     25  Module i2c-sis630: Sync with 2.6.0-X driver version 
     26  Module fscher: New (Fujitsu-Siemens Hermes driver) 
    2627  Program sensors-detect: Prefer Super I/O drivers; 
    2728                          Fix w83627hf detection; detect CSB6 
  • lm-sensors/trunk/CONTRIBUTORS

    r1987 r2029  
    9393* John Morris (john.morris@spirentcom.com) 
    9494  Author of the MAX6650 chip driver. 
    95    
     95* Reinhard Nissl <rnissl@gmx.de> 
     96  Author of the fscher driver. 
     97 
  • lm-sensors/trunk/README

    r1987 r2029  
    7474  Dallas Semiconductor DS75, DS1621, DS1625, DS1775, and DS1780 
    7575  Hewlett Packard Maxilife (several revisions including '99 NBA) 
    76   Fujitsu Siemens Poseidon, Scylla 
     76  Fujitsu Siemens Poseidon, Scylla, Hermes 
    7777  Genesys Logic GL518SM (rev 00, 80), GL520SM, GL523SM 
    7878  Intel Xeon processor embedded sensors 
  • lm-sensors/trunk/doc/chips/SUMMARY

    r2016 r2029  
    8181        ds1625          1       -       -       -       yes     no 
    8282 
     83fscher 
     84        fscher          3       3       3       -       yes     no 
     85 
    8386fscpos 
    8487        fscpos          3       3       3       -       yes     no 
     
    126129lm87 
    127130        lm87            2-3     6-8     0-2     1 pwm   yes     no 
     131 
     132lm90 
     133        lm90            2       -       -       -       yes     no 
    128134 
    129135lm92 
  • lm-sensors/trunk/etc/sensors.conf.eg

    r2003 r2029  
    13991399#    ignore fan3 
    14001400 
     1401 
    14011402chip "fscpos-*" 
    1402  
    1403 
    1404 #    values for the fujitsu siemens poseidon chip 
    1405 
     1403# Fujitsu-Siemens Poseidon chip 
     1404 
    14061405# Temperature 
    14071406 
     
    14221421    label voltbatt    "+3.3V" 
    14231422 
     1423 
    14241424chip "fscscy-*" 
    1425  
    1426 
    1427 #    values for the fujitsu siemens Scylla chip 
    1428 
     1425# Fujitsu-Siemens Scylla chip 
     1426 
    14291427# Temperature 
    14301428 
     
    14481446    label volt5       "+5V" 
    14491447    label voltbatt    "+3.3V" 
     1448 
     1449 
     1450chip "fscher-*" 
     1451# Fujitsu-Siemens Hermes chip 
     1452 
     1453# Temperature 
     1454 
     1455    label temp1       "Temp1/CPU" 
     1456    label temp2       "Temp2/MB" 
     1457    label temp3       "Temp3/AUX" 
     1458 
     1459# Fans 
     1460 
     1461    label fan1        "Fan1/CPU" 
     1462    label fan2        "Fan2/AUX" 
     1463    label fan3        "Fan3/PS" 
     1464 
     1465# Voltage 
     1466 
     1467    label in0         "+12V" 
     1468    label in1         "+5V" 
     1469    label in2         "Battery" 
    14501470 
    14511471 
  • lm-sensors/trunk/kernel/chips/Module.mk

    r1989 r2029  
    7575ifneq ($(shell if grep -q '^CONFIG_SENSORS_FSCSCY=y' $(LINUX)/.config; then echo 1; fi),1) 
    7676KERNELCHIPSTARGETS += $(MODULE_DIR)/fscscy.o 
     77endif 
     78ifneq ($(shell if grep -q '^CONFIG_SENSORS_FSCHER=y' $(LINUX)/.config; then echo 1; fi),1) 
     79KERNELCHIPSTARGETS += $(MODULE_DIR)/fscher.o 
    7780endif 
    7881ifneq ($(shell if grep -q '^CONFIG_SENSORS_GL518SM=y' $(LINUX)/.config; then echo 1; fi),1) 
  • lm-sensors/trunk/lib/chips.c

    r2020 r2029  
    39223922  }; 
    39233923 
     3924  static sensors_chip_feature fscher_features[] = 
     3925  { 
     3926    { SENSORS_FSCHER_REV, "rev", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3927                        SENSORS_MODE_R, FSCHER_SYSCTL_REV, VALUE(1), 0 }, 
     3928    { SENSORS_FSCHER_EVENT, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3929                        SENSORS_MODE_R, FSCHER_SYSCTL_EVENT, VALUE(1), 0 }, 
     3930    { SENSORS_FSCHER_CONTROL, "control", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3931                        SENSORS_MODE_RW, FSCHER_SYSCTL_CONTROL, VALUE(1), 0 }, 
     3932    { SENSORS_FSCHER_VOLTAGE1, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3933                        SENSORS_MODE_R, FSCHER_SYSCTL_VOLT0, VALUE(1), 2 }, 
     3934    { SENSORS_FSCHER_VOLTAGE2, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3935                        SENSORS_MODE_R, FSCHER_SYSCTL_VOLT1, VALUE(1), 2 }, 
     3936    { SENSORS_FSCHER_VOLTAGE3, "in2", SENSORS_NO_MAPPING, 
     3937                        SENSORS_NO_MAPPING, SENSORS_MODE_R,  
     3938                        FSCHER_SYSCTL_VOLT2, VALUE(1), 2 }, 
     3939    { SENSORS_FSCHER_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3940                        SENSORS_MODE_R, FSCHER_SYSCTL_TEMP0, VALUE(2), 0 }, 
     3941    { SENSORS_FSCHER_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3942                        SENSORS_MODE_R, FSCHER_SYSCTL_TEMP1, VALUE(2), 0 }, 
     3943    { SENSORS_FSCHER_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3944                        SENSORS_MODE_R, FSCHER_SYSCTL_TEMP2, VALUE(2), 0 }, 
     3945    { SENSORS_FSCHER_TEMP1_STATE, "temp1_state", SENSORS_FSCHER_TEMP1, 
     3946                        SENSORS_FSCHER_TEMP1, SENSORS_MODE_RW,  
     3947                        FSCHER_SYSCTL_TEMP0, VALUE(1), 0 }, 
     3948    { SENSORS_FSCHER_TEMP2_STATE, "temp2_state", SENSORS_FSCHER_TEMP2,  
     3949                        SENSORS_FSCHER_TEMP2, SENSORS_MODE_RW,  
     3950                        FSCHER_SYSCTL_TEMP1, VALUE(1), 0 }, 
     3951    { SENSORS_FSCHER_TEMP3_STATE, "temp3_state", SENSORS_FSCHER_TEMP3,  
     3952                        SENSORS_FSCHER_TEMP3, SENSORS_MODE_RW,  
     3953                        FSCHER_SYSCTL_TEMP2, VALUE(1), 0 }, 
     3954    { SENSORS_FSCHER_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3955                        SENSORS_MODE_R, FSCHER_SYSCTL_FAN0, VALUE(4), 0 }, 
     3956    { SENSORS_FSCHER_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3957                        SENSORS_MODE_R, FSCHER_SYSCTL_FAN1, VALUE(4), 0 }, 
     3958    { SENSORS_FSCHER_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, 
     3959                        SENSORS_MODE_R, FSCHER_SYSCTL_FAN2, VALUE(4), 0 }, 
     3960    { SENSORS_FSCHER_FAN1_MIN, "fan1_min", SENSORS_FSCHER_FAN1,  
     3961                        SENSORS_FSCHER_FAN1, SENSORS_MODE_RW,  
     3962                        FSCHER_SYSCTL_FAN0, VALUE(2), 0 }, 
     3963    { SENSORS_FSCHER_FAN2_MIN, "fan2_min", SENSORS_FSCHER_FAN2,  
     3964                        SENSORS_FSCHER_FAN2, SENSORS_MODE_RW,  
     3965                        FSCHER_SYSCTL_FAN1, VALUE(2), 0 }, 
     3966    { SENSORS_FSCHER_FAN3_MIN, "fan3_min", SENSORS_FSCHER_FAN3,  
     3967                        SENSORS_FSCHER_FAN3, SENSORS_MODE_RW,  
     3968                        FSCHER_SYSCTL_FAN2, VALUE(2), 0 }, 
     3969    { SENSORS_FSCHER_FAN1_STATE, "fan1_state", SENSORS_FSCHER_FAN1,  
     3970                        SENSORS_FSCHER_FAN1, SENSORS_MODE_RW,  
     3971                        FSCHER_SYSCTL_FAN0, VALUE(1), 0 }, 
     3972    { SENSORS_FSCHER_FAN2_STATE, "fan2_state", SENSORS_FSCHER_FAN2,  
     3973                        SENSORS_FSCHER_FAN2, SENSORS_MODE_RW,  
     3974                        FSCHER_SYSCTL_FAN1, VALUE(1), 0 }, 
     3975    { SENSORS_FSCHER_FAN3_STATE, "fan3_state", SENSORS_FSCHER_FAN3,  
     3976                        SENSORS_FSCHER_FAN3, SENSORS_MODE_RW,  
     3977                        FSCHER_SYSCTL_FAN2, VALUE(1), 0 }, 
     3978    { SENSORS_FSCHER_FAN1_RIPPLE, "fan1_ripple", SENSORS_FSCHER_FAN1,  
     3979                        SENSORS_FSCHER_FAN1, SENSORS_MODE_RW,  
     3980                        FSCHER_SYSCTL_FAN0, VALUE(3), 0 }, 
     3981    { SENSORS_FSCHER_FAN2_RIPPLE, "fan2_ripple", SENSORS_FSCHER_FAN2,  
     3982                        SENSORS_FSCHER_FAN2, SENSORS_MODE_RW,  
     3983                        FSCHER_SYSCTL_FAN1, VALUE(3), 0 }, 
     3984    { SENSORS_FSCHER_FAN3_RIPPLE, "fan3_ripple", SENSORS_FSCHER_FAN3,  
     3985                        SENSORS_FSCHER_FAN3, SENSORS_MODE_RW,  
     3986                        FSCHER_SYSCTL_FAN2, VALUE(3), 0 }, 
     3987    { SENSORS_FSCHER_WDOG_PRESET, "wdog_preset", SENSORS_NO_MAPPING,  
     3988                        SENSORS_NO_MAPPING, SENSORS_MODE_RW,  
     3989                        FSCHER_SYSCTL_WDOG, VALUE(1), 0 }, 
     3990    { SENSORS_FSCHER_WDOG_STATE, "wdog_state", SENSORS_FSCHER_WDOG_PRESET,  
     3991                        SENSORS_FSCHER_WDOG_PRESET, SENSORS_MODE_RW,  
     3992                        FSCHER_SYSCTL_WDOG, VALUE(2), 0 }, 
     3993    { SENSORS_FSCHER_WDOG_CONTROL, "wdog_control", SENSORS_FSCHER_WDOG_PRESET,  
     3994                        SENSORS_FSCHER_WDOG_PRESET, SENSORS_MODE_RW,  
     3995                        FSCHER_SYSCTL_WDOG, VALUE(3), 0 }, 
     3996    { 0 } 
     3997  }; 
     3998 
    39243999  static sensors_chip_feature pcf8591_features[] = 
    39254000  { 
     
    46044679                                 SENSORS_NO_MAPPING, SENSORS_MODE_RW, 
    46054680                                 MAX6650_SYSCTL_SPEED, VALUE(1), 0 }, 
     4681    { 0 } 
    46064682  }; 
    46074683 
     
    46614737 { SENSORS_FSCPOS_PREFIX, fscpos_features }, 
    46624738 { SENSORS_FSCSCY_PREFIX, fscscy_features }, 
     4739 { SENSORS_FSCHER_PREFIX, fscher_features }, 
    46634740 { SENSORS_PCF8591_PREFIX, pcf8591_features },  
    46644741 { SENSORS_VT1211_PREFIX, vt1211_features },  
  • lm-sensors/trunk/lib/chips.h

    r2020 r2029  
    14911491#define SENSORS_FSCSCY_WDOG_CONTROL 52 /* RW */ 
    14921492 
     1493/* fsc hermes chip */ 
     1494 
     1495#define SENSORS_FSCHER_PREFIX "fscher" 
     1496 
     1497#define SENSORS_FSCHER_REV 1 /* R */ 
     1498#define SENSORS_FSCHER_EVENT 2 /* R */ 
     1499#define SENSORS_FSCHER_CONTROL 3 /* RW */ 
     1500#define SENSORS_FSCHER_FAN1 4 /* R */ 
     1501#define SENSORS_FSCHER_FAN2 5 /* R */ 
     1502#define SENSORS_FSCHER_FAN3 6 /* R */ 
     1503#define SENSORS_FSCHER_FAN1_MIN 7 /* RW */ 
     1504#define SENSORS_FSCHER_FAN2_MIN 8 /* RW */ 
     1505#define SENSORS_FSCHER_FAN3_MIN 9 /* RW */ 
     1506#define SENSORS_FSCHER_FAN1_STATE 10 /* RW */ 
     1507#define SENSORS_FSCHER_FAN2_STATE 11 /* RW */ 
     1508#define SENSORS_FSCHER_FAN3_STATE 12 /* RW */ 
     1509#define SENSORS_FSCHER_FAN1_RIPPLE 13 /* RW */ 
     1510#define SENSORS_FSCHER_FAN2_RIPPLE 14 /* RW */ 
     1511#define SENSORS_FSCHER_FAN3_RIPPLE 15 /* RW */ 
     1512#define SENSORS_FSCHER_TEMP1 16 /* R */ 
     1513#define SENSORS_FSCHER_TEMP2 17 /* R */ 
     1514#define SENSORS_FSCHER_TEMP3 18 /* R */ 
     1515#define SENSORS_FSCHER_TEMP1_STATE 19 /* RW */ 
     1516#define SENSORS_FSCHER_TEMP2_STATE 20 /* RW */ 
     1517#define SENSORS_FSCHER_TEMP3_STATE 21 /* RW */ 
     1518#define SENSORS_FSCHER_VOLTAGE1 22 /* R */ 
     1519#define SENSORS_FSCHER_VOLTAGE2 23 /* R */ 
     1520#define SENSORS_FSCHER_VOLTAGE3 24 /* R */ 
     1521#define SENSORS_FSCHER_WDOG_PRESET 25/* RW */ 
     1522#define SENSORS_FSCHER_WDOG_STATE 26/* RW */ 
     1523#define SENSORS_FSCHER_WDOG_CONTROL 27/* RW */ 
     1524 
    14931525/* PCF8591 chip. */ 
    14941526 
  • lm-sensors/trunk/prog/sensors/chips.c

    r2023 r2029  
    35123512} 
    35133513 
     3514void print_fscher(const sensors_chip_name *name) 
     3515{ 
     3516  char *label = NULL; 
     3517  double voltage, temp,state,fan,min_rpm; 
     3518  int valid; 
     3519   
     3520  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_TEMP1,&label,&valid) 
     3521      && !sensors_get_feature(*name,SENSORS_FSCHER_TEMP1,&temp) 
     3522      && !sensors_get_feature(*name,SENSORS_FSCHER_TEMP1_STATE,&state)) {  
     3523    if (valid) { 
     3524      print_label(label,10); 
     3525      if((int) state & 0x01) 
     3526        printf("\t%+6.2f C \n",temp); 
     3527      else 
     3528        printf("\tfailed\n"); 
     3529    } 
     3530  } 
     3531  free_the_label(&label); 
     3532  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_TEMP2,&label,&valid) 
     3533      && !sensors_get_feature(*name,SENSORS_FSCHER_TEMP2,&temp) 
     3534      && !sensors_get_feature(*name,SENSORS_FSCHER_TEMP2_STATE,&state)) {  
     3535    if (valid) { 
     3536      print_label(label,10); 
     3537      if((int) state & 0x01) 
     3538        printf("\t%+6.2f C \n",temp); 
     3539      else 
     3540        printf("\tfailed\n"); 
     3541    } 
     3542  } 
     3543  free_the_label(&label); 
     3544  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_TEMP3,&label,&valid) 
     3545      && !sensors_get_feature(*name,SENSORS_FSCHER_TEMP3,&temp) 
     3546      && !sensors_get_feature(*name,SENSORS_FSCHER_TEMP3_STATE,&state)) {  
     3547    if (valid) { 
     3548      print_label(label,10); 
     3549      if((int) state & 0x01) 
     3550        printf("\t%+6.2f C \n",temp); 
     3551      else 
     3552        printf("\tfailed\n"); 
     3553    } 
     3554  } 
     3555  free_the_label(&label); 
     3556  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_FAN1,&label,&valid) 
     3557      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN1,&fan) 
     3558      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN1_MIN,&min_rpm) 
     3559      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN1_STATE,&state)) {  
     3560    if (valid) { 
     3561      print_label(label,10); 
     3562      if((int) state & 0x02) 
     3563        printf("\tfaulty\n"); 
     3564      else if (fan < min_rpm) 
     3565        printf("\t%6.0f RPM (not present or faulty)\n",fan); 
     3566      else 
     3567        printf("\t%6.0f RPM \n",fan); 
     3568    } 
     3569  } 
     3570  free_the_label(&label); 
     3571  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_FAN2,&label,&valid) 
     3572      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN2,&fan) 
     3573      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN2_MIN,&min_rpm) 
     3574      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN2_STATE,&state)) {  
     3575    if (valid) { 
     3576      print_label(label,10); 
     3577      if((int) state & 0x02) 
     3578        printf("\tfaulty\n"); 
     3579      else if (fan < min_rpm) 
     3580        printf("\t%6.0f RPM (not present or faulty)\n",fan); 
     3581      else 
     3582        printf("\t%6.0f RPM \n",fan); 
     3583    } 
     3584  } 
     3585  free_the_label(&label); 
     3586  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_FAN3,&label,&valid) 
     3587      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN3,&fan) 
     3588      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN3_MIN,&min_rpm) 
     3589      && !sensors_get_feature(*name,SENSORS_FSCHER_FAN3_STATE,&state)) {  
     3590    if (valid) { 
     3591      print_label(label,10); 
     3592      if((int) state & 0x02) 
     3593        printf("\tfaulty\n"); 
     3594      else if (fan < min_rpm) 
     3595        printf("\t%6.0f RPM (not present or faulty)\n",fan); 
     3596      else 
     3597        printf("\t%6.0f RPM \n",fan); 
     3598    } 
     3599  } 
     3600  free_the_label(&label); 
     3601  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_VOLTAGE1,&label,&valid) 
     3602      && !sensors_get_feature(*name,SENSORS_FSCHER_VOLTAGE1,&voltage)) { 
     3603    if (valid) { 
     3604      print_label(label,10); 
     3605      printf("\t%+6.2f V\n",voltage); 
     3606    } 
     3607  } 
     3608  free_the_label(&label); 
     3609  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_VOLTAGE2,&label,&valid) 
     3610      && !sensors_get_feature(*name,SENSORS_FSCHER_VOLTAGE2,&voltage)) { 
     3611    if (valid) { 
     3612      print_label(label,10); 
     3613      printf("\t%+6.2f V\n",voltage); 
     3614    } 
     3615  } 
     3616  free_the_label(&label); 
     3617  if (!sensors_get_label_and_valid(*name,SENSORS_FSCHER_VOLTAGE3,&label,&valid) 
     3618      && !sensors_get_feature(*name,SENSORS_FSCHER_VOLTAGE3,&voltage)) { 
     3619    if (valid) { 
     3620      print_label(label,10); 
     3621      printf("\t%+6.2f V\n",voltage); 
     3622    } 
     3623  } 
     3624  free_the_label(&label); 
     3625} 
     3626 
    35143627void print_pcf8591(const sensors_chip_name *name) 
    35153628{ 
  • lm-sensors/trunk/prog/sensors/chips.h

    r1987 r2029  
    4747extern void print_fscpos(const sensors_chip_name *name); 
    4848extern void print_fscscy(const sensors_chip_name *name); 
     49extern void print_fscher(const sensors_chip_name *name); 
    4950extern void print_pcf8591(const sensors_chip_name *name); 
    5051extern void print_vt1211(const sensors_chip_name *name); 
  • lm-sensors/trunk/prog/sensors/main.c

    r1988 r2029  
    362362  else if (!strcmp(name.prefix,"fscscy")) 
    363363    print_fscscy(&name); 
     364  else if (!strcmp(name.prefix,"fscher")) 
     365    print_fscher(&name); 
    364366  else if (!strcmp(name.prefix,"pcf8591")) 
    365367    print_pcf8591(&name);