parisc: Implement __get/put_kernel_nofault()
[linux-2.6-microblaze.git] / Documentation / hwmon / jc42.rst
1 Kernel driver jc42
2 ==================
3
4 Supported chips:
5
6   * Analog Devices ADT7408
7
8     Datasheets:
9
10         https://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
11
12   * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A
13
14     Datasheets:
15
16         http://www.atmel.com/Images/doc8585.pdf
17
18         http://www.atmel.com/Images/doc8711.pdf
19
20         http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf
21
22         http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf
23
24   * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
25
26         TS3001GB2
27
28     Datasheets:
29
30         Available from IDT web site
31
32   * Maxim MAX6604
33
34     Datasheets:
35
36         http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
37
38   * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843
39
40     Datasheets:
41
42         https://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
43
44         https://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
45
46         https://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf
47
48         https://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
49
50         https://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
51
52         https://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf
53
54   * NXP Semiconductors SE97, SE97B, SE98, SE98A
55
56     Datasheets:
57
58         https://www.nxp.com/documents/data_sheet/SE97.pdf
59
60         https://www.nxp.com/documents/data_sheet/SE97B.pdf
61
62         https://www.nxp.com/documents/data_sheet/SE98.pdf
63
64         https://www.nxp.com/documents/data_sheet/SE98A.pdf
65
66   * ON Semiconductor CAT34TS02, CAT6095
67
68     Datasheet:
69
70         https://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
71
72         https://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
73
74   * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000
75
76     Datasheets:
77
78         http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf
79
80         http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf
81
82         http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf
83
84         http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf
85
86         http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf
87
88   * JEDEC JC 42.4 compliant temperature sensor chips
89
90     Datasheet:
91
92         http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
93
94
95   Common for all chips:
96
97     Prefix: 'jc42'
98
99     Addresses scanned: I2C 0x18 - 0x1f
100
101 Author:
102         Guenter Roeck <linux@roeck-us.net>
103
104
105 Description
106 -----------
107
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.
112
113 The driver auto-detects the chips listed above, but can be manually instantiated
114 to support other JC 42.4 compliant chips.
115
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::
118
119         # modprobe jc42
120         # echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
121
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.
125
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.
132
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.
136
137 Sysfs entries
138 -------------
139
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)
145
146 temp1_crit_hyst         Critical hysteresis temperature (RO or RW)
147 temp1_max_hyst          Maximum hysteresis temperature (RO)
148
149 temp1_min_alarm         Temperature low alarm
150 temp1_max_alarm         Temperature high alarm
151 temp1_crit_alarm        Temperature critical alarm
152 ======================= ===========================================