emc1403 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Kernel driver emc1403
  2. =====================
  3. Supported chips:
  4. * SMSC / Microchip EMC1402, EMC1412
  5. Addresses scanned: I2C 0x18, 0x1c, 0x29, 0x4c, 0x4d, 0x5c
  6. Prefix: 'emc1402'
  7. Datasheets:
  8. http://ww1.microchip.com/downloads/en/DeviceDoc/1412.pdf
  9. http://ww1.microchip.com/downloads/en/DeviceDoc/1402.pdf
  10. * SMSC / Microchip EMC1403, EMC1404, EMC1413, EMC1414
  11. Addresses scanned: I2C 0x18, 0x29, 0x4c, 0x4d
  12. Prefix: 'emc1403', 'emc1404'
  13. Datasheets:
  14. http://ww1.microchip.com/downloads/en/DeviceDoc/1403_1404.pdf
  15. http://ww1.microchip.com/downloads/en/DeviceDoc/1413_1414.pdf
  16. * SMSC / Microchip EMC1422
  17. Addresses scanned: I2C 0x4c
  18. Prefix: 'emc1422'
  19. Datasheet:
  20. http://ww1.microchip.com/downloads/en/DeviceDoc/1422.pdf
  21. * SMSC / Microchip EMC1423, EMC1424
  22. Addresses scanned: I2C 0x4c
  23. Prefix: 'emc1423', 'emc1424'
  24. Datasheet:
  25. http://ww1.microchip.com/downloads/en/DeviceDoc/1423_1424.pdf
  26. Author:
  27. Kalhan Trisal <kalhan.trisal@intel.com
  28. Description
  29. -----------
  30. The Standard Microsystems Corporation (SMSC) / Microchip EMC14xx chips
  31. contain up to four temperature sensors. EMC14x2 support two sensors
  32. (one internal, one external). EMC14x3 support three sensors (one internal,
  33. two external), and EMC14x4 support four sensors (one internal, three
  34. external).
  35. The chips implement three limits for each sensor: low (tempX_min), high
  36. (tempX_max) and critical (tempX_crit.) The chips also implement an
  37. hysteresis mechanism which applies to all limits. The relative difference
  38. is stored in a single register on the chip, which means that the relative
  39. difference between the limit and its hysteresis is always the same for
  40. all three limits.
  41. This implementation detail implies the following:
  42. * When setting a limit, its hysteresis will automatically follow, the
  43. difference staying unchanged. For example, if the old critical limit
  44. was 80 degrees C, and the hysteresis was 75 degrees C, and you change
  45. the critical limit to 90 degrees C, then the hysteresis will
  46. automatically change to 85 degrees C.
  47. * The hysteresis values can't be set independently. We decided to make
  48. only temp1_crit_hyst writable, while all other hysteresis attributes
  49. are read-only. Setting temp1_crit_hyst writes the difference between
  50. temp1_crit_hyst and temp1_crit into the chip, and the same relative
  51. hysteresis applies automatically to all other limits.
  52. * The limits should be set before the hysteresis.