Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[sfrench/cifs-2.6.git] / Documentation / hwmon / jc42
1 Kernel driver jc42
2 ==================
3
4 Supported chips:
5   * Analog Devices ADT7408
6     Datasheets:
7         http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
8   * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A
9     Datasheets:
10         http://www.atmel.com/Images/doc8585.pdf
11         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
14   * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
15         TS3001GB2
16     Datasheets:
17         Available from IDT web site
18   * Maxim MAX6604
19     Datasheets:
20         http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
21   * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843
22     Datasheets:
23         http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
24         http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
25         http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf
26         http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
27         http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
28         http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf
29   * NXP Semiconductors SE97, SE97B, SE98, SE98A
30     Datasheets:
31         http://www.nxp.com/documents/data_sheet/SE97.pdf
32         http://www.nxp.com/documents/data_sheet/SE97B.pdf
33         http://www.nxp.com/documents/data_sheet/SE98.pdf
34         http://www.nxp.com/documents/data_sheet/SE98A.pdf
35   * ON Semiconductor CAT34TS02, CAT6095
36     Datasheet:
37         http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
38         http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
39   * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000
40     Datasheets:
41         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
46   * JEDEC JC 42.4 compliant temperature sensor chips
47     Datasheet:
48         http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
49
50   Common for all chips:
51     Prefix: 'jc42'
52     Addresses scanned: I2C 0x18 - 0x1f
53
54 Author:
55         Guenter Roeck <linux@roeck-us.net>
56
57
58 Description
59 -----------
60
61 This driver implements support for JEDEC JC 42.4 compliant temperature sensors,
62 which are used on many DDR3 memory modules for mobile devices and servers. Some
63 systems use the sensor to prevent memory overheating by automatically throttling
64 the memory controller.
65
66 The driver auto-detects the chips listed above, but can be manually instantiated
67 to support other JC 42.4 compliant chips.
68
69 Example: the following will load the driver for a generic JC 42.4 compliant
70 temperature 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
75 A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
76 and critical temperature can be configured. There are alarms for high, low,
77 and critical thresholds.
78
79 There is also an hysteresis to control the thresholds for resetting alarms.
80 Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5,
81 3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those
82 limits. The chip supports only a single register to configure the hysteresis,
83 which applies to all limits. This register can be written by writing into
84 temp1_crit_hyst. Other hysteresis attributes are read-only.
85
86 If the BIOS has configured the sensor for automatic temperature management, it
87 is likely that it has locked the registers, i.e., that the temperature limits
88 cannot be changed.
89
90 Sysfs entries
91 -------------
92
93 temp1_input             Temperature (RO)
94 temp1_min               Minimum temperature (RO or RW)
95 temp1_max               Maximum temperature (RO or RW)
96 temp1_crit              Critical high temperature (RO or RW)
97
98 temp1_crit_hyst         Critical hysteresis temperature (RO or RW)
99 temp1_max_hyst          Maximum hysteresis temperature (RO)
100
101 temp1_min_alarm         Temperature low alarm
102 temp1_max_alarm         Temperature high alarm
103 temp1_crit_alarm        Temperature critical alarm