Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1bd612a2 authored by Guenter Roeck's avatar Guenter Roeck Committed by Guenter Roeck
Browse files

hwmon: (jc42) Add support for AT30TS00, TS3000GB2, TSE2002GB2, and MCP9804



Also update IDT datasheet locations.

Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Cc: stable@vger.kernel.org # 3.0+
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
parent 7ad6307a
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -7,21 +7,29 @@ Supported chips:
    Addresses scanned: I2C 0x18 - 0x1f
    Datasheets:
	http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
  * IDT TSE2002B3, TS3000B3
    Prefix: 'tse2002b3', 'ts3000b3'
  * Atmel AT30TS00
    Prefix: 'at30ts00'
    Addresses scanned: I2C 0x18 - 0x1f
    Datasheets:
	http://www.idt.com/products/getdoc.cfm?docid=18715691
	http://www.idt.com/products/getdoc.cfm?docid=18715692
	http://www.atmel.com/Images/doc8585.pdf
  * IDT TSE2002B3, TSE2002GB2, TS3000B3, TS3000GB2
    Prefix: 'tse2002', 'ts3000'
    Addresses scanned: I2C 0x18 - 0x1f
    Datasheets:
	http://www.idt.com/sites/default/files/documents/IDT_TSE2002B3C_DST_20100512_120303152056.pdf
	http://www.idt.com/sites/default/files/documents/IDT_TSE2002GB2A1_DST_20111107_120303145914.pdf
	http://www.idt.com/sites/default/files/documents/IDT_TS3000B3A_DST_20101129_120303152013.pdf
	http://www.idt.com/sites/default/files/documents/IDT_TS3000GB2A1_DST_20111104_120303151012.pdf
  * Maxim MAX6604
    Prefix: 'max6604'
    Addresses scanned: I2C 0x18 - 0x1f
    Datasheets:
	http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
  * Microchip MCP9805, MCP98242, MCP98243, MCP9843
    Prefixes: 'mcp9805', 'mcp98242', 'mcp98243', 'mcp9843'
  * Microchip MCP9804, MCP9805, MCP98242, MCP98243, MCP9843
    Prefixes: 'mcp9804', 'mcp9805', 'mcp98242', 'mcp98243', 'mcp9843'
    Addresses scanned: I2C 0x18 - 0x1f
    Datasheets:
	http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
	http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
+3 −3
Original line number Diff line number Diff line
@@ -497,9 +497,9 @@ config SENSORS_JC42
	  If you say yes here, you get support for JEDEC JC42.4 compliant
	  temperature sensors, which are used on many DDR3 memory modules for
	  mobile devices and servers.  Support will include, but not be limited
	  to, ADT7408, CAT34TS02, CAT6095, MAX6604, MCP9805, MCP98242, MCP98243,
	  MCP9843, SE97, SE98, STTS424(E), STTS2002, STTS3000, TSE2002B3, and
	  TS3000B3.
	  to, ADT7408, AT30TS00, CAT34TS02, CAT6095, MAX6604, MCP9804, MCP9805,
	  MCP98242, MCP98243, MCP9843, SE97, SE98, STTS424(E), STTS2002,
	  STTS3000, TSE2002B3, TSE2002GB2, TS3000B3, and TS3000GB2.

	  This driver can also be built as a module.  If so, the module
	  will be called jc42.
+18 −2
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ static const unsigned short normal_i2c[] = {

/* Manufacturer IDs */
#define ADT_MANID		0x11d4  /* Analog Devices */
#define ATMEL_MANID		0x001f  /* Atmel */
#define MAX_MANID		0x004d  /* Maxim */
#define IDT_MANID		0x00b3  /* IDT */
#define MCP_MANID		0x0054  /* Microchip */
@@ -77,15 +78,25 @@ static const unsigned short normal_i2c[] = {
#define ADT7408_DEVID		0x0801
#define ADT7408_DEVID_MASK	0xffff

/* Atmel */
#define AT30TS00_DEVID		0x8201
#define AT30TS00_DEVID_MASK	0xffff

/* IDT */
#define TS3000B3_DEVID		0x2903  /* Also matches TSE2002B3 */
#define TS3000B3_DEVID_MASK	0xffff

#define TS3000GB2_DEVID		0x2912  /* Also matches TSE2002GB2 */
#define TS3000GB2_DEVID_MASK	0xffff

/* Maxim */
#define MAX6604_DEVID		0x3e00
#define MAX6604_DEVID_MASK	0xffff

/* Microchip */
#define MCP9804_DEVID		0x0200
#define MCP9804_DEVID_MASK	0xfffc

#define MCP98242_DEVID		0x2000
#define MCP98242_DEVID_MASK	0xfffc

@@ -129,8 +140,11 @@ struct jc42_chips {

static struct jc42_chips jc42_chips[] = {
	{ ADT_MANID, ADT7408_DEVID, ADT7408_DEVID_MASK },
	{ ATMEL_MANID, AT30TS00_DEVID, AT30TS00_DEVID_MASK },
	{ IDT_MANID, TS3000B3_DEVID, TS3000B3_DEVID_MASK },
	{ IDT_MANID, TS3000GB2_DEVID, TS3000GB2_DEVID_MASK },
	{ MAX_MANID, MAX6604_DEVID, MAX6604_DEVID_MASK },
	{ MCP_MANID, MCP9804_DEVID, MCP9804_DEVID_MASK },
	{ MCP_MANID, MCP98242_DEVID, MCP98242_DEVID_MASK },
	{ MCP_MANID, MCP98243_DEVID, MCP98243_DEVID_MASK },
	{ MCP_MANID, MCP9843_DEVID, MCP9843_DEVID_MASK },
@@ -167,10 +181,12 @@ static struct jc42_data *jc42_update_device(struct device *dev);

static const struct i2c_device_id jc42_id[] = {
	{ "adt7408", 0 },
	{ "at30ts00", 0 },
	{ "cat94ts02", 0 },
	{ "cat6095", 0 },
	{ "jc42", 0 },
	{ "max6604", 0 },
	{ "mcp9804", 0 },
	{ "mcp9805", 0 },
	{ "mcp98242", 0 },
	{ "mcp98243", 0 },
@@ -181,8 +197,8 @@ static const struct i2c_device_id jc42_id[] = {
	{ "stts424", 0 },
	{ "stts2002", 0 },
	{ "stts3000", 0 },
	{ "tse2002b3", 0 },
	{ "ts3000b3", 0 },
	{ "tse2002", 0 },
	{ "ts3000", 0 },
	{ }
};
MODULE_DEVICE_TABLE(i2c, jc42_id);