Merge tag 'selinux-pr-20190917' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / Documentation / hwmon / emc1403.rst
CommitLineData
57d60b1b
GR
1Kernel driver emc1403
2=====================
3
4Supported chips:
b04f2f7d 5
57d60b1b 6 * SMSC / Microchip EMC1402, EMC1412
b04f2f7d 7
57d60b1b 8 Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
b04f2f7d 9
57d60b1b 10 Prefix: 'emc1402'
b04f2f7d 11
57d60b1b 12 Datasheets:
b04f2f7d
MCC
13
14 - http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
15 - http://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
16
57d60b1b 17 * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
b04f2f7d 18
57d60b1b 19 Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
b04f2f7d 20
57d60b1b 21 Prefix: 'emc1403', 'emc1404'
b04f2f7d 22
57d60b1b 23 Datasheets:
b04f2f7d
MCC
24
25 - http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
26 - http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
27
57d60b1b 28 * SMSC / Microchip EMC1422
b04f2f7d 29
57d60b1b 30 Addresses scanned: I2C 0x4c
b04f2f7d 31
57d60b1b 32 Prefix: 'emc1422'
b04f2f7d 33
57d60b1b 34 Datasheet:
b04f2f7d
MCC
35
36 - http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
37
57d60b1b 38 * SMSC / Microchip EMC1423, EMC1424
b04f2f7d 39
57d60b1b 40 Addresses scanned: I2C 0x4c
b04f2f7d 41
57d60b1b 42 Prefix: 'emc1423', 'emc1424'
b04f2f7d 43
57d60b1b 44 Datasheet:
b04f2f7d
MCC
45
46 - http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
57d60b1b
GR
47
48Author:
49 Kalhan Trisal <kalhan.trisal@intel.com
50
51
52Description
53-----------
54
55The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips
56contain up to four temperature sensors. EMC14x2 support two sensors
57(one internal, one external). EMC14x3 support three sensors (one internal,
58two external), and EMC14x4 support four sensors (one internal, three
59external).
60
61The chips implement three limits for each sensor: low (tempX_min), high
62(tempX_max) and critical (tempX_crit.) The chips also implement an
63hysteresis mechanism which applies to all limits. The relative difference
64is stored in a single register on the chip, which means that the relative
65difference between the limit and its hysteresis is always the same for
66all three limits.
67
68This implementation detail implies the following:
b04f2f7d 69
57d60b1b
GR
70* When setting a limit, its hysteresis will automatically follow, the
71 difference staying unchanged. For example, if the old critical limit
72 was 80 degrees C, and the hysteresis was 75 degrees C, and you change
73 the critical limit to 90 degrees C, then the hysteresis will
74 automatically change to 85 degrees C.
84899d39
GR
75* The hysteresis values can't be set independently. We decided to make
76 only temp1_crit_hyst writable, while all other hysteresis attributes
77 are read-only. Setting temp1_crit_hyst writes the difference between
78 temp1_crit_hyst and temp1_crit into the chip, and the same relative
79 hysteresis applies automatically to all other limits.
57d60b1b 80* The limits should be set before the hysteresis.