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

Commit 9df7305b authored by Steve Glendinning's avatar Steve Glendinning Committed by Jean Delvare
Browse files

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: default avatarSteve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent 5a9c2cd8
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
Kernel driver emc2103
======================

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

Authors:
        Steve Glendinning <steve.glendinning@smsc.com>

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 −0
Original line number Diff line number Diff line
@@ -5279,6 +5279,13 @@ S: Maintained
F:	Documentation/hwmon/smm665
F:	drivers/hwmon/smm665.c

SMSC EMC2103 HARDWARE MONITOR DRIVER
M:	Steve Glendinning <steve.glendinning@smsc.com>
L:	lm-sensors@lm-sensors.org
S:	Supported
F:	Documentation/hwmon/emc2103
F:	drivers/hwmon/emc2103.c

SMSC47B397 HARDWARE MONITOR DRIVER
M:	"Mark M. Hoffman" <mhoffman@lightlink.com>
L:	lm-sensors@lm-sensors.org
+10 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+740 −0

File added.

Preview size limit exceeded, changes collapsed.