treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / hwmon / jc42.rst
blob5b14b49bb6f72a21e80cc13b66d976973558f812
1 Kernel driver jc42
2 ==================
4 Supported chips:
6   * Analog Devices ADT7408
8     Datasheets:
10         http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
12   * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A
14     Datasheets:
16         http://www.atmel.com/Images/doc8585.pdf
18         http://www.atmel.com/Images/doc8711.pdf
20         http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf
22         http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf
24   * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
26         TS3001GB2
28     Datasheets:
30         Available from IDT web site
32   * Maxim MAX6604
34     Datasheets:
36         http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
38   * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843
40     Datasheets:
42         http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
44         http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
46         http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf
48         http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
50         http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
52         http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf
54   * NXP Semiconductors SE97, SE97B, SE98, SE98A
56     Datasheets:
58         http://www.nxp.com/documents/data_sheet/SE97.pdf
60         http://www.nxp.com/documents/data_sheet/SE97B.pdf
62         http://www.nxp.com/documents/data_sheet/SE98.pdf
64         http://www.nxp.com/documents/data_sheet/SE98A.pdf
66   * ON Semiconductor CAT34TS02, CAT6095
68     Datasheet:
70         http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
72         http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
74   * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000
76     Datasheets:
78         http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf
80         http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf
82         http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf
84         http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf
86         http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf
88   * JEDEC JC 42.4 compliant temperature sensor chips
90     Datasheet:
92         http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
95   Common for all chips:
97     Prefix: 'jc42'
99     Addresses scanned: I2C 0x18 - 0x1f
101 Author:
102         Guenter Roeck <linux@roeck-us.net>
105 Description
106 -----------
108 This driver implements support for JEDEC JC 42.4 compliant temperature sensors,
109 which are used on many DDR3 memory modules for mobile devices and servers. Some
110 systems use the sensor to prevent memory overheating by automatically throttling
111 the memory controller.
113 The driver auto-detects the chips listed above, but can be manually instantiated
114 to support other JC 42.4 compliant chips.
116 Example: the following will load the driver for a generic JC 42.4 compliant
117 temperature sensor at address 0x18 on I2C bus #1::
119         # modprobe jc42
120         # echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
122 A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
123 and critical temperature can be configured. There are alarms for high, low,
124 and critical thresholds.
126 There is also an hysteresis to control the thresholds for resetting alarms.
127 Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5,
128 3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those
129 limits. The chip supports only a single register to configure the hysteresis,
130 which applies to all limits. This register can be written by writing into
131 temp1_crit_hyst. Other hysteresis attributes are read-only.
133 If the BIOS has configured the sensor for automatic temperature management, it
134 is likely that it has locked the registers, i.e., that the temperature limits
135 cannot be changed.
137 Sysfs entries
138 -------------
140 ======================= ===========================================
141 temp1_input             Temperature (RO)
142 temp1_min               Minimum temperature (RO or RW)
143 temp1_max               Maximum temperature (RO or RW)
144 temp1_crit              Critical high temperature (RO or RW)
146 temp1_crit_hyst         Critical hysteresis temperature (RO or RW)
147 temp1_max_hyst          Maximum hysteresis temperature (RO)
149 temp1_min_alarm         Temperature low alarm
150 temp1_max_alarm         Temperature high alarm
151 temp1_crit_alarm        Temperature critical alarm
152 ======================= ===========================================