mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-09 16:21:51 +00:00
(mds) Add support for w83627hf to 'sensors' program.
Assumed at this time to be identical to w83782d.
No 627hf datasheet yet.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@526 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
8da1cf8c4f
commit
9e81117fbf
7 files changed
+24
-11
No files matched your search
@@ -57,6 +57,7 @@ w83781d
|
||||
w83781d 3 7 3 - yes yes
|
||||
w83782d 3 9 3 2-4 pwm yes yes
|
||||
w83783s 1-2 5-6 3 2 pwm yes no
|
||||
w83627hf 3 9 3 2-4 pwm yes yes (LPC)
|
||||
|
||||
|
||||
|
||||
|
||||
+11
-5
@@ -12,10 +12,14 @@ Supported chips:
|
||||
* Winbond W83782D
|
||||
Prefix 'w83782d'
|
||||
Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports)
|
||||
Datasheet: Available on request from Winbond
|
||||
Datasheet: Publicly available at the Winbond website
|
||||
* Winbond W83783S
|
||||
Prefix 'w83783s'
|
||||
Addresses scanned: I2C 0x20 - 0x2f (inclusive)
|
||||
Datasheet: Publicly available at the Winbond website
|
||||
* Winbond W83627HF
|
||||
Prefix 'w83627hf'
|
||||
Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports)
|
||||
Datasheet: Available on request from Winbond
|
||||
|
||||
|
||||
@@ -50,11 +54,13 @@ Module Parameters
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver implements support for the Winbond W83781D, W83782D and W83783S.
|
||||
This driver implements support for the Winbond W83781D, W83782D,
|
||||
W8783S, and W83627HF chips.
|
||||
We will refer to them collectively as W8378* chips.
|
||||
|
||||
There is quite some difference between these chips, but they are similar
|
||||
enough that it was sensible to put them together in one driver.
|
||||
The W83627HF chip is assumed to be identical to the W83782D.
|
||||
|
||||
Detection of these chips can sometimes be foiled because they can be in
|
||||
an internal state that allows no clean access. If you know the address
|
||||
@@ -70,12 +76,12 @@ Temperatures are measured in degrees Celcius. There is always one main
|
||||
temperature sensor, and one (W83783S) or two (W83781D and W83782D) other
|
||||
sensors. An alarm is triggered for the main sensor once when the
|
||||
Overtemperature Shutdown limit is crossed; it is triggered again as soon as
|
||||
it drops below the Hysteris value. A more useful behaviour
|
||||
can be found by setting the Hysteris value to +127 degrees Celcius; in
|
||||
it drops below the Hysteresis value. A more useful behaviour
|
||||
can be found by setting the Hysteresis value to +127 degrees Celcius; in
|
||||
this case, alarms are issued during all the time when the actual temperature
|
||||
is above the Overtemperature Shutdown value. For the other sensor(s), an
|
||||
alarm is triggered when the temperature gets higher then the Overtemperature
|
||||
Shutdown value; it stays on until the temperature falls below the Hysteris
|
||||
Shutdown value; it stays on until the temperature falls below the Hysteresis
|
||||
value. But on the W83781D, there is only one alarm that functions for both
|
||||
other sensors! Temperatures are guaranteed within a range of -55 to +125
|
||||
degrees. The main temperature sensors has a resolution of 1 degree; the other
|
||||
|
||||
+1
-1
@@ -196,7 +196,7 @@ chip "lm78-*" "lm78-j-*" "lm79-*" "w83781d-*" "sis5595-*"
|
||||
set in6_max -5 * 1.05
|
||||
|
||||
|
||||
chip "w83782d-*" "w83783s-*"
|
||||
chip "w83782d-*" "w83783s-*" "w83627hf-*"
|
||||
|
||||
# Same as above for w83781d except that in5 and in6 are computed differently.
|
||||
# Rather than an internal inverting op amp, the 82d/83s use standard positive
|
||||
|
||||
@@ -1534,6 +1534,8 @@ sensors_chip_features sensors_chip_features_list[] =
|
||||
{ SENSORS_W83781D_PREFIX, w83781d_features },
|
||||
{ SENSORS_W83782D_PREFIX, w83782d_features },
|
||||
{ SENSORS_W83783S_PREFIX, w83783s_features },
|
||||
/* Cheat on 627HF for now - no separate #defines */
|
||||
{ SENSORS_W83627HF_PREFIX, w83782d_features },
|
||||
{ SENSORS_ADM9240_PREFIX, adm9240_features },
|
||||
{ SENSORS_DS1780_PREFIX, ds1780_features },
|
||||
{ SENSORS_ADM1021_PREFIX, adm1021_features },
|
||||
|
||||
@@ -365,8 +365,10 @@
|
||||
|
||||
|
||||
/* Winbond W83782D chips */
|
||||
/* Cheat on 627HF for now - no separate #defines */
|
||||
|
||||
#define SENSORS_W83782D_PREFIX "w83782d"
|
||||
#define SENSORS_W83627HF_PREFIX "w83627hf"
|
||||
|
||||
#define SENSORS_W83782D_IN0 1 /* R */
|
||||
#define SENSORS_W83782D_IN1 2 /* R */
|
||||
|
||||
@@ -810,7 +810,8 @@ void print_w83781d(const sensors_chip_name *name)
|
||||
int alarms,beeps;
|
||||
int is82d, is83s;
|
||||
|
||||
is82d = !strcmp(name->prefix,"w83782d");
|
||||
is82d = (!strcmp(name->prefix,"w83782d")) ||
|
||||
(!strcmp(name->prefix,"w83627hf"));
|
||||
is83s = !strcmp(name->prefix,"w83782s");
|
||||
if (!sensors_get_feature(*name,SENSORS_W83781D_ALARMS,&cur))
|
||||
alarms = cur + 0.5;
|
||||
@@ -979,7 +980,7 @@ void print_w83781d(const sensors_chip_name *name)
|
||||
if(!sensors_get_feature(*name,SENSORS_W83781D_SENS1,&sens)) {
|
||||
print_label(label,10);
|
||||
printf(
|
||||
"%+3.0f C (limit = %+3.0f C, hysteresis = %+3.0f C, sensor = %s) %s %s\n",
|
||||
"%+3.0f C (limit = %+3.0f C, hysteresis = %+3.0f C, sensor = %s) %s %s\n",
|
||||
cur,max,min,
|
||||
(((int)sens)==1)?"PII/Celeron diode":(((int)sens)==2)?
|
||||
"3904 transistor":"thermistor",
|
||||
@@ -1006,7 +1007,7 @@ void print_w83781d(const sensors_chip_name *name)
|
||||
if(!sensors_get_feature(*name,SENSORS_W83781D_SENS2,&sens)) {
|
||||
print_label(label,10);
|
||||
printf(
|
||||
"%+3.1f C (limit = %+3.1f C, hysteresis = %+3.1f C, sensor = %s) %s %s\n",
|
||||
"%+3.1f C (limit = %+3.1f C, hysteresis = %+3.1f C, sensor = %s) %s %s\n",
|
||||
cur,max,min,
|
||||
(((int)sens)==1)?"PII/Celeron diode":(((int)sens)==2)?
|
||||
"3904 transistor":"thermistor",
|
||||
@@ -1034,7 +1035,7 @@ void print_w83781d(const sensors_chip_name *name)
|
||||
if(!sensors_get_feature(*name,SENSORS_W83781D_SENS3,&sens)) {
|
||||
print_label(label,10);
|
||||
printf(
|
||||
"%+3.1f C (limit = %+3.1f C, hysteresis = %+3.1f C, sensor = %s) %s %s\n",
|
||||
"%+3.1f C (limit = %+3.1f C, hysteresis = %+3.1f C, sensor = %s) %s %s\n",
|
||||
cur,max,min,
|
||||
(((int)sens)==1)?"PII/Celeron diode":(((int)sens)==2)?
|
||||
"3904 transistor":"thermistor",
|
||||
|
||||
+2
-1
@@ -265,7 +265,8 @@ void do_a_print(sensors_chip_name name)
|
||||
print_gl518(&name);
|
||||
else if ((!strcmp(name.prefix,"w83781d")) ||
|
||||
(!strcmp(name.prefix,"w83782d")) ||
|
||||
(!strcmp(name.prefix,"w83783s")))
|
||||
(!strcmp(name.prefix,"w83783s")) ||
|
||||
(!strcmp(name.prefix,"w83627hf")))
|
||||
print_w83781d(&name);
|
||||
else if (!strcmp(name.prefix,"maxilife-cg") ||
|
||||
!strcmp(name.prefix,"maxilife-co") ||
|
||||
|
||||
Reference in new issue
Block a user