2010-08-10 08:21:08 +08:00
|
|
|
Kernel driver jc42
|
|
|
|
==================
|
|
|
|
|
|
|
|
Supported chips:
|
|
|
|
* Analog Devices ADT7408
|
|
|
|
Prefix: 'adt7408'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheets:
|
|
|
|
http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
|
|
|
|
* IDT TSE2002B3, TS3000B3
|
|
|
|
Prefix: 'tse2002b3', 'ts3000b3'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheets:
|
|
|
|
http://www.idt.com/products/getdoc.cfm?docid=18715691
|
|
|
|
http://www.idt.com/products/getdoc.cfm?docid=18715692
|
|
|
|
* Maxim MAX6604
|
|
|
|
Prefix: 'max6604'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheets:
|
|
|
|
http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
|
|
|
|
* Microchip MCP9805, MCP98242, MCP98243, MCP9843
|
|
|
|
Prefixes: 'mcp9805', 'mcp98242', 'mcp98243', 'mcp9843'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheets:
|
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
|
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
|
|
|
|
http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
|
|
|
|
* NXP Semiconductors SE97, SE97B
|
|
|
|
Prefix: 'se97'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheets:
|
|
|
|
http://www.nxp.com/documents/data_sheet/SE97.pdf
|
|
|
|
http://www.nxp.com/documents/data_sheet/SE97B.pdf
|
|
|
|
* NXP Semiconductors SE98
|
|
|
|
Prefix: 'se98'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheets:
|
|
|
|
http://www.nxp.com/documents/data_sheet/SE98.pdf
|
|
|
|
* ON Semiconductor CAT34TS02, CAT6095
|
|
|
|
Prefix: 'cat34ts02', 'cat6095'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheet:
|
|
|
|
http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
|
|
|
|
http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
|
|
|
|
* ST Microelectronics STTS424, STTS424E02
|
|
|
|
Prefix: 'stts424'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
|
|
|
Datasheets:
|
|
|
|
http://www.st.com/stonline/products/literature/ds/13447/stts424.pdf
|
|
|
|
http://www.st.com/stonline/products/literature/ds/13448/stts424e02.pdf
|
|
|
|
* JEDEC JC 42.4 compliant temperature sensor chips
|
|
|
|
Prefix: 'jc42'
|
|
|
|
Addresses scanned: I2C 0x18 - 0x1f
|
2011-02-16 21:02:08 +08:00
|
|
|
Datasheet:
|
|
|
|
http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
|
2010-08-10 08:21:08 +08:00
|
|
|
|
|
|
|
Author:
|
|
|
|
Guenter Roeck <guenter.roeck@ericsson.com>
|
|
|
|
|
|
|
|
|
|
|
|
Description
|
|
|
|
-----------
|
|
|
|
|
2011-02-16 21:02:08 +08:00
|
|
|
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.
|
|
|
|
|
2010-08-10 08:21:08 +08:00
|
|
|
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.
|
|
|
|
|
2011-02-16 21:02:38 +08:00
|
|
|
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.
|
|
|
|
|
2010-08-10 08:21:08 +08:00
|
|
|
Sysfs entries
|
|
|
|
-------------
|
|
|
|
|
|
|
|
temp1_input Temperature (RO)
|
2011-02-16 21:02:38 +08:00
|
|
|
temp1_min Minimum temperature (RO or RW)
|
|
|
|
temp1_max Maximum temperature (RO or RW)
|
|
|
|
temp1_crit Critical high temperature (RO or RW)
|
2010-08-10 08:21:08 +08:00
|
|
|
|
2011-02-16 21:02:38 +08:00
|
|
|
temp1_crit_hyst Critical hysteresis temperature (RO or RW)
|
2010-08-10 08:21:08 +08:00
|
|
|
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
|