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