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