1 Kernel driver emc1403 1 Kernel driver emc1403 2 ===================== 2 ===================== 3 3 4 Supported chips: 4 Supported chips: 5 5 6 * SMSC / Microchip EMC1402, EMC1412 6 * SMSC / Microchip EMC1402, EMC1412 7 7 8 Addresses scanned: I2C 0x18, 0x1c, 0x29, 0 8 Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c 9 9 10 Prefix: 'emc1402' 10 Prefix: 'emc1402' 11 11 12 Datasheets: 12 Datasheets: 13 13 14 - http://ww1.microchip.com/downloads/e 14 - http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf 15 - https://ww1.microchip.com/downloads/ 15 - https://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf 16 16 17 * SMSC / Microchip EMC1403, EMC1404, EMC1413 17 * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414 18 18 19 Addresses scanned: I2C 0x18, 0x29, 0x4c, 0 19 Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d 20 20 21 Prefix: 'emc1403', 'emc1404' 21 Prefix: 'emc1403', 'emc1404' 22 22 23 Datasheets: 23 Datasheets: 24 24 25 - http://ww1.microchip.com/downloads/e 25 - http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf 26 - http://ww1.microchip.com/downloads/e 26 - http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf 27 27 28 * SMSC / Microchip EMC1422 28 * SMSC / Microchip EMC1422 29 29 30 Addresses scanned: I2C 0x4c 30 Addresses scanned: I2C 0x4c 31 31 32 Prefix: 'emc1422' 32 Prefix: 'emc1422' 33 33 34 Datasheet: 34 Datasheet: 35 35 36 - https://ww1.microchip.com/downloads/ 36 - https://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf 37 37 38 * SMSC / Microchip EMC1423, EMC1424 38 * SMSC / Microchip EMC1423, EMC1424 39 39 40 Addresses scanned: I2C 0x4c 40 Addresses scanned: I2C 0x4c 41 41 42 Prefix: 'emc1423', 'emc1424' 42 Prefix: 'emc1423', 'emc1424' 43 43 44 Datasheet: 44 Datasheet: 45 45 46 - https://ww1.microchip.com/downloads/ 46 - https://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf 47 47 48 * SMSC / Microchip EMC1428, EMC1438 48 * SMSC / Microchip EMC1428, EMC1438 49 49 50 Addresses scanned: I2C 0x18, 0x4c, 0x4d 50 Addresses scanned: I2C 0x18, 0x4c, 0x4d 51 51 52 Prefix: 'emc1428', 'emc1438' 52 Prefix: 'emc1428', 'emc1438' 53 53 54 Datasheets: 54 Datasheets: 55 55 56 - https://ww1.microchip.com/downloads/ 56 - https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005275A.pdf 57 - https://ww1.microchip.com/downloads/ 57 - https://ww1.microchip.com/downloads/en/DeviceDoc/EMC1438%20DS%20Rev.%201.0%20(04-29-10).pdf 58 58 59 Author: 59 Author: 60 Kalhan Trisal <kalhan.trisal@intel.com 60 Kalhan Trisal <kalhan.trisal@intel.com 61 61 62 62 63 Description 63 Description 64 ----------- 64 ----------- 65 65 66 The Standard Microsystems Corporation (SMSC) / 66 The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips 67 contain up to eight temperature sensors. EMC14 67 contain up to eight temperature sensors. EMC14x2 support two sensors 68 (one internal, one external). EMC14x3 support 68 (one internal, one external). EMC14x3 support three sensors (one internal, 69 two external), EMC14x4 support four sensors (o 69 two external), EMC14x4 support four sensors (one internal, three external), 70 and EMC14x8 support eight sensors (one interna 70 and EMC14x8 support eight sensors (one internal, seven external). 71 71 72 The chips implement three limits for each sens 72 The chips implement three limits for each sensor: low (tempX_min), high 73 (tempX_max) and critical (tempX_crit.) The chi 73 (tempX_max) and critical (tempX_crit.) The chips also implement an 74 hysteresis mechanism which applies to all limi 74 hysteresis mechanism which applies to all limits. The relative difference 75 is stored in a single register on the chip, wh 75 is stored in a single register on the chip, which means that the relative 76 difference between the limit and its hysteresi 76 difference between the limit and its hysteresis is always the same for 77 all three limits. 77 all three limits. 78 78 79 This implementation detail implies the followi 79 This implementation detail implies the following: 80 80 81 * When setting a limit, its hysteresis will au 81 * When setting a limit, its hysteresis will automatically follow, the 82 difference staying unchanged. For example, i 82 difference staying unchanged. For example, if the old critical limit 83 was 80 degrees C, and the hysteresis was 75 83 was 80 degrees C, and the hysteresis was 75 degrees C, and you change 84 the critical limit to 90 degrees C, then the 84 the critical limit to 90 degrees C, then the hysteresis will 85 automatically change to 85 degrees C. 85 automatically change to 85 degrees C. 86 * The hysteresis values can't be set independe 86 * The hysteresis values can't be set independently. We decided to make 87 only temp1_crit_hyst writable, while all oth 87 only temp1_crit_hyst writable, while all other hysteresis attributes 88 are read-only. Setting temp1_crit_hyst write 88 are read-only. Setting temp1_crit_hyst writes the difference between 89 temp1_crit_hyst and temp1_crit into the chip 89 temp1_crit_hyst and temp1_crit into the chip, and the same relative 90 hysteresis applies automatically to all othe 90 hysteresis applies automatically to all other limits. 91 * The limits should be set before the hysteres 91 * The limits should be set before the hysteresis.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.