blob: b4b671f22453e6132fc376f8f9fa81996b07707c [file] [log] [blame]
Guenter Roeck4453d732010-08-09 17:21:08 -07001Kernel driver jc42
2==================
3
4Supported chips:
5 * Analog Devices ADT7408
Guenter Roeck4453d732010-08-09 17:21:08 -07006 Datasheets:
7 http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
Guenter Roeck175c4902014-04-15 22:07:30 -07008 * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A
Guenter Roeck4453d732010-08-09 17:21:08 -07009 Datasheets:
Guenter Roeck1bd612a2012-03-05 11:13:52 -080010 http://www.atmel.com/Images/doc8585.pdf
Guenter Roeck175c4902014-04-15 22:07:30 -070011 http://www.atmel.com/Images/doc8711.pdf
12 http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf
13 http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf
Guenter Roeck0ea2f1d2015-02-01 17:20:38 -080014 * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
15 TS3001GB2
Guenter Roeck1bd612a2012-03-05 11:13:52 -080016 Datasheets:
Guenter Roeck0ea2f1d2015-02-01 17:20:38 -080017 Available from IDT web site
Guenter Roeck4453d732010-08-09 17:21:08 -070018 * Maxim MAX6604
Guenter Roeck4453d732010-08-09 17:21:08 -070019 Datasheets:
20 http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
Alison Schofielda31887d2016-06-27 17:23:27 -070021 * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843
Guenter Roeck4453d732010-08-09 17:21:08 -070022 Datasheets:
Guenter Roeck1bd612a2012-03-05 11:13:52 -080023 http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
Guenter Roeck4453d732010-08-09 17:21:08 -070024 http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
Alison Schofielda31887d2016-06-27 17:23:27 -070025 http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf
Guenter Roeck4453d732010-08-09 17:21:08 -070026 http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
27 http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
Guenter Roeckd4768282013-01-28 20:35:19 -080028 http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf
Guenter Roeck86dda172012-03-08 08:20:24 -080029 * NXP Semiconductors SE97, SE97B, SE98, SE98A
Guenter Roeck4453d732010-08-09 17:21:08 -070030 Datasheets:
31 http://www.nxp.com/documents/data_sheet/SE97.pdf
32 http://www.nxp.com/documents/data_sheet/SE97B.pdf
Guenter Roeck4453d732010-08-09 17:21:08 -070033 http://www.nxp.com/documents/data_sheet/SE98.pdf
Guenter Roeck86dda172012-03-08 08:20:24 -080034 http://www.nxp.com/documents/data_sheet/SE98A.pdf
Guenter Roeck4453d732010-08-09 17:21:08 -070035 * ON Semiconductor CAT34TS02, CAT6095
Guenter Roeck4453d732010-08-09 17:21:08 -070036 Datasheet:
37 http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
38 http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
Guenter Roeck175c4902014-04-15 22:07:30 -070039 * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000
Guenter Roeck4453d732010-08-09 17:21:08 -070040 Datasheets:
Guenter Roeck175c4902014-04-15 22:07:30 -070041 http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf
42 http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf
43 http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf
44 http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf
45 http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf
Guenter Roeck4453d732010-08-09 17:21:08 -070046 * JEDEC JC 42.4 compliant temperature sensor chips
Clemens Ladischd5622f52011-02-16 08:02:08 -050047 Datasheet:
48 http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
Guenter Roeck4453d732010-08-09 17:21:08 -070049
Guenter Roeck86dda172012-03-08 08:20:24 -080050 Common for all chips:
51 Prefix: 'jc42'
52 Addresses scanned: I2C 0x18 - 0x1f
53
Guenter Roeck4453d732010-08-09 17:21:08 -070054Author:
Guenter Roecke3333e52013-02-20 20:58:42 -080055 Guenter Roeck <linux@roeck-us.net>
Guenter Roeck4453d732010-08-09 17:21:08 -070056
57
58Description
59-----------
60
Clemens Ladischd5622f52011-02-16 08:02:08 -050061This driver implements support for JEDEC JC 42.4 compliant temperature sensors,
62which are used on many DDR3 memory modules for mobile devices and servers. Some
63systems use the sensor to prevent memory overheating by automatically throttling
64the memory controller.
65
Guenter Roeck4453d732010-08-09 17:21:08 -070066The driver auto-detects the chips listed above, but can be manually instantiated
67to support other JC 42.4 compliant chips.
68
69Example: the following will load the driver for a generic JC 42.4 compliant
70temperature sensor at address 0x18 on I2C bus #1:
71
72# modprobe jc42
73# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
74
75A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
76and critical temperature can be configured. There are alarms for high, low,
77and critical thresholds.
78
79There is also an hysteresis to control the thresholds for resetting alarms.
80Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5,
813.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those
82limits. The chip supports only a single register to configure the hysteresis,
83which applies to all limits. This register can be written by writing into
84temp1_crit_hyst. Other hysteresis attributes are read-only.
85
Clemens Ladisch2c6315d2011-02-16 08:02:38 -050086If the BIOS has configured the sensor for automatic temperature management, it
87is likely that it has locked the registers, i.e., that the temperature limits
88cannot be changed.
89
Guenter Roeck4453d732010-08-09 17:21:08 -070090Sysfs entries
91-------------
92
93temp1_input Temperature (RO)
Clemens Ladisch2c6315d2011-02-16 08:02:38 -050094temp1_min Minimum temperature (RO or RW)
95temp1_max Maximum temperature (RO or RW)
96temp1_crit Critical high temperature (RO or RW)
Guenter Roeck4453d732010-08-09 17:21:08 -070097
Clemens Ladisch2c6315d2011-02-16 08:02:38 -050098temp1_crit_hyst Critical hysteresis temperature (RO or RW)
Guenter Roeck4453d732010-08-09 17:21:08 -070099temp1_max_hyst Maximum hysteresis temperature (RO)
100
101temp1_min_alarm Temperature low alarm
102temp1_max_alarm Temperature high alarm
103temp1_crit_alarm Temperature critical alarm