This diff adds support for the Winbond W83627UHG chip, as found on the
Lanner FW-7539 appliance.  This diff was ported from DragonFly BSD:

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/245ec76bc1613b22cf282526fa9931e4c16e4237

Here is the "sysctl hw.sensors" output on that Lanner appliance before
the diff:

$ sysctl -n kern.version
OpenBSD 5.2-beta (GENERIC.MP) #338: Tue Jun 26 22:52:57 MDT 2012
    [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

$ sysctl hw.sensors
hw.sensors.cpu0.temp0=13.00 degC
hw.sensors.cpu1.temp0=13.00 degC


And here's the output after the diff is applied:

$ sysctl -n kern.version
OpenBSD 5.2-beta (GENERIC.MP) #2: Thu Jun 28 16:14:19 EDT 2012
    [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

$ sysctl hw.sensors
hw.sensors.cpu0.temp0=13.00 degC
hw.sensors.cpu1.temp0=13.00 degC
hw.sensors.lm1.temp0=36.00 degC
hw.sensors.lm1.temp1=29.00 degC
hw.sensors.lm1.temp2=36.00 degC
hw.sensors.lm1.fan1=4017 RPM
hw.sensors.lm1.volt0=1.16 VDC (VCore)
hw.sensors.lm1.volt1=4.96 VDC (+12V)
hw.sensors.lm1.volt2=2.45 VDC (+3.3V)
hw.sensors.lm1.volt3=2.40 VDC (+3.3V)
hw.sensors.lm1.volt4=-8.79 VDC (-12V)
hw.sensors.lm1.volt5=0.74 VDC
hw.sensors.lm1.volt6=0.05 VDC
hw.sensors.lm1.volt7=2.45 VDC (3.3VSB)
hw.sensors.lm1.volt8=0.79 VDC (VBAT)

$ dmesg | grep W83627
wbsio0 at isa0 port 0x2e/2: W83627UHG rev 0x32
lm1 at wbsio0 port 0xa10/8: W83627DHG

Full dmesg at http://lteo.net/stuff/fw7539-dmesg.txt

I am very new to this part of the code, and would really appreciate a
review of the diff to make sure I did not miss anything.  Comments and
feedback welcome too.

Thank you!
Lawrence


Index: share/man/man4/lm.4
===================================================================
RCS file: /cvs/src/share/man/man4/lm.4,v
retrieving revision 1.23
diff -u -p -r1.23 lm.4
--- share/man/man4/lm.4 7 Dec 2011 14:47:19 -0000       1.23
+++ share/man/man4/lm.4 28 Jun 2012 21:02:04 -0000
@@ -86,7 +86,7 @@ Nuvoton NCT6776F
 .It
 Winbond W83627HF, W83627THF, W83637HF and W83697HF
 .It
-Winbond W83627DHG and W83627EHF
+Winbond W83627DHG, W83627UHG and W83627EHF
 .It
 Winbond W83781D, W83782D and W83783S
 .It
Index: sys/dev/isa/wbsio.c
===================================================================
RCS file: /cvs/src/sys/dev/isa/wbsio.c,v
retrieving revision 1.7
diff -u -p -r1.7 wbsio.c
--- sys/dev/isa/wbsio.c 6 Dec 2011 16:06:07 -0000       1.7
+++ sys/dev/isa/wbsio.c 28 Jun 2012 20:10:43 -0000
@@ -108,6 +108,7 @@ wbsio_probe(struct device *parent, void 
        case WBSIO_ID_W83627EHF:
        case WBSIO_ID_W83627DHG:
        case WBSIO_ID_W83627DHGP:
+       case WBSIO_ID_W83627UHG:
        case WBSIO_ID_W83637HF:
        case WBSIO_ID_W83697HF:
        case WBSIO_ID_NCT6776F:
@@ -159,6 +160,9 @@ wbsio_attach(struct device *parent, stru
                break;
        case WBSIO_ID_W83627DHGP:
                printf(": W83627DHG-P");
+               break;
+       case WBSIO_ID_W83627UHG:
+               printf(": W83627UHG");
                break;
        case WBSIO_ID_W83637HF:
                printf(": W83637HF");
Index: sys/dev/isa/wbsioreg.h
===================================================================
RCS file: /cvs/src/sys/dev/isa/wbsioreg.h,v
retrieving revision 1.2
diff -u -p -r1.2 wbsioreg.h
--- sys/dev/isa/wbsioreg.h      7 Dec 2011 12:24:17 -0000       1.2
+++ sys/dev/isa/wbsioreg.h      28 Jun 2012 20:11:01 -0000
@@ -38,6 +38,7 @@
 #define WBSIO_ID_W83627EHF     0x88
 #define WBSIO_ID_W83627DHG     0xa0
 #define WBSIO_ID_W83627DHGP    0xb0
+#define WBSIO_ID_W83627UHG     0xa2
 #define WBSIO_ID_W83627SF      0x59
 #define WBSIO_ID_W83637HF      0x70
 #define WBSIO_ID_W83697HF      0x60

Reply via email to