Home | History | Annotate | Download | only in ic
History log of /src/sys/dev/ic/nslm7xvar.h
RevisionDateAuthorComments
 1.34  08-Feb-2018  dholland Typos.
 1.33  18-Aug-2017  msaitoh - WBSIO_ID_W83627DHG and newer devices have 12bit device ID. So, change sioid
from 8bit to 16bit and check with it strictly.
- s/lm_match/nslm_match/
- split {wb,lm,def}_match() to XXX_match and XXX_attach().
- Rename lm_probe with lm_match and call {wb,nslm,def}_match() at the end of
the function to check strictly.
- NCT610[246]D is different from otehrs, so add new nct6102d_sensors[] table.
- Register offsets of vendor ID and chip id of NCT610[246]D are different
from others. When it failed reading vendor ID or chip ID, fallback to
NCT610[246]D's register offsets.
- Add debug messages.
 1.32  17-Aug-2017  msaitoh Use uint8_t instead of int. No functional change.
 1.31  09-Aug-2017  msaitoh - Sprinkle static and const. No functional change.
- Print chip ID in hexadecimal instead of octal in def_match().
 1.30  11-Jul-2017  msaitoh lm(4): Add suport for NCT5174D, NCT6775F, NCT6779D and NCT679[1235]D.
wbsio(4): Add support for NCT6795D.
 1.29  01-Jun-2016  pgoyette branches: 1.29.10;
Add support for Nuvoton NCT6776F from OpenBSD

From PR kern/49747
 1.28  17-Jan-2012  jakllsch branches: 1.28.6; 1.28.24;
Include sysmonvar.h for envsys types.
 1.27  08-Feb-2010  pgoyette branches: 1.27.10; 1.27.14;
Add temp-sensor type selection (via autoconfig flags). Currently only
enabled for W83627HF but easily extended to others if appropriate.

Fixes PR kern-42758
 1.26  12-Oct-2008  pgoyette branches: 1.26.14;
Add an i2c attachment for the LM78 family of temp sensor/fan control

Tested by Martin Husemann
 1.25  28-Apr-2008  martin branches: 1.25.6;
Remove clause 3 and 4 from TNF licenses
 1.24  05-Mar-2008  xtraeme branches: 1.24.2; 1.24.4;
Split device_t/softc in the lm(4) driver and its attachments, and
other related cosmetic changes.
 1.23  16-Nov-2007  xtraeme branches: 1.23.10; 1.23.14;
Extend the envsys2 API (one more time, sorry) as defined in:

http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html

sysmon_envsys_create() and sysmon_envsys_destroy() were added to
create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).

sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were
added to attach/detach sensors to a specified sysmon_envsys device.

The events framework is now per device and configurable via the
ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).

Update all users and documentation to reflect these changes.
 1.22  08-Sep-2007  xtraeme branches: 1.22.4; 1.22.6;
- Use a callout(9) to refresh sensor data each 1.5 seconds, respecting
the limit in some LM chips.
- Add the lm_detach() function that stops/destroys the callout and
unregisters the driver from the sysmon_envsys(9) framework.
 1.21  02-Jul-2007  xtraeme branches: 1.21.2; 1.21.6; 1.21.8;
Winbond W83627EHF-A support, from OpenBSD.
 1.20  01-Jul-2007  xtraeme Imported envsys 2, a brief description of the new features:
(Part 2: drivers)

* Support for detachable sensors.
* Cleaned up the API for simplicity and efficiency.
* Ability to send capacity/critical/warning events to powerd(8).
* Adapted all the code to the new locking order.
* Compatibility with the old envsys API: the ENVSYS_GTREINFO
and ENVSYS_GTREDATA ioctl(2)s are supported.
* Added support for a 'dictionary based communication channel' between
sysmon_power(9) and powerd(8), that means there is no 32 bytes event
size restriction anymore.
* Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40.
* All drivers with the n^2 gtredata bug were fixed, PR kern/36226.

Tested by:

blymn: smsc(4).
bouyer: ipmi(4), mfi(4).
kefren: ug(4).
njoly: viaenv(4), adt7463.c.
riz: owtemp(4).
xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
 1.19  11-Mar-2007  xtraeme branches: 1.19.2;
Update for the nslm7x driver:

* For each supported chip, there's a struct lm_sensor array
that specifies the sensor data, like reg, bank, descr, rfact.

* Rather than having 3 functions to setup the voltage, temp and fan
sensors, just have one that will do all the three steps looking at
its struct lm_sensor members, simplifying a lot the code.

and more things that I can remember, our code now is synced with
OpenBSD, IMHO much better to understand and maintain in the future.

Supported chips added with the new code include:

* Winbond: W83627EHF, W83627DHG, W83637HF, W83783S, W83791D, W83791SD,
W83792D.
* Asus AS9912F.

My new mobo with the Winbond W83627DHG chip correctly reports
the values now:

lm0 at isa0 port 0x290-0x297: Winbond W83627DHG Hardware monitor

[juan@nocturno][~]> envstat -r
VCore: 1.232 V
+12V: 12.091 V
+3.3V: 3.264 V
+5V: 4.945 V
VBAT: 3.728 V
System Temp: 36.000 degC
CPU Temp: 29.500 degC
Aux Temp: 22.000 degC
CPU Fan: 1591 RPM
[juan@nocturno][~]>
 1.18  13-May-2006  xtraeme branches: 1.18.12; 1.18.14; 1.18.18;
Remove code for the IT87xxF chipsets, it was included on its own
driver (it(4)).
 1.17  11-Dec-2005  christos branches: 1.17.4; 1.17.6; 1.17.8; 1.17.12;
merge ktrace-lwp.
 1.16  15-Oct-2005  xtraeme Added support for Winbond 83627THF, from OpenBSD.
 1.15  29-Apr-2005  xtraeme branches: 1.15.2;
Identify correctly ITE Super I/O chipsets by checking the core ID
register (only available in the model 8712F), if that fails we check
the vendor ID register as before.
 1.14  27-Feb-2005  perry branches: 1.14.2;
nuke trailing whitespace
 1.13  04-Feb-2005  perry de-__P
 1.12  24-Jul-2004  christos branches: 1.12.4; 1.12.6;
PR/26420: Thilo Manske: lm(4): Add support vor environment controller
built into iTE 8705f
Also: change some memcpy's to strlcpy's and some (0)'s to 0's
 1.11  02-Nov-2003  wiz Fix some typos. From Tom Cosgrove via jmc@openbsd.
 1.10  15-Nov-2002  ad branches: 1.10.6;
Changes for SMBus/I2C:

- Move lm_readreg/lm_writereg into the front-ends. Add/use function pointers
in the softc.
- Add a bank select function pointer to the softc and provide a generic
version. WinBond chips accessed over serial bus present three addresses,
two of which are used to access bank 1/2 registers.
- Mark TSENS2/3 sensor data as invalid if the the corresponding bank select
fails.
 1.9  07-Nov-2002  thorpej Fix signed/unsigned comparison warnings.
 1.8  05-Apr-2002  bouyer Properly identify LM81. From Sergey Svishchev in PR kern/13420.
 1.7  03-Aug-2000  bouyer branches: 1.7.2; 1.7.4; 1.7.6;
Some W83781 have ID 0x11 instead of 0x10; handle these too.
Restore printing sdata for each sensors if DEBUG.
 1.6  02-Aug-2000  bouyer Add support for the W83697HF - basically a W83627HF with only 2 temp sensors.
 1.5  30-Jul-2000  bouyer Add support for the W83781D and W83782D hardware monitors.
 1.4  27-Jul-2000  bouyer Add support for the W83627HF: lm7x like, but with more sensors, and more
registers.
 1.3  24-Jun-2000  thorpej Add a clearing-house pseudo-device for system monitoring devices
such as the LM78 and VT82C686A (and eventually ACPI). Multiple
sensor devices can be hooked registered with `sysmon', and eventually
sysmon will also handle hardware (and software) watchdog timers.

Convert the `lm' and `viaenv' drivers to the new interface.
 1.2  07-Mar-2000  groo branches: 1.2.4;
split probe into generic and bus specific
 1.1  25-Feb-2000  groo Initial import of National Semiconductor LM7[89] Hardware Monitor with isa and
pnpbios attach.

examples:

lm0 at pnpbios0 index?
lm0 at isa? port 0x290


TODO: spinlocks, i2c interface.
 1.2.4.3  04-Aug-2000  bouyer Pull up (approved by jhawk):
share/man/man4/lm.4 1.6->1.8
sys/dev/ic/nslm7x.c 1.7 -> 1.10
sys/dev/ic/nslm7xvar.h 1.5->1.7

Factor out a few things in common functions.
Add support for W83781D, W83782D and W83697HF hardware monitors.
Print sdata for each sensors if DEBUG.
Update doc (W83781D & W83782D tested, W83697HF untested but "should work"
because very close to the W83627HF).
 1.2.4.2  02-Aug-2000  bouyer Pull up (approved by thorpej):
sys/dev/ic/nslm7x.c 1.4->1.7
sys/dev/ic/nslm7xvar.h 1.3->1.5
share/man/man4/lm.4 1.5->1.6

Add support for a few winbond hardware monitors.
 1.2.4.1  30-Jul-2000  bouyer Pull up (requested by thorpej):
lm_pnpbios.c 1.2->1.3
files 1.374->1.375
nslm7x.c 1.3->1.4
nslm7xvar.h 1.2->1.3
lm_isa.c 1.2->1.3
files.pci 1.96->1.97
viaenv.c 1.2->1.3
sysmon.c 1.1
sysmonvar.h 1.1

Add a clearing-house pseudo-device for system monitoring devices
such as the LM78 and VT82C686A (and eventually ACPI). Multiple
sensor devices can be hooked registered with `sysmon', and eventually
sysmon will also handle hardware (and software) watchdog timers.

Convert the `lm' and `viaenv' drivers to the new interface.
 1.7.6.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.7.4.3  11-Dec-2002  thorpej Sync with HEAD.
 1.7.4.2  11-Nov-2002  nathanw Catch up to -current
 1.7.4.1  17-Apr-2002  nathanw Catch up to -current.
 1.7.2.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.7.2.1  03-Aug-2000  bouyer file nslm7xvar.h was added on branch thorpej_scsipi on 2000-11-20 11:40:50 +0000
 1.10.6.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.6.3  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.10.6.2  04-Feb-2005  skrll Sync with HEAD.
 1.10.6.1  03-Aug-2004  skrll Sync with HEAD
 1.12.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.12.6.1  12-Feb-2005  yamt sync with head.
 1.12.4.1  29-Apr-2005  kent sync with -current
 1.14.2.2  15-Oct-2005  riz Pull up following revision(s) (requested by xtraeme in ticket #893):
sys/dev/ic/nslm7x.c: revision 1.23
sys/dev/ic/nslm7xvar.h: revision 1.16
Added support for Winbond 83627THF, from OpenBSD.
 1.14.2.1  01-May-2005  tron Pull up revision 1.15 (requested by xtraeme in ticket #213):
Identify correctly ITE Super I/O chipsets by checking the core ID
register (only available in the model 8712F), if that fails we check
the vendor ID register as before.
 1.15.2.5  17-Mar-2008  yamt sync with head.
 1.15.2.4  07-Dec-2007  yamt sync with head
 1.15.2.3  27-Oct-2007  yamt sync with head.
 1.15.2.2  03-Sep-2007  yamt sync with head.
 1.15.2.1  21-Jun-2006  yamt sync with head.
 1.17.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.17.8.1  24-May-2006  yamt sync with head.
 1.17.6.1  01-Jun-2006  kardel Sync with head.
 1.17.4.1  09-Sep-2006  rpaulo sync with head
 1.18.18.3  09-Oct-2007  ad Sync with head.
 1.18.18.2  15-Jul-2007  ad Sync with head.
 1.18.18.1  13-Mar-2007  ad Sync with head.
 1.18.14.1  12-Mar-2007  rmind Sync with HEAD.
 1.18.12.1  20-Apr-2007  bouyer Pull up following revision(s) (requested by xtraeme in ticket #584):
share/man/man4/lm.4: revisions 1.19 - 1.20
sys/dev/isa/lm_isa.c: revision 1.16 via patch
sys/dev/ic/nslm7xvar.h: revision 1.19
sys/dev/ic/nslm7x.c: revision 1.30 - 1.33 via patch
sync lm(4) with OpenBSD.
Supported chips added with the new code include:
* Winbond: W83627EHF, W83627DHG, W83637HF, W83783S, W83791D, W83791SD,
W83792D.
* Asus AS9912F.
 1.19.2.1  11-Jul-2007  mjf Sync with head.
 1.21.8.3  23-Mar-2008  matt sync with HEAD
 1.21.8.2  09-Jan-2008  matt sync with HEAD
 1.21.8.1  06-Nov-2007  matt sync with HEAD
 1.21.6.2  21-Nov-2007  joerg Sync with HEAD.
 1.21.6.1  02-Oct-2007  joerg Sync with HEAD.
 1.21.2.1  10-Sep-2007  skrll Sync with HEAD.
 1.22.6.1  19-Nov-2007  mjf Sync with HEAD.
 1.22.4.1  18-Nov-2007  bouyer Sync with HEAD
 1.23.14.3  17-Jan-2009  mjf Sync with HEAD.
 1.23.14.2  02-Jun-2008  mjf Sync with HEAD.
 1.23.14.1  03-Apr-2008  mjf Sync with HEAD.
 1.23.10.1  24-Mar-2008  keiichi sync with head.
 1.24.4.3  11-Mar-2010  yamt sync with head
 1.24.4.2  04-May-2009  yamt sync with head.
 1.24.4.1  16-May-2008  yamt sync with head.
 1.24.2.1  18-May-2008  yamt sync with head.
 1.25.6.1  19-Oct-2008  haad Sync with HEAD.
 1.26.14.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.27.14.1  18-Feb-2012  mrg merge to -current.
 1.27.10.1  17-Apr-2012  yamt sync with head
 1.28.24.2  28-Aug-2017  skrll Sync with HEAD
 1.28.24.1  09-Jul-2016  skrll Sync with HEAD
 1.28.6.1  03-Dec-2017  jdolecek update from HEAD
 1.29.10.1  22-Nov-2017  martin Pull up following revision(s) (requested by msaitoh in ticket #374):
share/man/man4/lm.4: revision 1.33
share/man/man4/lm.4: revision 1.34
sys/dev/ic/nslm7x.c: revision 1.70
sys/dev/isa/lm_isa_common.c: revision 1.5
sys/dev/isa/lm_isa_common.c: revision 1.6
sys/dev/isa/wbsio.c: revision 1.11
sys/dev/i2c/lm_i2c.c: revision 1.3
sys/dev/isa/wbsio.c: revision 1.12
sys/dev/i2c/lm_i2c.c: revision 1.4
sys/dev/isa/wbsioreg.h: revision 1.1
sys/dev/isa/wbsio.c: revision 1.13
sys/dev/isa/wbsioreg.h: revision 1.2
sys/dev/isa/wbsio.c: revision 1.14
sys/dev/isa/wbsioreg.h: revision 1.3
sys/dev/isa/wbsio.c: revision 1.15
sys/dev/isa/wbsioreg.h: revision 1.4
sys/dev/isa/wbsioreg.h: revision 1.5
share/man/man4/wbsio.4: revision 1.4
share/man/man4/wbsio.4: revision 1.5
sys/dev/ic/nslm7xvar.h: revision 1.30
sys/dev/ic/nslm7x.c: revision 1.65
share/man/man4/wbsio.4: revision 1.6
sys/dev/ic/nslm7xvar.h: revision 1.31
sys/dev/ic/nslm7x.c: revision 1.66
sys/dev/ic/nslm7xvar.h: revision 1.32
sys/dev/ic/nslm7x.c: revision 1.67
sys/dev/ic/nslm7xvar.h: revision 1.33
sys/dev/ic/nslm7x.c: revision 1.68
sys/dev/ic/nslm7x.c: revision 1.69
Add Winbond W83627DHG-P, W83627SF, W83627UHG, W83667HGB, W83687THF, W83697UG,
Nuvoton NCT5104D, NCT610[246]D, NCT6775, NCT6779, NCT6791, NCT6792 and NCT6793.
lm(4): Add support for NCT5104D, NCT610[246]D, NCT6775F, NCT6779D and NCT679[1235]D.
wbsio(4): Add support for NCT6795D.
Add note about Nuvoton.
- Add new Nuvoton devices.
- Add CAVEATS section from OpenBSD.
Add space before left-paren
Remove superfluous Pp.
Whitespace.
Fix a bug that fan RPM wasn't printed correctly. 0xbX is not RPM but counter.
Use 0xcX.
Fix typo.
- Sprinkle static and const. No functional change.
- Print chip ID in hexadecimal instead of octal in def_match().
Use uint8_t instead of int. No functional change.
Print chip name correctly.
- WBSIO_ID_W83627DHG and newer devices have 12bit device ID. So, change sioid
from 8bit to 16bit and check with it strictly.
- s/lm_match/nslm_match/
- split {wb,lm,def}_match() to XXX_match and XXX_attach().
- Rename lm_probe with lm_match and call {wb,nslm,def}_match() at the end of
the function to check strictly.
- NCT610[246]D is different from others, so add new nct6102d_sensors[] table.
- Register offsets of vendor ID and chip id of NCT610[246]D are different
from others. When it failed reading vendor ID or chip ID, fallback to
NCT610[246]D's register offsets.
- Add debug messages.
Restore NetBSD RCS Id which was accidentally removed in rev. 1.2.
s/Id/NetBSD/. Pointed out by wiz!

RSS XML Feed