forked from Minki/linux
0ea2f1db8e
TS3000GB0 has a new device ID (0x2913). Since IDT's datasheets suggest that the upper 8 bit of the device ID reflect the chip ID and the lower 8 bit reflect the version number, modify the code to accept all chips with ID 0x29xx. Also add support for TS3001 and TSE2004. Some of the datasheets for older chips are no longer available from the IDT web site, so replace explicit links in the documentation with a generic note. Reviewed-by: Jean Delvare <jdelvare@suse.de> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
103 lines
4.0 KiB
Plaintext
103 lines
4.0 KiB
Plaintext
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, 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/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
|