Commit ea694431 authored by Juerg Haefliger's avatar Juerg Haefliger Committed by Jean Delvare
Browse files

hwmon: (dme1737) Add SCH5127 support



Add support for the hardware monitoring capabilities of the SCH5127
chip to the dme1737 driver.

Signed-off-by: default avatarJuerg Haefliger <juergh@gmail.com>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Tested-by: default avatarJeff Rickman <jrickman@myamigos.us>
parent 38806bda
Loading
Loading
Loading
Loading
+41 −10
Original line number Original line Diff line number Diff line
@@ -9,11 +9,15 @@ Supported chips:
  * SMSC SCH3112, SCH3114, SCH3116
  * SMSC SCH3112, SCH3114, SCH3116
    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: Available on the Internet
  * SMSC SCH5027
  * SMSC SCH5027
    Prefix: 'sch5027'
    Prefix: 'sch5027'
    Addresses scanned: I2C 0x2c, 0x2d, 0x2e
    Addresses scanned: I2C 0x2c, 0x2d, 0x2e
    Datasheet: Provided by SMSC upon request and under NDA
    Datasheet: Provided by SMSC upon request and under NDA
  * SMSC SCH5127
    Prefix: 'sch5127'
    Addresses scanned: none, address read from Super-I/O config space
    Datasheet: Provided by SMSC upon request and under NDA


Authors:
Authors:
    Juerg Haefliger <juergh@gmail.com>
    Juerg Haefliger <juergh@gmail.com>
@@ -36,8 +40,8 @@ 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), SMSC SCH5027, and SMSC
SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x,
SCH311x Super-I/O chips. These chips feature monitoring of 3 temp sensors
and SCH5127 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
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
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
up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and
@@ -48,14 +52,14 @@ 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
the configuration of the chip. The driver will detect which features are
present 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 and SCH5127, fan[1-3] and pwm[1-3] are always present and
pwm[5-6] don't exist.
fan[4-6] and pwm[5-6] don't exist.


The hardware monitoring features of the DME1737, A8000, and SCH5027 are only
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.
accessible via SMBus, while the SCH311x and SCH5127 only provide access via
The driver will therefore register itself as an I2C client driver if it detects
the ISA bus. The driver will therefore register itself as an I2C client driver
a DME1737, A8000, or SCH5027 and as a platform driver if it detects a SCH311x
if it detects a DME1737, A8000, or SCH5027 and as a platform driver if it
chip.
detects a SCH311x or SCH5127 chip.




Voltage Monitoring
Voltage Monitoring
@@ -76,7 +80,7 @@ DME1737, A8000:
	in6: Vbat	(+3.0V)			0V - 4.38V
	in6: Vbat	(+3.0V)			0V - 4.38V


SCH311x:
SCH311x:
	in0: +2.5V				0V - 6.64V
	in0: +2.5V				0V - 3.32V
	in1: Vccp	(processor core)	0V - 2V
	in1: Vccp	(processor core)	0V - 2V
	in2: VCC	(internal +3.3V)	0V - 4.38V
	in2: VCC	(internal +3.3V)	0V - 4.38V
	in3: +5V				0V - 6.64V
	in3: +5V				0V - 6.64V
@@ -93,6 +97,15 @@ SCH5027:
	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


SCH5127:
	in0: +2.5				0V - 3.32V
	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.


@@ -293,3 +306,21 @@ pwm[1-3]_auto_point1_pwm RW Auto PWM pwm point. Auto_point1 is the
pwm[1-3]_auto_point2_pwm	RO	Auto PWM pwm point. Auto_point2 is the
pwm[1-3]_auto_point2_pwm	RO	Auto PWM pwm point. Auto_point2 is the
					full-speed duty-cycle which is hard-
					full-speed duty-cycle which is hard-
					wired to 255 (100% duty-cycle).
					wired to 255 (100% duty-cycle).

Chip Differences
----------------

Feature			dme1737	sch311x	sch5027	sch5127
-------------------------------------------------------
temp[1-3]_offset	yes	yes
vid			yes
zone3			yes	yes	yes
zone[1-3]_hyst		yes	yes
pwm min/off		yes	yes
fan3			opt	yes	opt	yes
pwm3			opt	yes	opt	yes
fan4			opt		opt
fan5			opt		opt
pwm5			opt		opt
fan6			opt		opt
pwm6			opt		opt
+225 −103

File changed.

Preview size limit exceeded, changes collapsed.