diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 10:05:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 10:05:51 +0000 |
commit | 5d1646d90e1f2cceb9f0828f4b28318cd0ec7744 (patch) | |
tree | a94efe259b9009378be6d90eb30d2b019d95c194 /Documentation/hwmon/emc1403.rst | |
parent | Initial commit. (diff) | |
download | linux-upstream.tar.xz linux-upstream.zip |
Adding upstream version 5.10.209.upstream/5.10.209upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'Documentation/hwmon/emc1403.rst')
-rw-r--r-- | Documentation/hwmon/emc1403.rst | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Documentation/hwmon/emc1403.rst b/Documentation/hwmon/emc1403.rst new file mode 100644 index 000000000..0de9616b2 --- /dev/null +++ b/Documentation/hwmon/emc1403.rst @@ -0,0 +1,80 @@ +Kernel driver emc1403 +===================== + +Supported chips: + + * SMSC / Microchip EMC1402, EMC1412 + + Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c + + Prefix: 'emc1402' + + Datasheets: + + - http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf + - https://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf + + * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414 + + Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d + + Prefix: 'emc1403', 'emc1404' + + Datasheets: + + - http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf + - http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf + + * SMSC / Microchip EMC1422 + + Addresses scanned: I2C 0x4c + + Prefix: 'emc1422' + + Datasheet: + + - https://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf + + * SMSC / Microchip EMC1423, EMC1424 + + Addresses scanned: I2C 0x4c + + Prefix: 'emc1423', 'emc1424' + + Datasheet: + + - https://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf + +Author: + Kalhan Trisal <kalhan.trisal@intel.com + + +Description +----------- + +The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips +contain up to four temperature sensors. EMC14x2 support two sensors +(one internal, one external). EMC14x3 support three sensors (one internal, +two external), and EMC14x4 support four sensors (one internal, three +external). + +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: + +* 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. +* 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. +* The limits should be set before the hysteresis. |