|
@@ -21,7 +21,7 @@
|
|
|
|
|
|
/*
|
|
|
* Driver for the Texas Instruments TMP421 SMBus temperature sensor IC.
|
|
|
- * Supported models: TMP421, TMP422, TMP423
|
|
|
+ * Supported models: TMP421, TMP422, TMP423, TMP441, TMP442
|
|
|
*/
|
|
|
|
|
|
#include <linux/module.h>
|
|
@@ -39,7 +39,7 @@
|
|
|
static const unsigned short normal_i2c[] = { 0x2a, 0x4c, 0x4d, 0x4e, 0x4f,
|
|
|
I2C_CLIENT_END };
|
|
|
|
|
|
-enum chips { tmp421, tmp422, tmp423 };
|
|
|
+enum chips { tmp421, tmp422, tmp423, tmp441, tmp442 };
|
|
|
|
|
|
/* The TMP421 registers */
|
|
|
#define TMP421_STATUS_REG 0x08
|
|
@@ -60,11 +60,15 @@ static const u8 TMP421_TEMP_LSB[4] = { 0x10, 0x11, 0x12, 0x13 };
|
|
|
#define TMP421_DEVICE_ID 0x21
|
|
|
#define TMP422_DEVICE_ID 0x22
|
|
|
#define TMP423_DEVICE_ID 0x23
|
|
|
+#define TMP441_DEVICE_ID 0x41
|
|
|
+#define TMP442_DEVICE_ID 0x42
|
|
|
|
|
|
static const struct i2c_device_id tmp421_id[] = {
|
|
|
{ "tmp421", 2 },
|
|
|
{ "tmp422", 3 },
|
|
|
{ "tmp423", 4 },
|
|
|
+ { "tmp441", 2 },
|
|
|
+ { "tmp442", 3 },
|
|
|
{ }
|
|
|
};
|
|
|
MODULE_DEVICE_TABLE(i2c, tmp421_id);
|
|
@@ -235,7 +239,8 @@ static int tmp421_detect(struct i2c_client *client,
|
|
|
{
|
|
|
enum chips kind;
|
|
|
struct i2c_adapter *adapter = client->adapter;
|
|
|
- const char *names[] = { "TMP421", "TMP422", "TMP423" };
|
|
|
+ const char * const names[] = { "TMP421", "TMP422", "TMP423",
|
|
|
+ "TMP441", "TMP442" };
|
|
|
int addr = client->addr;
|
|
|
u8 reg;
|
|
|
|
|
@@ -269,6 +274,14 @@ static int tmp421_detect(struct i2c_client *client,
|
|
|
return -ENODEV;
|
|
|
kind = tmp423;
|
|
|
break;
|
|
|
+ case TMP441_DEVICE_ID:
|
|
|
+ kind = tmp441;
|
|
|
+ break;
|
|
|
+ case TMP442_DEVICE_ID:
|
|
|
+ if (addr != 0x4c && addr != 0x4d)
|
|
|
+ return -ENODEV;
|
|
|
+ kind = tmp442;
|
|
|
+ break;
|
|
|
default:
|
|
|
return -ENODEV;
|
|
|
}
|
|
@@ -319,5 +332,5 @@ static struct i2c_driver tmp421_driver = {
|
|
|
module_i2c_driver(tmp421_driver);
|
|
|
|
|
|
MODULE_AUTHOR("Andre Prendel <andre.prendel@gmx.de>");
|
|
|
-MODULE_DESCRIPTION("Texas Instruments TMP421/422/423 temperature sensor driver");
|
|
|
+MODULE_DESCRIPTION("Texas Instruments TMP421/422/423/441/442 temperature sensor driver");
|
|
|
MODULE_LICENSE("GPL");
|