Skip to content

Commit 9df7305

Browse files
Steve GlendinningJean Delvare
authored andcommitted
hwmon: Add driver for SMSC EMC2103 temperature monitor and fan controller
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 <steve.glendinning@smsc.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
1 parent 5a9c2cd commit 9df7305

File tree

5 files changed

+791
-0
lines changed

5 files changed

+791
-0
lines changed

Documentation/hwmon/emc2103

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Kernel driver emc2103
2+
======================
3+
4+
Supported chips:
5+
* SMSC EMC2103
6+
Addresses scanned: I2C 0x2e
7+
Prefix: 'emc2103'
8+
Datasheet: Not public
9+
10+
Authors:
11+
Steve Glendinning <steve.glendinning@smsc.com>
12+
13+
Description
14+
-----------
15+
16+
The Standard Microsystems Corporation (SMSC) EMC2103 chips
17+
contain up to 4 temperature sensors and a single fan controller.
18+
19+
Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
20+
triggered if the rotation speed has dropped below a programmable limit. Fan
21+
readings can be divided by a programmable divider (1, 2, 4 or 8) to give
22+
the readings more range or accuracy. Not all RPM values can accurately be
23+
represented, so some rounding is done. With a divider of 1, the lowest
24+
representable value is 480 RPM.
25+
26+
This driver supports RPM based control, to use this a fan target
27+
should be written to fan1_target and pwm1_enable should be set to 3.
28+
29+
The 2103-2 and 2103-4 variants have a third temperature sensor, which can
30+
be connected to two anti-parallel diodes. These values can be read
31+
as temp3 and temp4. If only one diode is attached to this channel, temp4
32+
will show as "fault". The module parameter "apd=0" can be used to suppress
33+
this 4th channel when anti-parallel diodes are not fitted.

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5279,6 +5279,13 @@ S: Maintained
52795279
F: Documentation/hwmon/smm665
52805280
F: drivers/hwmon/smm665.c
52815281

5282+
SMSC EMC2103 HARDWARE MONITOR DRIVER
5283+
M: Steve Glendinning <steve.glendinning@smsc.com>
5284+
L: lm-sensors@lm-sensors.org
5285+
S: Supported
5286+
F: Documentation/hwmon/emc2103
5287+
F: drivers/hwmon/emc2103.c
5288+
52825289
SMSC47B397 HARDWARE MONITOR DRIVER
52835290
M: "Mark M. Hoffman" <mhoffman@lightlink.com>
52845291
L: lm-sensors@lm-sensors.org

drivers/hwmon/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,16 @@ config SENSORS_EMC1403
804804
Threshold values can be configured using sysfs.
805805
Data from the different diodes are accessible via sysfs.
806806

807+
config SENSORS_EMC2103
808+
tristate "SMSC EMC2103"
809+
depends on I2C
810+
help
811+
If you say yes here you get support for the temperature
812+
and fan sensors of the SMSC EMC2103 chips.
813+
814+
This driver can also be built as a module. If so, the module
815+
will be called emc2103.
816+
807817
config SENSORS_SMSC47M1
808818
tristate "SMSC LPC47M10x and compatibles"
809819
help

drivers/hwmon/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ obj-$(CONFIG_SENSORS_PKGTEMP) += pkgtemp.o
4343
obj-$(CONFIG_SENSORS_DME1737) += dme1737.o
4444
obj-$(CONFIG_SENSORS_DS1621) += ds1621.o
4545
obj-$(CONFIG_SENSORS_EMC1403) += emc1403.o
46+
obj-$(CONFIG_SENSORS_EMC2103) += emc2103.o
4647
obj-$(CONFIG_SENSORS_F71805F) += f71805f.o
4748
obj-$(CONFIG_SENSORS_F71882FG) += f71882fg.o
4849
obj-$(CONFIG_SENSORS_F75375S) += f75375s.o

0 commit comments

Comments
 (0)