summaryrefslogtreecommitdiff
path: root/sys/dev/i2c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2008-11-13 17:57:20 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2008-11-13 17:57:20 +0000
commit17359e5bb2a489b4b56a5175f05ace7530e5aabb (patch)
treea2e30e5eb2f9a51101754aeda5372a1e5f765209 /sys/dev/i2c
parent3baca67d3284059df26e2e50ae3a7b964b322a35 (diff)
add support for ST's chip since documentation is now available at
http://www.st.com/stonline/products/literature/ds/13448/stts424e02.pdf as discovered by Gert-Jan Vons.
Diffstat (limited to 'sys/dev/i2c')
-rw-r--r--sys/dev/i2c/i2c_scan.c6
-rw-r--r--sys/dev/i2c/sdtemp.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/i2c/i2c_scan.c b/sys/dev/i2c/i2c_scan.c
index e3367fa6215..01cd5885f72 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.127 2008/11/03 00:17:47 cnst Exp $ */
+/* $OpenBSD: i2c_scan.c,v 1.128 2008/11/13 17:57:15 deraadt Exp $ */
/*
* Copyright (c) 2005 Theo de Raadt <deraadt@openbsd.org>
@@ -875,6 +875,10 @@ iic_probe_sensor(struct device *self, u_int8_t addr)
(iicprobew(0x07) & 0xfff0) == 0x0800 &&
iicprobew(0x00) == 0x001d) {
name = "adt7408";
+ } else if ((addr & 0x18) == 0x18 && iicprobew(0x06) == 0x104a &&
+ (iicprobew(0x07) & 0xfffe) == 0x0000 &&
+ (iicprobew(0x00) == 0x002d || iicprobew(0x00) == 0x002e)) {
+ name = "stts424e02";
} else if (name == NULL &&
(addr & 0x78) == 0x48) { /* addr 0b1001xxx */
name = lm75probe();
diff --git a/sys/dev/i2c/sdtemp.c b/sys/dev/i2c/sdtemp.c
index ea83ec46dc5..442f77c81bd 100644
--- a/sys/dev/i2c/sdtemp.c
+++ b/sys/dev/i2c/sdtemp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sdtemp.c,v 1.5 2008/04/17 19:01:48 deraadt Exp $ */
+/* $OpenBSD: sdtemp.c,v 1.6 2008/11/13 17:57:15 deraadt Exp $ */
/*
* Copyright (c) 2008 Theo de Raadt
@@ -61,7 +61,8 @@ sdtemp_match(struct device *parent, void *match, void *aux)
strcmp(ia->ia_name, "se98") == 0 ||
strcmp(ia->ia_name, "mcp9805") == 0 ||
strcmp(ia->ia_name, "mcp98242") == 0 ||
- strcmp(ia->ia_name, "adt7408") == 0)
+ strcmp(ia->ia_name, "adt7408") == 0 ||
+ strcmp(ia->ia_name, "stts424e02") == 0)
return (1);
return (0);
}