xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/smsc47m1.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel driver smsc47m1
2*4882a593Smuzhiyun======================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported chips:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun  * SMSC LPC47B27x, LPC47M112, LPC47M10x, LPC47M13x, LPC47M14x,
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun    LPC47M15x and LPC47M192
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun    Addresses scanned: none, address read from Super I/O config space
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun    Prefix: 'smsc47m1'
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun    Datasheets:
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun	http://www.smsc.com/media/Downloads_Public/Data_Sheets/47b272.pdf
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m10x.pdf
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m112.pdf
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	http://www.smsc.com/
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun  * SMSC LPC47M292
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun    Addresses scanned: none, address read from Super I/O config space
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun    Prefix: 'smsc47m2'
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun    Datasheet: Not public
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun  * SMSC LPC47M997
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun    Addresses scanned: none, address read from Super I/O config space
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun    Prefix: 'smsc47m1'
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun    Datasheet: none
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunAuthors:
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun     - Mark D. Studebaker <mdsxyz123@yahoo.com>,
45*4882a593Smuzhiyun     - With assistance from Bruce Allen <ballen@uwm.edu>, and his
46*4882a593Smuzhiyun       fan.c program:
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun       - http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun     - Gabriele Gorla <gorlik@yahoo.com>,
51*4882a593Smuzhiyun     - Jean Delvare <jdelvare@suse.de>
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunDescription
54*4882a593Smuzhiyun-----------
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunThe Standard Microsystems Corporation (SMSC) 47M1xx Super I/O chips
57*4882a593Smuzhiyuncontain monitoring and PWM control circuitry for two fans.
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunThe LPC47M15x, LPC47M192 and LPC47M292 chips contain a full 'hardware
60*4882a593Smuzhiyunmonitoring block' in addition to the fan monitoring and control. The
61*4882a593Smuzhiyunhardware monitoring block is not supported by this driver, use the
62*4882a593Smuzhiyunsmsc47m192 driver for that.
63*4882a593Smuzhiyun
64*4882a593SmuzhiyunNo documentation is available for the 47M997, but it has the same device
65*4882a593SmuzhiyunID as the 47M15x and 47M192 chips and seems to be compatible.
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunFan rotation speeds are reported in RPM (rotations per minute). An alarm is
68*4882a593Smuzhiyuntriggered if the rotation speed has dropped below a programmable limit. Fan
69*4882a593Smuzhiyunreadings can be divided by a programmable divider (1, 2, 4 or 8) to give
70*4882a593Smuzhiyunthe readings more range or accuracy. Not all RPM values can accurately be
71*4882a593Smuzhiyunrepresented, so some rounding is done. With a divider of 2, the lowest
72*4882a593Smuzhiyunrepresentable value is around 2600 RPM.
73*4882a593Smuzhiyun
74*4882a593SmuzhiyunPWM values are from 0 to 255.
75*4882a593Smuzhiyun
76*4882a593SmuzhiyunIf an alarm triggers, it will remain triggered until the hardware register
77*4882a593Smuzhiyunis read at least once. This means that the cause for the alarm may
78*4882a593Smuzhiyunalready have disappeared! Note that in the current implementation, all
79*4882a593Smuzhiyunhardware registers are read whenever any data is read (unless it is less
80*4882a593Smuzhiyunthan 1.5 seconds since the last update). This means that you can easily
81*4882a593Smuzhiyunmiss once-only alarms.
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun------------------------------------------------------------------
84*4882a593Smuzhiyun
85*4882a593SmuzhiyunThe lm_sensors project gratefully acknowledges the support of
86*4882a593SmuzhiyunIntel in the development of this driver.
87