Kernel driver jc42
==================

Supported chips:
  * Analog Devices ADT7408
    Datasheets:
	http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
  * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A
    Datasheets:
	http://www.atmel.com/Images/doc8585.pdf
	http://www.atmel.com/Images/doc8711.pdf
	http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf
	http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf
  * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
	TS3001GB2
    Datasheets:
	Available from IDT web site
  * Maxim MAX6604
    Datasheets:
	http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
  * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843
    Datasheets:
	http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf
  * NXP Semiconductors SE97, SE97B, SE98, SE98A
    Datasheets:
	http://www.nxp.com/documents/data_sheet/SE97.pdf
	http://www.nxp.com/documents/data_sheet/SE97B.pdf
	http://www.nxp.com/documents/data_sheet/SE98.pdf
	http://www.nxp.com/documents/data_sheet/SE98A.pdf
  * ON Semiconductor CAT34TS02, CAT6095
    Datasheet:
	http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
	http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
  * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000
    Datasheets:
	http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf
	http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf
	http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf
	http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf
	http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf
  * JEDEC JC 42.4 compliant temperature sensor chips
    Datasheet:
	http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf

  Common for all chips:
    Prefix: 'jc42'
    Addresses scanned: I2C 0x18 - 0x1f

Author:
	Guenter Roeck <linux@roeck-us.net>


Description
-----------

This driver implements support for JEDEC JC 42.4 compliant temperature sensors,
which are used on many DDR3 memory modules for mobile devices and servers. Some
systems use the sensor to prevent memory overheating by automatically throttling
the memory controller.

The driver auto-detects the chips listed above, but can be manually instantiated
to support other JC 42.4 compliant chips.

Example: the following will load the driver for a generic JC 42.4 compliant
temperature sensor at address 0x18 on I2C bus #1:

# modprobe jc42
# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device

A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
and critical temperature can be configured. There are alarms for high, low,
and critical thresholds.

There is also an hysteresis to control the thresholds for resetting alarms.
Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5,
3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those
limits. The chip supports only a single register to configure the hysteresis,
which applies to all limits. This register can be written by writing into
temp1_crit_hyst. Other hysteresis attributes are read-only.

If the BIOS has configured the sensor for automatic temperature management, it
is likely that it has locked the registers, i.e., that the temperature limits
cannot be changed.

Sysfs entries
-------------

temp1_input		Temperature (RO)
temp1_min		Minimum temperature (RO or RW)
temp1_max		Maximum temperature (RO or RW)
temp1_crit		Critical high temperature (RO or RW)

temp1_crit_hyst		Critical hysteresis temperature (RO or RW)
temp1_max_hyst		Maximum hysteresis temperature (RO)

temp1_min_alarm		Temperature low alarm
temp1_max_alarm		Temperature high alarm
temp1_crit_alarm	Temperature critical alarm
