aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2012-03-05 14:13:52 -0500
committerGuenter Roeck <guenter.roeck@ericsson.com>2012-03-07 12:48:44 -0500
commit1bd612a25855f4cc9345052b53d7da697dba6358 (patch)
tree2c07d14831eb14a3848079b29401b1461b91c475 /drivers
parent7ad6307ad6968ce25cecf209d4822d4c722be030 (diff)
hwmon: (jc42) Add support for AT30TS00, TS3000GB2, TSE2002GB2, and MCP9804
Also update IDT datasheet locations. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: stable@vger.kernel.org # 3.0+ Acked-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/Kconfig6
-rw-r--r--drivers/hwmon/jc42.c20
2 files changed, 21 insertions, 5 deletions
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 91a51aff5363..dad895fec62a 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -497,9 +497,9 @@ config SENSORS_JC42
497 If you say yes here, you get support for JEDEC JC42.4 compliant 497 If you say yes here, you get support for JEDEC JC42.4 compliant
498 temperature sensors, which are used on many DDR3 memory modules for 498 temperature sensors, which are used on many DDR3 memory modules for
499 mobile devices and servers. Support will include, but not be limited 499 mobile devices and servers. Support will include, but not be limited
500 to, ADT7408, CAT34TS02, CAT6095, MAX6604, MCP9805, MCP98242, MCP98243, 500 to, ADT7408, AT30TS00, CAT34TS02, CAT6095, MAX6604, MCP9804, MCP9805,
501 MCP9843, SE97, SE98, STTS424(E), STTS2002, STTS3000, TSE2002B3, and 501 MCP98242, MCP98243, MCP9843, SE97, SE98, STTS424(E), STTS2002,
502 TS3000B3. 502 STTS3000, TSE2002B3, TSE2002GB2, TS3000B3, and TS3000GB2.
503 503
504 This driver can also be built as a module. If so, the module 504 This driver can also be built as a module. If so, the module
505 will be called jc42. 505 will be called jc42.
diff --git a/drivers/hwmon/jc42.c b/drivers/hwmon/jc42.c
index 08430ecb306a..b927ee5ccdd7 100644
--- a/drivers/hwmon/jc42.c
+++ b/drivers/hwmon/jc42.c
@@ -64,6 +64,7 @@ static const unsigned short normal_i2c[] = {
64 64
65/* Manufacturer IDs */ 65/* Manufacturer IDs */
66#define ADT_MANID 0x11d4 /* Analog Devices */ 66#define ADT_MANID 0x11d4 /* Analog Devices */
67#define ATMEL_MANID 0x001f /* Atmel */
67#define MAX_MANID 0x004d /* Maxim */ 68#define MAX_MANID 0x004d /* Maxim */
68#define IDT_MANID 0x00b3 /* IDT */ 69#define IDT_MANID 0x00b3 /* IDT */
69#define MCP_MANID 0x0054 /* Microchip */ 70#define MCP_MANID 0x0054 /* Microchip */
@@ -77,15 +78,25 @@ static const unsigned short normal_i2c[] = {
77#define ADT7408_DEVID 0x0801 78#define ADT7408_DEVID 0x0801
78#define ADT7408_DEVID_MASK 0xffff 79#define ADT7408_DEVID_MASK 0xffff
79 80
81/* Atmel */
82#define AT30TS00_DEVID 0x8201
83#define AT30TS00_DEVID_MASK 0xffff
84
80/* IDT */ 85/* IDT */
81#define TS3000B3_DEVID 0x2903 /* Also matches TSE2002B3 */ 86#define TS3000B3_DEVID 0x2903 /* Also matches TSE2002B3 */
82#define TS3000B3_DEVID_MASK 0xffff 87#define TS3000B3_DEVID_MASK 0xffff
83 88
89#define TS3000GB2_DEVID 0x2912 /* Also matches TSE2002GB2 */
90#define TS3000GB2_DEVID_MASK 0xffff
91
84/* Maxim */ 92/* Maxim */
85#define MAX6604_DEVID 0x3e00 93#define MAX6604_DEVID 0x3e00
86#define MAX6604_DEVID_MASK 0xffff 94#define MAX6604_DEVID_MASK 0xffff
87 95
88/* Microchip */ 96/* Microchip */
97#define MCP9804_DEVID 0x0200
98#define MCP9804_DEVID_MASK 0xfffc
99
89#define MCP98242_DEVID 0x2000 100#define MCP98242_DEVID 0x2000
90#define MCP98242_DEVID_MASK 0xfffc 101#define MCP98242_DEVID_MASK 0xfffc
91 102
@@ -129,8 +140,11 @@ struct jc42_chips {
129 140
130static struct jc42_chips jc42_chips[] = { 141static struct jc42_chips jc42_chips[] = {
131 { ADT_MANID, ADT7408_DEVID, ADT7408_DEVID_MASK }, 142 { ADT_MANID, ADT7408_DEVID, ADT7408_DEVID_MASK },
143 { ATMEL_MANID, AT30TS00_DEVID, AT30TS00_DEVID_MASK },
132 { IDT_MANID, TS3000B3_DEVID, TS3000B3_DEVID_MASK }, 144 { IDT_MANID, TS3000B3_DEVID, TS3000B3_DEVID_MASK },
145 { IDT_MANID, TS3000GB2_DEVID, TS3000GB2_DEVID_MASK },
133 { MAX_MANID, MAX6604_DEVID, MAX6604_DEVID_MASK }, 146 { MAX_MANID, MAX6604_DEVID, MAX6604_DEVID_MASK },
147 { MCP_MANID, MCP9804_DEVID, MCP9804_DEVID_MASK },
134 { MCP_MANID, MCP98242_DEVID, MCP98242_DEVID_MASK }, 148 { MCP_MANID, MCP98242_DEVID, MCP98242_DEVID_MASK },
135 { MCP_MANID, MCP98243_DEVID, MCP98243_DEVID_MASK }, 149 { MCP_MANID, MCP98243_DEVID, MCP98243_DEVID_MASK },
136 { MCP_MANID, MCP9843_DEVID, MCP9843_DEVID_MASK }, 150 { MCP_MANID, MCP9843_DEVID, MCP9843_DEVID_MASK },
@@ -167,10 +181,12 @@ static struct jc42_data *jc42_update_device(struct device *dev);
167 181
168static const struct i2c_device_id jc42_id[] = { 182static const struct i2c_device_id jc42_id[] = {
169 { "adt7408", 0 }, 183 { "adt7408", 0 },
184 { "at30ts00", 0 },
170 { "cat94ts02", 0 }, 185 { "cat94ts02", 0 },
171 { "cat6095", 0 }, 186 { "cat6095", 0 },
172 { "jc42", 0 }, 187 { "jc42", 0 },
173 { "max6604", 0 }, 188 { "max6604", 0 },
189 { "mcp9804", 0 },
174 { "mcp9805", 0 }, 190 { "mcp9805", 0 },
175 { "mcp98242", 0 }, 191 { "mcp98242", 0 },
176 { "mcp98243", 0 }, 192 { "mcp98243", 0 },
@@ -181,8 +197,8 @@ static const struct i2c_device_id jc42_id[] = {
181 { "stts424", 0 }, 197 { "stts424", 0 },
182 { "stts2002", 0 }, 198 { "stts2002", 0 },
183 { "stts3000", 0 }, 199 { "stts3000", 0 },
184 { "tse2002b3", 0 }, 200 { "tse2002", 0 },
185 { "ts3000b3", 0 }, 201 { "ts3000", 0 },
186 { } 202 { }
187}; 203};
188MODULE_DEVICE_TABLE(i2c, jc42_id); 204MODULE_DEVICE_TABLE(i2c, jc42_id);