Kernel driver w83791d
=====================

Supported chips:
  * Winbond W83791D
    Prefix: 'w83791d'
    Addresses scanned: I2C 0x2c - 0x2f
    Datasheet: http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/W83791D_W83791Gb.pdf

Author: Charles Spirakis <bezaur@gmail.com>

This driver was derived from the w83781d.c and w83792d.c source files.

Credits:
  w83781d.c:
    Frodo Looijaard <frodol@dds.nl>,
    Philip Edelbrock <phil@netroedge.com>,
    and Mark Studebaker <mdsxyz123@yahoo.com>
  w83792d.c:
    Chunhao Huang <DZShen@Winbond.com.tw>,
    Rudolf Marek <r.marek@assembler.cz>

Additional contributors:
    Sven Anders <anders@anduras.de>
    Marc Hulsman <m.hulsman@tudelft.nl>

Module Parameters
-----------------

* init boolean
  (default 0)
  Use 'init=1' to have the driver do extra software initializations.
  The default behavior is to do the minimum initialization possible
  and depend on the BIOS to properly setup the chip. If you know you
  have a w83791d and you're having problems, try init=1 before trying
  reset=1.

* reset boolean
  (default 0)
  Use 'reset=1' to reset the chip (via index 0x40, bit 7). The default
  behavior is no chip reset to preserve BIOS settings.

* force_subclients=bus,caddr,saddr,saddr
  This is used to force the i2c addresses for subclients of
  a certain chip. Example usage is `force_subclients=0,0x2f,0x4a,0x4b'
  to force the subclients of chip 0x2f on bus 0 to i2c addresses
  0x4a and 0x4b.


Description
-----------

This driver implements support for the Winbond W83791D chip. The W83791G
chip appears to be the same as the W83791D but is lead free.

Detection of the chip can sometimes be foiled because it can be in an
internal state that allows no clean access (Bank with ID register is not
currently selected). If you know the address of the chip, use a 'force'
parameter; this will put it into a more well-behaved state first.

The driver implements three temperature sensors, ten voltage sensors,
five fan rotation speed sensors and manual PWM control of each fan.

Temperatures are measured in degrees Celsius and measurement resolution is 1
degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when
the temperature gets higher than the Overtemperature Shutdown value; it stays
on until the temperature falls below the Hysteresis value.

Voltage sensors (also known as IN sensors) report their values in millivolts.
An alarm is triggered if the voltage has crossed a programmable minimum
or maximum limit.

Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. Fan
readings can be divided by a programmable divider (1, 2, 4, 8, 16,
32, 64 or 128 for all fans) to give the readings more range or accuracy.

Each fan controlled is controlled by PWM. The PWM duty cycle can be read and
set for each fan separately. Valid values range from 0 (stop) to 255 (full).
PWM 1-3 support Thermal Cruise mode, in which the PWMs are automatically
regulated to keep respectively temp 1-3 at a certain target temperature.
See below for the description of the sysfs-interface.

The w83791d has a global bit used to enable beeping from the speaker when an
alarm is triggered as well as a bitmask to enable or disable the beep for
specific alarms. You need both the global beep enable bit and the
corresponding beep bit to be on for a triggered alarm to sound a beep.

The sysfs interface to the global enable is via the sysfs beep_enable file.
This file is used for both legacy and new code.

The sysfs interface to the beep bitmask has migrated from the original legacy
method of a single sysfs beep_mask file to a newer method using multiple
*_beep files as described in .../Documentation/hwmon/sysfs-interface.

A similar change has occurred for the bitmap corresponding to the alarms. The
original legacy method used a single sysfs alarms file containing a bitmap
of triggered alarms. The newer method uses multiple sysfs *_alarm files
(again following the pattern described in sysfs-interface).

Since both methods read and write the underlying hardware, they can be used
interchangeably and changes in one will automatically be reflected by
the other. If you use the legacy bitmask method, your user-space code is
responsible for handling the fact that the alarms and beep_mask bitmaps
are not the same (see the table below).

NOTE: All new code should be written to use the newer sysfs-interface
specification as that avoids bitmap problems and is the preferred interface
going forward.

The driver reads the hardware chip values at most once every three seconds.
User mode code requesting values more often will receive cached values.

/sys files
----------
The sysfs-interface is documented in the 'sysfs-interface' file. Only
chip-specific options are documented here.

pwm[1-3]_enable -	this file controls mode of fan/temperature control for
			fan 1-3. Fan/PWM 4-5 only support manual mode.
		            * 1 Manual mode
		            * 2 Thermal Cruise mode
		            * 3 Fan Speed Cruise mode (no further support)

temp[1-3]_target -	defines the target temperature for Thermal Cruise mode.
			Unit: millidegree Celsius
			RW

temp[1-3]_tolerance -	temperature tolerance for Thermal Cruise mode.
			Specifies an interval around the target temperature
			in which the fan speed is not changed.
			Unit: millidegree Celsius
			RW

Alarms bitmap vs. beep_mask bitmask
------------------------------------
For legacy code using the alarms and beep_mask files:

in0 (VCORE)  :  alarms: 0x000001 beep_mask: 0x000001
in1 (VINR0)  :  alarms: 0x000002 beep_mask: 0x002000 <== mismatch
in2 (+3.3VIN):  alarms: 0x000004 beep_mask: 0x000004
in3 (5VDD)   :  alarms: 0x000008 beep_mask: 0x000008
in4 (+12VIN) :  alarms: 0x000100 beep_mask: 0x000100
in5 (-12VIN) :  alarms: 0x000200 beep_mask: 0x000200
in6 (-5VIN)  :  alarms: 0x000400 beep_mask: 0x000400
in7 (VSB)    :  alarms: 0x080000 beep_mask: 0x010000 <== mismatch
in8 (VBAT)   :  alarms: 0x100000 beep_mask: 0x020000 <== mismatch
in9 (VINR1)  :  alarms: 0x004000 beep_mask: 0x004000
temp1        :  alarms: 0x000010 beep_mask: 0x000010
temp2        :  alarms: 0x000020 beep_mask: 0x000020
temp3        :  alarms: 0x002000 beep_mask: 0x000002 <== mismatch
fan1         :  alarms: 0x000040 beep_mask: 0x000040
fan2         :  alarms: 0x000080 beep_mask: 0x000080
fan3         :  alarms: 0x000800 beep_mask: 0x000800
fan4         :  alarms: 0x200000 beep_mask: 0x200000
fan5         :  alarms: 0x400000 beep_mask: 0x400000
tart1        :  alarms: 0x010000 beep_mask: 0x040000 <== mismatch
tart2        :  alarms: 0x020000 beep_mask: 0x080000 <== mismatch
tart3        :  alarms: 0x040000 beep_mask: 0x100000 <== mismatch
case_open    :  alarms: 0x001000 beep_mask: 0x001000
global_enable:  alarms: -------- beep_mask: 0x800000 (modified via beep_enable)
