Commit a06dee41 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6

* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
  hwmon: (it87) Support for 16-bit fan reading in it8705 >= rev 0x03
  hwmon: (it87) Support for 16-bit fan reading in it8712 >= rev 0x07
  hwmon: (hwmon-vid) Add 6-bit vid codes for AMD NPT 0Fh cpus
  hwmon: (hwmon-vid) Trivial format multi-line comments per CodingStyle
  hwmon: ad7414 driver
  hwmon: (thmc50) Add support for critical temperature limits
  hwmon: (adm9240) Remove EXPERIMENTAL dependency
  hwmon: (w83627hf) Drop reset module parameter
  hwmon: (w83627hf) Add pwm_enable sysfs interface
  hwmon: (w83791d) Use fan divisor bits from vbat register
  hwmon: (f71882fg) Delete needless forward declarations
  hwmon: (dme1737) Add support for the SMSC SCH5027
  hwmon: (dme1737) Skip detection if forced
  hwmon: (dme1737) Cleanups
parents b588e2bb 816d8c6a
Loading
Loading
Loading
Loading
+37 −16
Original line number Original line Diff line number Diff line
@@ -10,6 +10,10 @@ Supported chips:
    Prefix: 'sch311x'
    Prefix: 'sch311x'
    Addresses scanned: none, address read from Super-I/O config space
    Addresses scanned: none, address read from Super-I/O config space
    Datasheet: http://www.nuhorizons.com/FeaturedProducts/Volume1/SMSC/311x.pdf
    Datasheet: http://www.nuhorizons.com/FeaturedProducts/Volume1/SMSC/311x.pdf
  * SMSC SCH5027
    Prefix: 'sch5027'
    Addresses scanned: I2C 0x2c, 0x2d, 0x2e
    Datasheet: Provided by SMSC upon request and under NDA


Authors:
Authors:
    Juerg Haefliger <juergh@gmail.com>
    Juerg Haefliger <juergh@gmail.com>
@@ -27,33 +31,31 @@ Module Parameters
			following boards:
			following boards:
			- VIA EPIA SN18000
			- VIA EPIA SN18000


Note that there is no need to use this parameter if the driver loads without
complaining. The driver will say so if it is necessary.



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


This driver implements support for the hardware monitoring capabilities of the
This driver implements support for the hardware monitoring capabilities of the
SMSC DME1737 and Asus A8000 (which are the same) and SMSC SCH311x Super-I/O
SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, and SMSC
chips. These chips feature monitoring of 3 temp sensors temp[1-3] (2 remote
SCH311x Super-I/O chips. These chips feature monitoring of 3 temp sensors
diodes and 1 internal), 7 voltages in[0-6] (6 external and 1 internal) and up
temp[1-3] (2 remote diodes and 1 internal), 7 voltages in[0-6] (6 external and
to 6 fan speeds fan[1-6]. Additionally, the chips implement up to 5 PWM
1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement
outputs pwm[1-3,5-6] for controlling fan speeds both manually and
up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and
automatically.
automatically.


For the DME1737 and A8000, fan[1-2] and pwm[1-2] are always present. Fan[3-6]
For the DME1737, A8000 and SCH5027, fan[1-2] and pwm[1-2] are always present.
and pwm[3,5-6] are optional features and their availability depends on the
Fan[3-6] and pwm[3,5-6] are optional features and their availability depends on
configuration of the chip. The driver will detect which features are present
the configuration of the chip. The driver will detect which features are
during initialization and create the sysfs attributes accordingly.
present during initialization and create the sysfs attributes accordingly.


For the SCH311x, fan[1-3] and pwm[1-3] are always present and fan[4-6] and
For the SCH311x, fan[1-3] and pwm[1-3] are always present and fan[4-6] and
pwm[5-6] don't exist.
pwm[5-6] don't exist.


The hardware monitoring features of the DME1737 and A8000 are only accessible
The hardware monitoring features of the DME1737, A8000, and SCH5027 are only
via SMBus, while the SCH311x only provides access via the ISA bus. The driver
accessible via SMBus, while the SCH311x only provides access via the ISA bus.
will therefore register itself as an I2C client driver if it detects a DME1737
The driver will therefore register itself as an I2C client driver if it detects
or A8000 and as a platform driver if it detects a SCH311x chip.
a DME1737, A8000, or SCH5027 and as a platform driver if it detects a SCH311x
chip.




Voltage Monitoring
Voltage Monitoring
@@ -64,6 +66,7 @@ scaling resistors. The values returned by the driver therefore reflect true
millivolts and don't need scaling. The voltage inputs are mapped as follows
millivolts and don't need scaling. The voltage inputs are mapped as follows
(the last column indicates the input ranges):
(the last column indicates the input ranges):


DME1737, A8000:
	in0: +5VTR	(+5V standby)		0V - 6.64V
	in0: +5VTR	(+5V standby)		0V - 6.64V
	in1: Vccp	(processor core)	0V - 3V
	in1: Vccp	(processor core)	0V - 3V
	in2: VCC	(internal +3.3V)	0V - 4.38V
	in2: VCC	(internal +3.3V)	0V - 4.38V
@@ -72,6 +75,24 @@ millivolts and don't need scaling. The voltage inputs are mapped as follows
	in5: VTR	(+3.3V standby)		0V - 4.38V
	in5: VTR	(+3.3V standby)		0V - 4.38V
	in6: Vbat	(+3.0V)			0V - 4.38V
	in6: Vbat	(+3.0V)			0V - 4.38V


SCH311x:
	in0: +2.5V				0V - 6.64V
	in1: Vccp	(processor core)	0V - 2V
	in2: VCC	(internal +3.3V)	0V - 4.38V
	in3: +5V				0V - 6.64V
	in4: +12V				0V - 16V
	in5: VTR	(+3.3V standby)		0V - 4.38V
	in6: Vbat	(+3.0V)			0V - 4.38V

SCH5027:
	in0: +5VTR	(+5V standby)		0V - 6.64V
	in1: Vccp	(processor core)	0V - 3V
	in2: VCC	(internal +3.3V)	0V - 4.38V
	in3: V2_IN				0V - 1.5V
	in4: V1_IN				0V - 1.5V
	in5: VTR	(+3.3V standby)		0V - 4.38V
	in6: Vbat	(+3.0V)			0V - 4.38V

Each voltage input has associated min and max limits which trigger an alarm
Each voltage input has associated min and max limits which trigger an alarm
when crossed.
when crossed.


+7 −6
Original line number Original line Diff line number Diff line
@@ -6,12 +6,14 @@ Supported chips:
    Prefix: 'it87'
    Prefix: 'it87'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Datasheet: Publicly available at the ITE website
    Datasheet: Publicly available at the ITE website
               http://www.ite.com.tw/
               http://www.ite.com.tw/product_info/file/pc/IT8705F_V.0.4.1.pdf
  * IT8712F
  * IT8712F
    Prefix: 'it8712'
    Prefix: 'it8712'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Datasheet: Publicly available at the ITE website
    Datasheet: Publicly available at the ITE website
               http://www.ite.com.tw/
               http://www.ite.com.tw/product_info/file/pc/IT8712F_V0.9.1.pdf
               http://www.ite.com.tw/product_info/file/pc/Errata%20V0.1%20for%20IT8712F%20V0.9.1.pdf
               http://www.ite.com.tw/product_info/file/pc/IT8712F_V0.9.3.pdf
  * IT8716F/IT8726F
  * IT8716F/IT8726F
    Prefix: 'it8716'
    Prefix: 'it8716'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -90,14 +92,13 @@ upper VID bits share their pins with voltage inputs (in5 and in6) so you
can't have both on a given board.
can't have both on a given board.


The IT8716F, IT8718F and later IT8712F revisions have support for
The IT8716F, IT8718F and later IT8712F revisions have support for
2 additional fans. They are supported by the driver for the IT8716F and
2 additional fans. The additional fans are supported by the driver.
IT8718F but not for the IT8712F


The IT8716F and IT8718F, and late IT8712F and IT8705F also have optional
The IT8716F and IT8718F, and late IT8712F and IT8705F also have optional
16-bit tachometer counters for fans 1 to 3. This is better (no more fan
16-bit tachometer counters for fans 1 to 3. This is better (no more fan
clock divider mess) but not compatible with the older chips and
clock divider mess) but not compatible with the older chips and
revisions. For now, the driver only uses the 16-bit mode on the
revisions. The 16-bit tachometer mode is enabled by the driver when one
IT8716F and IT8718F.
of the above chips is detected.


The IT8726F is just bit enhanced IT8716F with additional hardware
The IT8726F is just bit enhanced IT8716F with additional hardware
for AMD power sequencing. Therefore the chip will appear as IT8716F
for AMD power sequencing. Therefore the chip will appear as IT8716F
+0 −4
Original line number Original line Diff line number Diff line
@@ -40,10 +40,6 @@ Module Parameters
  (default is 1)
  (default is 1)
  Use 'init=0' to bypass initializing the chip.
  Use 'init=0' to bypass initializing the chip.
  Try this if your computer crashes when you load the module.
  Try this if your computer crashes when you load the module.
* reset: int
  (default is 0)
  The driver used to reset the chip on load, but does no more. Use
  'reset=1' to restore the old behavior. Report if you need to do this.


Description
Description
-----------
-----------
+3 −3
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ Credits:


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


Module Parameters
Module Parameters
-----------------
-----------------
@@ -67,9 +68,8 @@ on until the temperature falls below the Hysteresis value.


Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
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
triggered if the rotation speed has dropped below a programmable limit. Fan
readings can be divided by a programmable divider (1, 2, 4, 8 for fan 1/2/3
readings can be divided by a programmable divider (1, 2, 4, 8, 16,
and 1, 2, 4, 8, 16, 32, 64 or 128 for fan 4/5) to give the readings more
32, 64 or 128 for all fans) to give the readings more range or accuracy.
range or accuracy.


Voltage sensors (also known as IN sensors) report their values in millivolts.
Voltage sensors (also known as IN sensors) report their values in millivolts.
An alarm is triggered if the voltage has crossed a programmable minimum
An alarm is triggered if the voltage has crossed a programmable minimum
+13 −3
Original line number Original line Diff line number Diff line
@@ -57,6 +57,16 @@ config SENSORS_ABITUGURU3
	  This driver can also be built as a module.  If so, the module
	  This driver can also be built as a module.  If so, the module
	  will be called abituguru3.
	  will be called abituguru3.


config SENSORS_AD7414
	tristate "Analog Devices AD7414"
	depends on I2C && EXPERIMENTAL
	help
	  If you say yes here you get support for the Analog Devices
	  AD7414 temperature monitoring chip.

	  This driver can also be built as a module. If so, the module
	  will be called ad7414.

config SENSORS_AD7418
config SENSORS_AD7418
	tristate "Analog Devices AD7416, AD7417 and AD7418"
	tristate "Analog Devices AD7416, AD7417 and AD7418"
	depends on I2C && EXPERIMENTAL
	depends on I2C && EXPERIMENTAL
@@ -124,7 +134,7 @@ config SENSORS_ADM1031


config SENSORS_ADM9240
config SENSORS_ADM9240
	tristate "Analog Devices ADM9240 and compatibles"
	tristate "Analog Devices ADM9240 and compatibles"
	depends on I2C && EXPERIMENTAL
	depends on I2C
	select HWMON_VID
	select HWMON_VID
	help
	help
	  If you say yes here you get support for Analog Devices ADM9240,
	  If you say yes here you get support for Analog Devices ADM9240,
@@ -575,8 +585,8 @@ config SENSORS_DME1737
	select HWMON_VID
	select HWMON_VID
	help
	help
	  If you say yes here you get support for the hardware monitoring
	  If you say yes here you get support for the hardware monitoring
	  and fan control features of the SMSC DME1737 (and compatibles
	  and fan control features of the SMSC DME1737, SCH311x, SCH5027, and
	  like the Asus A8000) and SCH311x Super-I/O chips.
	  Asus A8000 Super-I/O chips.


	  This driver can also be built as a module.  If so, the module
	  This driver can also be built as a module.  If so, the module
	  will be called dme1737.
	  will be called dme1737.
Loading