]>
Commit | Line | Data |
---|---|---|
57d60b1b GR |
1 | Kernel driver emc1403 |
2 | ===================== | |
3 | ||
4 | Supported 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 | |
ad736c1a | 15 | - https://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf |
b04f2f7d | 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 | 35 | |
ad736c1a | 36 | - https://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf |
b04f2f7d | 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 | 45 | |
ad736c1a | 46 | - https://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf |
57d60b1b GR |
47 | |
48 | Author: | |
49 | Kalhan Trisal <kalhan.trisal@intel.com | |
50 | ||
51 | ||
52 | Description | |
53 | ----------- | |
54 | ||
55 | The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips | |
56 | contain up to four temperature sensors. EMC14x2 support two sensors | |
57 | (one internal, one external). EMC14x3 support three sensors (one internal, | |
58 | two external), and EMC14x4 support four sensors (one internal, three | |
59 | external). | |
60 | ||
61 | The chips implement three limits for each sensor: low (tempX_min), high | |
62 | (tempX_max) and critical (tempX_crit.) The chips also implement an | |
63 | hysteresis mechanism which applies to all limits. The relative difference | |
64 | is stored in a single register on the chip, which means that the relative | |
65 | difference between the limit and its hysteresis is always the same for | |
66 | all three limits. | |
67 | ||
68 | This 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. |