From 2c31ea166c0f36284afdca27a81a6f80368fa681 Mon Sep 17 00:00:00 2001 From: "Mark D. Studebaker" Date: Tue, 10 Jun 2003 03:01:31 +0000 Subject: [PATCH] add w83791d detection, update documentation git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1782 7894878c-1315-0410-8ee3-d5d059ff63e0 --- doc/chips/SUMMARY | 1 + doc/chips/w83781d | 7 +++++++ kernel/chips/w83781d.c | 7 ++++--- prog/detect/sensors-detect | 8 ++++++++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/doc/chips/SUMMARY b/doc/chips/SUMMARY index 08fd253d..8fcdb126 100644 --- a/doc/chips/SUMMARY +++ b/doc/chips/SUMMARY @@ -165,6 +165,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 + w83791d 3 10 5 5 pwm yes no w83627hf 3 9 3 2 pwm yes yes (LPC) w83697hf 2 6 2 2 pwm no yes diff --git a/doc/chips/w83781d b/doc/chips/w83781d index 7899b067..e8237232 100644 --- a/doc/chips/w83781d +++ b/doc/chips/w83781d @@ -4,6 +4,7 @@ Kernel driver `w83781d.o' Status: W83781D support is complete and well-tested. W83782D support is complete and well-tested. W83783S support is complete but has not been well-tested. + W83791D support is BETA. W83627HF support is complete but has not been 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 @@ -24,6 +25,10 @@ Supported chips: Prefix 'w83783s' Addresses scanned: I2C 0x20 - 0x2f (inclusive) Datasheet: Publicly available at the Winbond website + * Winbond W83791D + Prefix 'w83791d' + 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) @@ -59,6 +64,8 @@ Module Parameters Ditto * force_w83783s: Ditto +* force_w83791d: + Ditto * force_w83627hf: Ditto * force_w83697hf: diff --git a/kernel/chips/w83781d.c b/kernel/chips/w83781d.c index e728aa85..b030189c 100644 --- a/kernel/chips/w83781d.c +++ b/kernel/chips/w83781d.c @@ -1,7 +1,7 @@ /* w83781d.c - Part of lm_sensors, Linux kernel modules for hardware monitoring - Copyright (c) 1998 - 2001 Frodo Looijaard , + Copyright (c) 1998 - 2003 Frodo Looijaard , Philip Edelbrock , and Mark Studebaker @@ -26,11 +26,12 @@ Chip #vin #fanin #pwm #temp wchipid vendid i2c ISA 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) + w83697hf 8 2 2 2 0x60 0x5ca3 no yes(LPC) + w83781d 7 3 0 3 0x10 0x5ca3 yes yes w83782d 9 3 2-4 3 0x30 0x5ca3 yes yes w83783s 5-6 3 2 1-2 0x40 0x5ca3 yes no - w83697hf 8 2 2 2 0x60 0x5ca3 no yes(LPC) + w83791d 10 5 5 3 0x70 0x5ca3 yes no */ diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index d1187752..810d2992 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -881,6 +881,12 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect i2c_addrs => [0x20..0x2f], i2c_detect => sub { w83781d_detect 2, @_}, } , + { + name => "Winbond W83791D", + driver => "w83781d", + i2c_addrs => [0x20..0x2f], + i2c_detect => sub { w83781d_detect 7, @_}, + } , { name => "Winbond W83627HF", driver => "w83781d", @@ -2318,6 +2324,7 @@ sub lm87_detect # $_[0]: Chip to detect (0 = W83781D, 1 = W83782D, 2 = W83783S, # 3 = W83627HF, 4 = AS99127F, 6 = W83L784R/AR +# 7 = W83791D # $_[1]: A reference to the file descriptor to access this chip. # We may assume an i2c_set_slave_addr was already done. # $_[2]: Address @@ -2358,6 +2365,7 @@ sub w83781d_detect return if $chip == 3 and $reg1 != 0x20; return if $chip == 4 and $reg1 != 0x30; return if $chip == 6 and $reg1 != 0x50; + return if $chip == 7 and $reg1 != 0x70; $reg1 = i2c_smbus_read_byte_data($file,0x4a); @res = (8); push @res, ($reg1 & 0x07) + 0x48 unless $reg1 & 0x08 ;