Skip to content

Commit

Permalink
hwmon: Add driver for SMSC EMC2103 temperature monitor and fan contro…
Browse files Browse the repository at this point in the history
…ller

SMSC's EMC2103 family of temperature/fan controllers have 1
onboard and up to 3 external temperature sensors, and allow
closed-loop control of one fan.  This patch adds support for
them.

Signed-off-by: Steve Glendinning <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
  • Loading branch information
Steve Glendinning authored and Jean Delvare committed Aug 14, 2010
1 parent 5a9c2cd commit 9df7305
Show file tree
Hide file tree
Showing 5 changed files with 791 additions and 0 deletions.
33 changes: 33 additions & 0 deletions Documentation/hwmon/emc2103
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Kernel driver emc2103
======================

Supported chips:
* SMSC EMC2103
Addresses scanned: I2C 0x2e
Prefix: 'emc2103'
Datasheet: Not public

Authors:
Steve Glendinning <[email protected]>

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

The Standard Microsystems Corporation (SMSC) EMC2103 chips
contain up to 4 temperature sensors and a single fan controller.

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 or 8) to give
the readings more range or accuracy. Not all RPM values can accurately be
represented, so some rounding is done. With a divider of 1, the lowest
representable value is 480 RPM.

This driver supports RPM based control, to use this a fan target
should be written to fan1_target and pwm1_enable should be set to 3.

The 2103-2 and 2103-4 variants have a third temperature sensor, which can
be connected to two anti-parallel diodes. These values can be read
as temp3 and temp4. If only one diode is attached to this channel, temp4
will show as "fault". The module parameter "apd=0" can be used to suppress
this 4th channel when anti-parallel diodes are not fitted.
7 changes: 7 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -5279,6 +5279,13 @@ S: Maintained
F: Documentation/hwmon/smm665
F: drivers/hwmon/smm665.c

SMSC EMC2103 HARDWARE MONITOR DRIVER
M: Steve Glendinning <[email protected]>
L: [email protected]
S: Supported
F: Documentation/hwmon/emc2103
F: drivers/hwmon/emc2103.c

SMSC47B397 HARDWARE MONITOR DRIVER
M: "Mark M. Hoffman" <[email protected]>
L: [email protected]
Expand Down
10 changes: 10 additions & 0 deletions drivers/hwmon/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -804,6 +804,16 @@ config SENSORS_EMC1403
Threshold values can be configured using sysfs.
Data from the different diodes are accessible via sysfs.

config SENSORS_EMC2103
tristate "SMSC EMC2103"
depends on I2C
help
If you say yes here you get support for the temperature
and fan sensors of the SMSC EMC2103 chips.

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

config SENSORS_SMSC47M1
tristate "SMSC LPC47M10x and compatibles"
help
Expand Down
1 change: 1 addition & 0 deletions drivers/hwmon/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ obj-$(CONFIG_SENSORS_PKGTEMP) += pkgtemp.o
obj-$(CONFIG_SENSORS_DME1737) += dme1737.o
obj-$(CONFIG_SENSORS_DS1621) += ds1621.o
obj-$(CONFIG_SENSORS_EMC1403) += emc1403.o
obj-$(CONFIG_SENSORS_EMC2103) += emc2103.o
obj-$(CONFIG_SENSORS_F71805F) += f71805f.o
obj-$(CONFIG_SENSORS_F71882FG) += f71882fg.o
obj-$(CONFIG_SENSORS_F75375S) += f75375s.o
Expand Down
Loading

0 comments on commit 9df7305

Please sign in to comment.