mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-09-04 16:25:18 +00:00
Add support for w83627thf. Includes patch from
Matthias Hentges <matthias@hentges.net> git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1784 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
@@ -8,6 +8,10 @@ Supported chips:
|
|||||||
Prefix 'w83627hf'
|
Prefix 'w83627hf'
|
||||||
Addresses scanned: ISA address retrieved from Super I/O registers
|
Addresses scanned: ISA address retrieved from Super I/O registers
|
||||||
Datasheet: Publicly available at the Winbond website
|
Datasheet: Publicly available at the Winbond website
|
||||||
|
* Winbond W83627THF (ISA accesses ONLY)
|
||||||
|
Prefix 'w83627hf'
|
||||||
|
Addresses scanned: ISA address retrieved from Super I/O registers
|
||||||
|
Datasheet: unavailable
|
||||||
* Winbond W83697HF (ISA accesses ONLY)
|
* Winbond W83697HF (ISA accesses ONLY)
|
||||||
Prefix 'w83697hf'
|
Prefix 'w83697hf'
|
||||||
Addresses scanned: ISA address retrieved from Super I/O registers
|
Addresses scanned: ISA address retrieved from Super I/O registers
|
||||||
@@ -46,8 +50,9 @@ Description
|
|||||||
-----------
|
-----------
|
||||||
|
|
||||||
This driver implements support for ISA accesses *only* for
|
This driver implements support for ISA accesses *only* for
|
||||||
the Winbond W83627HF and W83697HF Super I/O chips.
|
the Winbond W83627HF, W83627THF, and W83697HF Super I/O chips.
|
||||||
We will refer to them collectively as Winbond chips.
|
We will refer to them collectively as Winbond chips.
|
||||||
|
The 627THF is treated as a 627HF.
|
||||||
|
|
||||||
This driver supports ISA accesses, which should be more reliable
|
This driver supports ISA accesses, which should be more reliable
|
||||||
than i2c accesses. Also, for Tyan boards which contain both a
|
than i2c accesses. Also, for Tyan boards which contain both a
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
Chip #vin #fanin #pwm #temp wchipid vendid i2c ISA
|
Chip #vin #fanin #pwm #temp wchipid vendid i2c ISA
|
||||||
w83627hf 9 3 2 3 0x20 0x5ca3 no yes(LPC)
|
w83627hf 9 3 2 3 0x20 0x5ca3 no yes(LPC)
|
||||||
|
w83627thf 9 2 ? 3 ?? 0x5ca3 no yes(LPC)
|
||||||
w83697hf 8 2 2 2 0x60 0x5ca3 no yes(LPC)
|
w83697hf 8 2 2 2 0x60 0x5ca3 no yes(LPC)
|
||||||
|
|
||||||
For other winbond chips, and for i2c support in the above chips,
|
For other winbond chips, and for i2c support in the above chips,
|
||||||
@@ -115,6 +116,7 @@ superio_exit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define W627_DEVID 0x52
|
#define W627_DEVID 0x52
|
||||||
|
#define W627THF_DEVID 0x82
|
||||||
#define W697_DEVID 0x60
|
#define W697_DEVID 0x60
|
||||||
#define WINB_ACT_REG 0x30
|
#define WINB_ACT_REG 0x30
|
||||||
#define WINB_BASE_REG 0x60
|
#define WINB_BASE_REG 0x60
|
||||||
@@ -629,7 +631,7 @@ static int w83627hf_find(int *address)
|
|||||||
|
|
||||||
superio_enter();
|
superio_enter();
|
||||||
val= superio_inb(DEVID);
|
val= superio_inb(DEVID);
|
||||||
if(val != W627_DEVID && val != W697_DEVID) {
|
if(val != W627_DEVID && val !=W627THF_DEVID && val != W697_DEVID) {
|
||||||
superio_exit();
|
superio_exit();
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
@@ -685,6 +687,9 @@ int w83627hf_detect(struct i2c_adapter *adapter, int address,
|
|||||||
kind = w83627hf;
|
kind = w83627hf;
|
||||||
else if(val == W697_DEVID)
|
else if(val == W697_DEVID)
|
||||||
kind = w83697hf;
|
kind = w83697hf;
|
||||||
|
else if(val == W627THF_DEVID)
|
||||||
|
kind = w83627hf;
|
||||||
|
|
||||||
superio_select();
|
superio_select();
|
||||||
if((val = 0x01 & superio_inb(WINB_ACT_REG)) == 0)
|
if((val = 0x01 & superio_inb(WINB_ACT_REG)) == 0)
|
||||||
superio_outb(WINB_ACT_REG, 1);
|
superio_outb(WINB_ACT_REG, 1);
|
||||||
|
@@ -1228,6 +1228,22 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect
|
|||||||
basereg => 0x60,
|
basereg => 0x60,
|
||||||
exit => 0xaa,
|
exit => 0xaa,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name => "Winbond W83627THF Super IO Sensors",
|
||||||
|
driver => "w83627hf",
|
||||||
|
addrreg => 0x2e,
|
||||||
|
exitreg => 0x2e,
|
||||||
|
datareg => 0x2f,
|
||||||
|
enter => [0x87, 0x87],
|
||||||
|
devidreg => 0x20,
|
||||||
|
devid => 0x82,
|
||||||
|
logdevreg => 0x07,
|
||||||
|
logdev => 0x0b,
|
||||||
|
actreg => 0x30,
|
||||||
|
actmask => 0x01,
|
||||||
|
basereg => 0x60,
|
||||||
|
exit => 0xaa,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name => "Winbond W83697HF Super IO Sensors",
|
name => "Winbond W83697HF Super IO Sensors",
|
||||||
driver => "w83627hf",
|
driver => "w83627hf",
|
||||||
|
Reference in New Issue
Block a user