Commit e95c237d authored by Juerg Haefliger's avatar Juerg Haefliger Committed by Mark M. Hoffman

hwmon: (dme1737) Add sch311x support

This patch adds support for the SMSC SCH3112, SCH3114, and SCH3116 Super-I/O
chips. These chips feature identical hardware monitoring capabilites with the
expection that some of the fan inputs and pmw outputs don't exist.

The hardware monitoring features of the SCH311x chips can only be accessed via
the ISA bus. The driver therefore registers as a platform driver, if such a
chip is detected.

Signed-off-by: Juerg Haefliger <juergh at gmail.com>
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarMark M. Hoffman <mhoffman@lightlink.com>
parent 62ee3e10
...@@ -6,6 +6,10 @@ Supported chips: ...@@ -6,6 +6,10 @@ Supported chips:
Prefix: 'dme1737' Prefix: 'dme1737'
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 SCH3112, SCH3114, SCH3116
Prefix: 'sch311x'
Addresses scanned: none, address read from Super-I/O config space
Datasheet: http://www.nuhorizons.com/FeaturedProducts/Volume1/SMSC/311x.pdf
Authors: Authors:
Juerg Haefliger <juergh@gmail.com> Juerg Haefliger <juergh@gmail.com>
...@@ -27,16 +31,25 @@ Description ...@@ -27,16 +31,25 @@ 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) Super-I/O chips. This chip SMSC DME1737 and Asus A8000 (which are the same) and SMSC SCH311x Super-I/O
features monitoring of 3 temp sensors temp[1-3] (2 remote diodes and 1 chips. These chips feature monitoring of 3 temp sensors temp[1-3] (2 remote
internal), 7 voltages in[0-6] (6 external and 1 internal) and 6 fan speeds diodes and 1 internal), 7 voltages in[0-6] (6 external and 1 internal) and up
fan[1-6]. Additionally, the chip implements 5 PWM outputs pwm[1-3,5-6] for to 6 fan speeds fan[1-6]. Additionally, the chips implement up to 5 PWM
controlling fan speeds both manually and automatically. outputs pwm[1-3,5-6] for controlling fan speeds both manually and
automatically.
Fan[3-6] and pwm[3,5-6] are optional features and their availability is
dependent on the configuration of the chip. The driver will detect which For the DME1737 and A8000, fan[1-2] and pwm[1-2] are always present. Fan[3-6]
features are present during initialization and create the sysfs attributes and pwm[3,5-6] are optional features and their availability depends on the
accordingly. 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.
Voltage Monitoring Voltage Monitoring
......
...@@ -509,13 +509,13 @@ config SENSORS_SIS5595 ...@@ -509,13 +509,13 @@ config SENSORS_SIS5595
will be called sis5595. will be called sis5595.
config SENSORS_DME1737 config SENSORS_DME1737
tristate "SMSC DME1737 and compatibles" tristate "SMSC DME1737, SCH311x and compatibles"
depends on I2C && EXPERIMENTAL depends on I2C && EXPERIMENTAL
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 (and compatibles
like the Asus A8000) Super-I/O chip. like the Asus A8000) and SCH311x 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.
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment