Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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 Diff line number Diff line
@@ -10,6 +10,10 @@ Supported chips:
    Prefix: 'sch311x'
    Addresses scanned: none, address read from Super-I/O config space
    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:
    Juerg Haefliger <juergh@gmail.com>
@@ -27,33 +31,31 @@ Module Parameters
			following boards:
			- 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
-----------

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

For the DME1737 and A8000, fan[1-2] and pwm[1-2] are always present. Fan[3-6]
and pwm[3,5-6] are optional features and their availability depends on the
configuration of the chip. The driver will detect which features are present
during initialization and create the sysfs attributes accordingly.
For the DME1737, A8000 and SCH5027, fan[1-2] and pwm[1-2] are always present.
Fan[3-6] and pwm[3,5-6] are optional features and their availability depends on
the configuration of the chip. The driver will detect which features are
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
pwm[5-6] don't exist.

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


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
(the last column indicates the input ranges):

DME1737, A8000:
	in0: +5VTR	(+5V standby)		0V - 6.64V
	in1: Vccp	(processor core)	0V - 3V
	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
	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
when crossed.

+7 −6
Original line number Diff line number Diff line
@@ -6,12 +6,14 @@ Supported chips:
    Prefix: 'it87'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    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
    Prefix: 'it8712'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    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
    Prefix: 'it8716'
    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.

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

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
clock divider mess) but not compatible with the older chips and
revisions. For now, the driver only uses the 16-bit mode on the
IT8716F and IT8718F.
revisions. The 16-bit tachometer mode is enabled by the driver when one
of the above chips is detected.

The IT8726F is just bit enhanced IT8716F with additional hardware
for AMD power sequencing. Therefore the chip will appear as IT8716F
+0 −4
Original line number Diff line number Diff line
@@ -40,10 +40,6 @@ Module Parameters
  (default is 1)
  Use 'init=0' to bypass initializing the chip.
  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
-----------
+3 −3
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ Credits:

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

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
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
and 1, 2, 4, 8, 16, 32, 64 or 128 for fan 4/5) to give the readings more
range or accuracy.
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.

Voltage sensors (also known as IN sensors) report their values in millivolts.
An alarm is triggered if the voltage has crossed a programmable minimum
+13 −3
Original line number 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
	  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
	tristate "Analog Devices AD7416, AD7417 and AD7418"
	depends on I2C && EXPERIMENTAL
@@ -124,7 +134,7 @@ config SENSORS_ADM1031

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

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