92 lines · plain
1Kernel driver emc14032=====================3 4Supported chips:5 6 * SMSC / Microchip EMC1402, EMC14127 8 Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c9 10 Prefix: 'emc1402'11 12 Datasheets:13 14 - http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf15 - https://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf16 17 * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC141418 19 Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d20 21 Prefix: 'emc1403', 'emc1404'22 23 Datasheets:24 25 - http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf26 - http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf27 28 * SMSC / Microchip EMC142229 30 Addresses scanned: I2C 0x4c31 32 Prefix: 'emc1422'33 34 Datasheet:35 36 - https://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf37 38 * SMSC / Microchip EMC1423, EMC142439 40 Addresses scanned: I2C 0x4c41 42 Prefix: 'emc1423', 'emc1424'43 44 Datasheet:45 46 - https://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf47 48 * SMSC / Microchip EMC1428, EMC143849 50 Addresses scanned: I2C 0x18, 0x4c, 0x4d51 52 Prefix: 'emc1428', 'emc1438'53 54 Datasheets:55 56 - https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005275A.pdf57 - https://ww1.microchip.com/downloads/en/DeviceDoc/EMC1438%20DS%20Rev.%201.0%20(04-29-10).pdf58 59Author:60 Kalhan Trisal <kalhan.trisal@intel.com61 62 63Description64-----------65 66The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips67contain up to eight temperature sensors. EMC14x2 support two sensors68(one internal, one external). EMC14x3 support three sensors (one internal,69two external), EMC14x4 support four sensors (one internal, three external),70and EMC14x8 support eight sensors (one internal, seven external).71 72The chips implement three limits for each sensor: low (tempX_min), high73(tempX_max) and critical (tempX_crit.) The chips also implement an74hysteresis mechanism which applies to all limits. The relative difference75is stored in a single register on the chip, which means that the relative76difference between the limit and its hysteresis is always the same for77all three limits.78 79This implementation detail implies the following:80 81* When setting a limit, its hysteresis will automatically follow, the82 difference staying unchanged. For example, if the old critical limit83 was 80 degrees C, and the hysteresis was 75 degrees C, and you change84 the critical limit to 90 degrees C, then the hysteresis will85 automatically change to 85 degrees C.86* The hysteresis values can't be set independently. We decided to make87 only temp1_crit_hyst writable, while all other hysteresis attributes88 are read-only. Setting temp1_crit_hyst writes the difference between89 temp1_crit_hyst and temp1_crit into the chip, and the same relative90 hysteresis applies automatically to all other limits.91* The limits should be set before the hysteresis.92