summaryrefslogtreecommitdiffstats
path: root/Documentation/hwmon/emc1403.rst
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-05-07 04:56:51 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2019-05-07 04:56:51 +0200
commit7aefd944f038c7469571adb37769cb6f3924ecfa (patch)
treef0a8dc23633b6bbbc4f0bff932f332e847fb6c1b /Documentation/hwmon/emc1403.rst
parentMerge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kerne... (diff)
parenthwmon: (lm75) Add support for TMP75B (diff)
downloadlinux-7aefd944f038c7469571adb37769cb6f3924ecfa.tar.xz
linux-7aefd944f038c7469571adb37769cb6f3924ecfa.zip
Merge tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck: - Add driver for Intersil ISL68137 PWM Controller - Add driver for Lochnagar 2 - Add driver for Infineon IR38064 Voltage Regulator - Add support for TMP75B to lm75 driver - Convert documentation to ReST format - Use request_muxed_region for Super-IO accesses in several drivers - Add 'samples' attribute to ABI, and start using it - Add support for custom sysfs attributes to pmbus drivers (used in ISL68137 driver) - Introduce HWMON_CHANNEL_INFO macro - Automated changes: - Use permission specific [SENSOR_][DEVICE_]ATTR variants - Fix build warnings due to unused of_device_id structures - Use HWMON_CHANNEL_INFO macro - Various minor improvements and fixes * tag 'hwmon-for-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (125 commits) hwmon: (lm75) Add support for TMP75B dt-bindings: hwmon: Add tmp75b to lm75.txt hwmon: (s3c) Use dev_get_drvdata() hwmon: (max6650) Drop call to thermal_cdev_update docs: hwmon: remove the extension from .rst files docs: hwmon: convert three docs to ReST format hwmon: (max6650) add thermal cooling device capability hwmon: (ina3221) Add voltage conversion time settings hwmon: (ina3221) Do not read-back to cache reg_config docs: hwmon: Add an index file and rename docs to *.rst docs: hwmon: convert remaining files to ReST format docs: hwmon: misc files: convert to ReST format docs: hwmon: pmbus files: convert to ReST format docs: hwmon: k8temp, w83793: convert to ReST format docs: hwmon: da9052, da9055: convert to ReST format docs: hwmon: wm831x, wm8350: convert to ReST format docs: hwmon: dme1737, vt1211: convert to ReST format docs: hwmon: ads1015: convert to ReST format docs: hwmon: asc7621: convert to ReST format docs: hwmon: ibmpowernv: convert to ReST format ...
Diffstat (limited to 'Documentation/hwmon/emc1403.rst')
-rw-r--r--Documentation/hwmon/emc1403.rst80
1 files changed, 80 insertions, 0 deletions
diff --git a/Documentation/hwmon/emc1403.rst b/Documentation/hwmon/emc1403.rst
new file mode 100644
index 000000000000..3a4913b63ef3
--- /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
+ - http://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:
+
+ - http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
+
+ * SMSC / Microchip EMC1423, EMC1424
+
+ Addresses scanned: I2C 0x4c
+
+ Prefix: 'emc1423', 'emc1424'
+
+ Datasheet:
+
+ - http://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.