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

Commit 42eaf0d8 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/vt1211: Add probing of alternate config index port
  hwmon/f71805f: Fix a race condition
  hwmon/abituguru: Fix unchecked return status
  hwmon: New driver for the Analog Devices ADM1029
  hwmon/w83627ehf: Add support for the W83627DHG chip
  hwmon: Use subsys_initcall
  hwmon/lm70: Make lm70_remove a __devexit function
  hwmon: Cleanup a bogus legacy comment
  hwmon: Simplify the locking model of two drivers
  hwmon: Drop unused mutexes in two drivers
  hwmon/it87: Add PWM base frequency control
parents 49353617 2219cd81
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -135,6 +135,16 @@ Give 0 for unused sensor. Any other value is invalid. To configure this at
startup, consult lm_sensors's /etc/sensors.conf. (2 = thermistor;
3 = thermal diode)


Fan speed control
-----------------

The fan speed control features are limited to manual PWM mode. Automatic
"Smart Guardian" mode control handling is not implemented. However
if you want to go for "manual mode" just write 1 to pwmN_enable.

If you are only able to control the fan speed with very small PWM values,
try lowering the PWM base frequency (pwm1_freq). Depending on the fan,
it may give you a somewhat greater control range. The same frequency is
used to drive all fan outputs, which is why pwm2_freq and pwm3_freq are
read-only.
+10 −5
Original line number Diff line number Diff line
@@ -166,16 +166,21 @@ pwm[1-*] Pulse width modulation fan control.

pwm[1-*]_enable
		Switch PWM on and off.
		Not always present even if fan*_pwm is.
		Not always present even if pwmN is.
		0: turn off
		1: turn on in manual mode
		2+: turn on in automatic mode
		Check individual chip documentation files for automatic mode details.
		Check individual chip documentation files for automatic mode
		details.
		RW

pwm[1-*]_mode
		0: DC mode
		1: PWM mode
pwm[1-*]_mode	0: DC mode (direct current)
		1: PWM mode (pulse-width modulation)
		RW

pwm[1-*]_freq	Base PWM frequency in Hz.
		Only possibly available when pwmN_mode is PWM, but not always
		present even then.
		RW

pwm[1-*]_auto_channels_temp
+47 −7
Original line number Diff line number Diff line
@@ -2,26 +2,29 @@ Kernel driver w83627ehf
=======================

Supported chips:
  * Winbond W83627EHF/EHG (ISA access ONLY)
  * Winbond W83627EHF/EHG/DHG (ISA access ONLY)
    Prefix: 'w83627ehf'
    Addresses scanned: ISA address retrieved from Super I/O registers
    Datasheet: http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/W83627EHF_%20W83627EHGb.pdf
    Datasheet:
        http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/W83627EHF_%20W83627EHGb.pdf
        DHG datasheet confidential.

Authors:
        Jean Delvare <khali@linux-fr.org>
        Yuan Mu (Winbond)
        Rudolf Marek <r.marek@assembler.cz>
        David Hubbard <david.c.hubbard@gmail.com>

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

This driver implements support for the Winbond W83627EHF and W83627EHG
super I/O chips. We will refer to them collectively as Winbond chips.
This driver implements support for the Winbond W83627EHF, W83627EHG, and
W83627DHG super I/O chips. We will refer to them collectively as Winbond chips.

The chips implement three temperature sensors, five fan rotation
speed sensors, ten analog voltage sensors, alarms with beep warnings (control
unimplemented), and some automatic fan regulation strategies (plus manual
fan control mode).
speed sensors, ten analog voltage sensors (only nine for the 627DHG), alarms
with beep warnings (control unimplemented), and some automatic fan regulation
strategies (plus manual fan control mode).

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
@@ -55,6 +58,9 @@ prog -> pwm4 (the programmable setting is not supported by the driver)
/sys files
----------

name - this is a standard hwmon device entry. For the W83627EHF and W83627EHG,
       it is set to "w83627ehf" and for the W83627DHG it is set to "w83627dhg"

pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range:
	   0 (stop) to 255 (full)

@@ -83,3 +89,37 @@ pwm[1-4]_stop_time - how many milliseconds [ms] must elapse to switch

Note: last two functions are influenced by other control bits, not yet exported
      by the driver, so a change might not have any effect.

Implementation Details
----------------------

Future driver development should bear in mind that the following registers have
different functions on the 627EHF and the 627DHG. Some registers also have
different power-on default values, but BIOS should already be loading
appropriate defaults. Note that bank selection must be performed as is currently
done in the driver for all register addresses.

0x49:  only on DHG, selects temperature source for AUX fan, CPU fan0
0x4a:  not completely documented for the EHF and the DHG documentation assigns
       different behavior to bits 7 and 6, including extending the temperature
       input selection to SmartFan I, not just SmartFan III. Testing on the EHF
       will reveal whether they are compatible or not.

0x58:  Chip ID: 0xa1=EHF 0xc1=DHG
0x5e:  only on DHG, has bits to enable "current mode" temperature detection and
       critical temperature protection
0x45b: only on EHF, bit 3, vin4 alarm (EHF supports 10 inputs, only 9 on DHG)
0x552: only on EHF, vin4
0x558: only on EHF, vin4 high limit
0x559: only on EHF, vin4 low limit
0x6b:  only on DHG, SYS fan critical temperature
0x6c:  only on DHG, CPU fan0 critical temperature
0x6d:  only on DHG, AUX fan critical temperature
0x6e:  only on DHG, CPU fan1 critical temperature

0x50-0x55 and 0x650-0x657 are marked "Test Register" for the EHF, but "Reserved
       Register" for the DHG

The DHG also supports PECI, where the DHG queries Intel CPU temperatures, and
the ICH8 southbridge gets that data via PECI from the DHG, so that the
southbridge drives the fans. And the DHG supports SST, a one-wire serial bus.
+6 −0
Original line number Diff line number Diff line
@@ -275,6 +275,12 @@ M: khali@linux-fr.org
L:	lm-sensors@lm-sensors.org
S:	Maintained

ADM1029 HARDWARE MONITOR DRIVER
P:	Corentin Labbe
M:	corentin.labbe@geomatys.fr
L:	lm-sensors@lm-sensors.org
S:	Maintained

ADT746X FAN DRIVER
P:	Colin Leroy
M:	colin@colino.net
+11 −0
Original line number Diff line number Diff line
@@ -73,6 +73,17 @@ config SENSORS_ADM1026
	  This driver can also be built as a module.  If so, the module
	  will be called adm1026.

config SENSORS_ADM1029
	tristate "Analog Devices ADM1029"
	depends on HWMON && I2C && EXPERIMENTAL
	help
	  If you say yes here you get support for Analog Devices ADM1029
	  sensor chip.
	  Very rare chip, please let us know you use it.

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

config SENSORS_ADM1031
	tristate "Analog Devices ADM1031 and compatibles"
	depends on HWMON && I2C && EXPERIMENTAL
Loading