summaryrefslogtreecommitdiff
path: root/sys/dev/i2c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2008-04-09 22:04:12 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2008-04-09 22:04:12 +0000
commit9045140f56ba1415e520cf46548d0c85bc8e166a (patch)
tree380c6d63791ff2a3a042c4e7ac5506e9c62e6fa1 /sys/dev/i2c
parent090e518be1b71a6c08072fba27d02891ba2296bc (diff)
Recognize and support the Microchip MCP9805 JC-42.2 sensor (we hope; I am
simply going through datasheets found on the net...)
Diffstat (limited to 'sys/dev/i2c')
-rw-r--r--sys/dev/i2c/i2c_scan.c6
-rw-r--r--sys/dev/i2c/sdtemp.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/i2c/i2c_scan.c b/sys/dev/i2c/i2c_scan.c
index c424056d373..a8bd752dd5e 100644
--- a/sys/dev/i2c/i2c_scan.c
+++ b/sys/dev/i2c/i2c_scan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: i2c_scan.c,v 1.119 2008/04/09 21:56:40 deraadt Exp $ */
+/* $OpenBSD: i2c_scan.c,v 1.120 2008/04/09 22:04:10 deraadt Exp $ */
/*
* Copyright (c) 2005 Theo de Raadt <deraadt@openbsd.org>
@@ -855,6 +855,10 @@ iic_probe_sensor(struct device *self, u_int8_t addr)
iicprobew(0x07) == 0xa200 &&
(iicprobew(0x00) & 0xfff0) == 0x0010) {
name = "se97";
+ } else if ((addr & 0x18) == 0x18 && iicprobew(0x06) == 0x0054 &&
+ iicprobew(0x07) == 0x0000 &&
+ (iicprobew(0x00) & 0xffe0) == 0x0000) {
+ name = "mcp9805";
} else if ((addr & 0x18) == 0x18 && iicprobew(0x06) == 0x11d4 &&
(iicprobew(0x07) & 0xfff0) == 0x0800 &&
iicprobew(0x00) == 0x001d) {
diff --git a/sys/dev/i2c/sdtemp.c b/sys/dev/i2c/sdtemp.c
index 4b0a998d996..d092ad7805e 100644
--- a/sys/dev/i2c/sdtemp.c
+++ b/sys/dev/i2c/sdtemp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sdtemp.c,v 1.2 2008/04/09 21:56:40 deraadt Exp $ */
+/* $OpenBSD: sdtemp.c,v 1.3 2008/04/09 22:04:10 deraadt Exp $ */
/*
* Copyright (c) 2008 Theo de Raadt
@@ -59,6 +59,7 @@ sdtemp_match(struct device *parent, void *match, void *aux)
if (strcmp(ia->ia_name, "se97") == 0 ||
strcmp(ia->ia_name, "se98") == 0 ||
+ strcmp(ia->ia_name, "mcp9805") == 0 ||
strcmp(ia->ia_name, "adt7408") == 0)
return (1);
return (0);