Merge branch 'for-linus' into for-linus-3.12
[firefly-linux-kernel-4.4.55.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
9     Datasheets:
10         http://www.atmel.com/Images/doc8585.pdf
11   * IDT TSE2002B3, TSE2002GB2, TS3000B3, TS3000GB2
12     Datasheets:
13         http://www.idt.com/sites/default/files/documents/IDT_TSE2002B3C_DST_20100512_120303152056.pdf
14         http://www.idt.com/sites/default/files/documents/IDT_TSE2002GB2A1_DST_20111107_120303145914.pdf
15         http://www.idt.com/sites/default/files/documents/IDT_TS3000B3A_DST_20101129_120303152013.pdf
16         http://www.idt.com/sites/default/files/documents/IDT_TS3000GB2A1_DST_20111104_120303151012.pdf
17   * Maxim MAX6604
18     Datasheets:
19         http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
20   * Microchip MCP9804, MCP9805, MCP98242, MCP98243, MCP98244, MCP9843
21     Datasheets:
22         http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
23         http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
24         http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
25         http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
26         http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf
27   * NXP Semiconductors SE97, SE97B, SE98, SE98A
28     Datasheets:
29         http://www.nxp.com/documents/data_sheet/SE97.pdf
30         http://www.nxp.com/documents/data_sheet/SE97B.pdf
31         http://www.nxp.com/documents/data_sheet/SE98.pdf
32         http://www.nxp.com/documents/data_sheet/SE98A.pdf
33   * ON Semiconductor CAT34TS02, CAT6095
34     Datasheet:
35         http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
36         http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
37   * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS3000
38     Datasheets:
39         http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00157556.pdf
40         http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00157558.pdf
41         http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00225278.pdf
42         http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATA_BRIEF/CD00270920.pdf
43   * JEDEC JC 42.4 compliant temperature sensor chips
44     Datasheet:
45         http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
46
47   Common for all chips:
48     Prefix: 'jc42'
49     Addresses scanned: I2C 0x18 - 0x1f
50
51 Author:
52         Guenter Roeck <linux@roeck-us.net>
53
54
55 Description
56 -----------
57
58 This driver implements support for JEDEC JC 42.4 compliant temperature sensors,
59 which are used on many DDR3 memory modules for mobile devices and servers. Some
60 systems use the sensor to prevent memory overheating by automatically throttling
61 the memory controller.
62
63 The driver auto-detects the chips listed above, but can be manually instantiated
64 to support other JC 42.4 compliant chips.
65
66 Example: the following will load the driver for a generic JC 42.4 compliant
67 temperature sensor at address 0x18 on I2C bus #1:
68
69 # modprobe jc42
70 # echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
71
72 A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
73 and critical temperature can be configured. There are alarms for high, low,
74 and critical thresholds.
75
76 There is also an hysteresis to control the thresholds for resetting alarms.
77 Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5,
78 3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those
79 limits. The chip supports only a single register to configure the hysteresis,
80 which applies to all limits. This register can be written by writing into
81 temp1_crit_hyst. Other hysteresis attributes are read-only.
82
83 If the BIOS has configured the sensor for automatic temperature management, it
84 is likely that it has locked the registers, i.e., that the temperature limits
85 cannot be changed.
86
87 Sysfs entries
88 -------------
89
90 temp1_input             Temperature (RO)
91 temp1_min               Minimum temperature (RO or RW)
92 temp1_max               Maximum temperature (RO or RW)
93 temp1_crit              Critical high temperature (RO or RW)
94
95 temp1_crit_hyst         Critical hysteresis temperature (RO or RW)
96 temp1_max_hyst          Maximum hysteresis temperature (RO)
97
98 temp1_min_alarm         Temperature low alarm
99 temp1_max_alarm         Temperature high alarm
100 temp1_crit_alarm        Temperature critical alarm