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