mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-30 13:00:30 +00:00
add support for Asus ASB100 Bach. Patch from
"Mark M. Hoffman" <mhoffman@lightlink.com> git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1486 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
325d5d81bc
commit
8a7d9d7d07
4 files changed
+25
-12
No files matched your search
@@ -22,16 +22,18 @@ ask CVS about it:
|
||||
Module dmi_scan: new
|
||||
Module i2c-piix4: Refuse to load on IBM systems
|
||||
Module lm92: Fix in-kernel initialization
|
||||
Module w83781: recognize Asus "ASB100 Bach" as AS99127F
|
||||
Program dmidecode: new
|
||||
Programs i2cdetect, i2cdump, i2cset, isadump: Now installed by 'make install'
|
||||
Program mkpatch: Add Config.in entries for, lm92,
|
||||
pcf8574, pcf8591, smsc47m1, vt1211;
|
||||
add dmi_scan
|
||||
Program sensors: Add /usr/local/etc to config file path
|
||||
Program sensord: Add /usr/local/etc to config file path;
|
||||
add support for logging loadavg in RRD;
|
||||
fix down-converting raw labels for RRD;
|
||||
update chip support, still behind sensors
|
||||
Program sensors: Add /usr/local/etc to config file path
|
||||
Program sensors-detect: recognize Asus "ASB100 Bach" as AS99127F
|
||||
|
||||
2.6.4 (20020719)
|
||||
NOTE: Requires i2c-2.6.1 or newer, or kernel 2.4.13 or newer.
|
||||
|
||||
+11
-4
@@ -8,6 +8,8 @@ Status: W83781D support is complete and well-tested.
|
||||
W83697HF support is complete but has not been well-tested.
|
||||
AS99127F support is BETA and has known problems due to lack of a
|
||||
chip datasheet. SEE BELOW.
|
||||
ASB100 Bach support is BETA; presently this chip is treated
|
||||
exactly like AS99127F.
|
||||
|
||||
Supported chips:
|
||||
* Winbond W83781D
|
||||
@@ -34,6 +36,11 @@ Supported chips:
|
||||
Prefix 'as99127f'
|
||||
Addresses scanned: I2C 0x20 - 0x2f (inclusive)
|
||||
Datasheet: Unavailable from Asus
|
||||
* Asus ASB100 Bach
|
||||
Prefix 'as99127f'
|
||||
Addresses scanned: I2C 0x20 - 0x2f (inclusive)
|
||||
Datasheet: Unavailable from Asus
|
||||
|
||||
|
||||
|
||||
Authors: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock <phil@netroedge.com>,
|
||||
@@ -81,13 +88,13 @@ Description
|
||||
-----------
|
||||
|
||||
This driver implements support for the Winbond W83781D, W83782D,
|
||||
W8783S, and W83627HF chips, and the Asus AS99127F.
|
||||
W8783S, and W83627HF chips, and the Asus AS99127F/ASB100 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 ISA W83782D.
|
||||
The AS99127F chip is similar to an I2C-only W83782D.
|
||||
The Asus chips are similar to an I2C-only 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
|
||||
@@ -177,9 +184,9 @@ Known problems:
|
||||
cat /proc/bus/i2c to see a list of bus numbers)
|
||||
|
||||
|
||||
AS99127F PROBLEMS
|
||||
AS99127F/ASB100 PROBLEMS
|
||||
-----------------
|
||||
The as99127f support was developed without the benefit of a datasheet.
|
||||
The as99127f/asb100 support was developed without the benefit of a datasheet.
|
||||
In most cases it is treated as a w83781d.
|
||||
This support will be BETA until a datasheet is released.
|
||||
One user has reported problems with fans stopping
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
Supports following chips:
|
||||
|
||||
Chip #vin #fanin #pwm #temp wchipid vendid i2c ISA
|
||||
as99127f 7 3 1? 3 0x20 0x12c3 yes no
|
||||
as99127f 7 3 1? 3 0x30 0x12c3 yes no
|
||||
asb100 "bach" (type_name = as99127f) 0x30 0x0694 yes no
|
||||
w83781d 7 3 0 3 0x10 0x5ca3 yes yes
|
||||
w83627hf 9 3 2 3 0x20 0x5ca3 yes yes(LPC)
|
||||
w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes
|
||||
@@ -840,9 +841,10 @@ int w83781d_detect(struct i2c_adapter *adapter, int address,
|
||||
val2 = w83781d_read_value(new_client, W83781D_REG_CHIPMAN);
|
||||
/* Check for Winbond or Asus ID if in bank 0 */
|
||||
if ((!(val1 & 0x07)) &&
|
||||
(((!(val1 & 0x80)) && (val2 != 0xa3) && (val2 != 0xc3))
|
||||
|| ((val1 & 0x80) && (val2 != 0x5c)
|
||||
&& (val2 != 0x12)))) goto ERROR1;
|
||||
(((!(val1 & 0x80)) && (val2 != 0xa3) && (val2 != 0xc3)
|
||||
&& (val2 != 0x94))
|
||||
|| ((val1 & 0x80) && (val2 != 0x5c) && (val2 != 0x12)
|
||||
&& (val2 != 0x06)))) goto ERROR1;
|
||||
/* If Winbond SMBus, check address at 0x48. Asus doesn't support */
|
||||
if ((!is_isa) && (((!(val1 & 0x80)) && (val2 == 0xa3)) ||
|
||||
((val1 & 0x80) && (val2 == 0x5c)))) {
|
||||
@@ -865,7 +867,7 @@ int w83781d_detect(struct i2c_adapter *adapter, int address,
|
||||
val2 = w83781d_read_value(new_client, W83781D_REG_CHIPMAN);
|
||||
if (val2 == 0x5c)
|
||||
vendid = winbond;
|
||||
else if (val2 == 0x12)
|
||||
else if ((val2 == 0x12) || (val2 == 0x06))
|
||||
vendid = asus;
|
||||
else
|
||||
goto ERROR1;
|
||||
|
||||
@@ -2023,8 +2023,10 @@ sub w83781d_detect
|
||||
(($reg1 & 0x80) == 0x80 and $reg2 == 0x5c);
|
||||
}
|
||||
if ($chip == 4) {
|
||||
return unless (($reg1 & 0x80) == 0x00 and $reg2 == 0xc3) or
|
||||
(($reg1 & 0x80) == 0x80 and $reg2 == 0x12);
|
||||
return unless (($reg1 & 0x80) == 0x00 and
|
||||
($reg2 == 0xc3 or $reg2 == 0x94)) or
|
||||
(($reg1 & 0x80) == 0x80 and
|
||||
($reg2 == 0x12 or $reg2 == 0x06));
|
||||
}
|
||||
return unless ($reg1 & 0x07) == 0x00;
|
||||
$reg1 = i2c_smbus_read_byte_data($file,0x58) & 0xfe;
|
||||
|
||||
Reference in new issue
Block a user