2014-05-12 21:11:32 +04:00
Kernel driver emc1403
=====================
Supported chips:
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
* SMSC / Microchip EMC1402, EMC1412
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Prefix: 'emc1402'
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Datasheets:
2019-04-17 12:46:28 +03:00
- http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
2020-07-19 20:55:12 +03:00
- https://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
* SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Prefix: 'emc1403', 'emc1404'
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Datasheets:
2019-04-17 12:46:28 +03:00
- http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
- http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
2014-05-12 21:11:32 +04:00
* SMSC / Microchip EMC1422
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Addresses scanned: I2C 0x4c
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Prefix: 'emc1422'
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Datasheet:
2019-04-17 12:46:28 +03:00
2020-07-19 20:55:12 +03:00
- https://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
* SMSC / Microchip EMC1423, EMC1424
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Addresses scanned: I2C 0x4c
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Prefix: 'emc1423', 'emc1424'
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
Datasheet:
2019-04-17 12:46:28 +03:00
2020-07-19 20:55:12 +03:00
- https://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
2014-05-12 21:11:32 +04:00
2024-05-10 17:28:24 +03:00
* SMSC / Microchip EMC1428, EMC1438
Addresses scanned: I2C 0x18, 0x4c, 0x4d
Prefix: 'emc1428', 'emc1438'
Datasheets:
- https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005275A.pdf
- https://ww1.microchip.com/downloads/en/DeviceDoc/EMC1438%20DS%20Rev.%201.0%20(04-29-10).pdf
2014-05-12 21:11:32 +04:00
Author:
Kalhan Trisal <kalhan.trisal@intel.com
Description
-----------
The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips
2024-05-10 17:28:24 +03:00
contain up to eight temperature sensors. EMC14x2 support two sensors
2014-05-12 21:11:32 +04:00
(one internal, one external). EMC14x3 support three sensors (one internal,
2024-05-10 17:28:24 +03:00
two external), EMC14x4 support four sensors (one internal, three external),
and EMC14x8 support eight sensors (one internal, seven external).
2014-05-12 21:11:32 +04:00
The chips implement three limits for each sensor: low (tempX_min), high
(tempX_max) and critical (tempX_crit.) The chips also implement an
hysteresis mechanism which applies to all limits. The relative difference
is stored in a single register on the chip, which means that the relative
difference between the limit and its hysteresis is always the same for
all three limits.
This implementation detail implies the following:
2019-04-17 12:46:28 +03:00
2014-05-12 21:11:32 +04:00
* When setting a limit, its hysteresis will automatically follow, the
difference staying unchanged. For example, if the old critical limit
was 80 degrees C, and the hysteresis was 75 degrees C, and you change
the critical limit to 90 degrees C, then the hysteresis will
automatically change to 85 degrees C.
2014-05-12 22:10:56 +04:00
* The hysteresis values can't be set independently. We decided to make
only temp1_crit_hyst writable, while all other hysteresis attributes
are read-only. Setting temp1_crit_hyst writes the difference between
temp1_crit_hyst and temp1_crit into the chip, and the same relative
hysteresis applies automatically to all other limits.
2014-05-12 21:11:32 +04:00
* The limits should be set before the hysteresis.