diff options
author | 2014-09-27 06:07:01 +0000 | |
---|---|---|
committer | 2014-09-27 06:07:01 +0000 | |
commit | 462cb67a7cc9784ba02adec740ba402dd7fbc623 (patch) | |
tree | ec922d0a42a7c2fea21a05eba64dc0a60c12dac1 | |
parent | Add missing .An macros (found with mandoc -Tlint) and (diff) | |
download | wireguard-openbsd-462cb67a7cc9784ba02adec740ba402dd7fbc623.tar.xz wireguard-openbsd-462cb67a7cc9784ba02adec740ba402dd7fbc623.zip |
add some more sdtemp devices
ok deraadt@
-rw-r--r-- | share/man/man4/sdtemp.4 | 37 | ||||
-rw-r--r-- | sys/dev/i2c/i2c_scan.c | 50 | ||||
-rw-r--r-- | sys/dev/i2c/sdtemp.c | 16 |
3 files changed, 94 insertions, 9 deletions
diff --git a/share/man/man4/sdtemp.4 b/share/man/man4/sdtemp.4 index eee9df5d9c1..b0e295abe4d 100644 --- a/share/man/man4/sdtemp.4 +++ b/share/man/man4/sdtemp.4 @@ -1,4 +1,4 @@ -.\" $OpenBSD: sdtemp.4,v 1.9 2011/10/07 06:29:45 deraadt Exp $ +.\" $OpenBSD: sdtemp.4,v 1.10 2014/09/27 06:07:01 jsg Exp $ .\" .\" Copyright (c) 2008 Theo de Raadt <deraadt@openbsd.org> .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: October 7 2011 $ +.Dd $Mdocdate: September 27 2014 $ .Dt SDTEMP 4 .Os .Sh NAME @@ -28,10 +28,35 @@ The driver retrieves temperature sensor information from memory modules which contain sensor chips defined in JEDEC JC-42.4. .Pp -Current sensor chips include the NXP SE97, NXP SE98, -Maxim 6604, Microchip MCP9805, Microchip MCP98242, -Microchip MCP98243, IDT TS3000B3, ADT ADT7408, ST STTS424, -ST STTS2002, ON CAT6095 and ON CAT34TS02. +Current sensor chips include: +.Pp +.Bl -tag -width Dv -offset indent -compact +.It ADT ADT7408 +.It Atmel AT30TS00 +.It Atmel AT30TSE002 +.It Atmel AT30TSE004 +.It Giantec GT30TS00 +.It Giantec GT34TS02 +.It IDT TSE2002B3 +.It IDT TSE2002GB2 +.It IDT TS3000B3 +.It IDT TS3000GB2 +.It IDT TS3001GB2 +.It Maxim 6604 +.It Microchip MCP9804 +.It Microchip MCP9805 +.It Microchip MCP98242 +.It Microchip MCP98243 +.It Microchip MCP98244 +.It NXP SE97 +.It NXP SE98 +.It ON CAT34TS02 +.It ON CAT6095 +.It ST STTS424 +.It ST STTS2002 +.It ST STTS2004 +.It ST STTS3000 +.El .Sh SEE ALSO .Xr iic 4 .Sh HISTORY diff --git a/sys/dev/i2c/i2c_scan.c b/sys/dev/i2c/i2c_scan.c index b13d0de8a67..a2e340c07c5 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.141 2014/09/26 15:24:56 jsg Exp $ */ +/* $OpenBSD: i2c_scan.c,v 1.142 2014/09/27 06:07:01 jsg Exp $ */ /* * Copyright (c) 2005 Theo de Raadt <deraadt@openbsd.org> @@ -886,6 +886,10 @@ iic_probe_sensor(struct device *self, u_int8_t addr) (iicprobew(0x00) & 0xffe0) == 0x0000) { name = "max6604"; } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x0054 && + (iicprobew(0x07) & 0xfffc) == 0x0200 && + (iicprobew(0x00) & 0xffe0) == 0x0000) { + name = "mcp9804"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x0054 && (iicprobew(0x07) & 0xff00) == 0x0000 && (iicprobew(0x00) & 0xffe0) == 0x0000) { name = "mcp9805"; /* or mcp9843 */ @@ -897,6 +901,10 @@ iic_probe_sensor(struct device *self, u_int8_t addr) (iicprobew(0x07) & 0xff00) == 0x2100 && (iicprobew(0x00) & 0xff00) == 0x0000) { name = "mcp98243"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x0054 && + (iicprobew(0x07) & 0xfffc) == 0x2200 && + (iicprobew(0x00) & 0xff00) == 0x0000) { + name = "mcp98244"; } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x11d4 && iicprobew(0x07) == 0x0800 && iicprobew(0x00) == 0x001d) { @@ -910,6 +918,14 @@ iic_probe_sensor(struct device *self, u_int8_t addr) (iicprobew(0x00) == 0x006f)) { name = "stts2002"; } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x104a && + (iicprobew(0x07) & 0xffff) == 0x2201 && + (iicprobew(0x00) == 0x00ef)) { + name = "stts2004"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x104a && + (iicprobew(0x07) & 0xffff) == 0x0200 && + (iicprobew(0x00) == 0x006f)) { + name = "stts3000"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x104a && (iicprobew(0x07) & 0xffff) == 0x0101 && (iicprobew(0x00) == 0x002d || iicprobew(0x00) == 0x002f)) { name = "stts424"; @@ -917,10 +933,42 @@ iic_probe_sensor(struct device *self, u_int8_t addr) (iicprobew(0x07) & 0xffe0) == 0x0800 && (iicprobew(0x00) & 0x001f) == 0x001f) { name = "cat34ts02"; /* or cat6095, prod 0x0813 */ + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x1b09 && + (iicprobew(0x07) & 0xffff) == 0x0a00 && + (iicprobew(0x00) & 0x001f) == 0x001f) { + name = "cat34ts02c"; } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x00b3 && (iicprobew(0x07) & 0xffff) == 0x2903 && (iicprobew(0x00) == 0x004f)) { name = "ts3000b3"; /* or tse2002b3 */ + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x00b3 && + (iicprobew(0x07) & 0xffff) == 0x2912 && + (iicprobew(0x00) == 0x006f)) { + name = "ts3000gb2"; /* or tse2002gb2 */ + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x00b3 && + (iicprobew(0x07) & 0xffff) == 0x2913 && + (iicprobew(0x00) == 0x0077)) { + name = "ts3000gb0"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x00b3 && + (iicprobew(0x07) & 0xffff) == 0x3001 && + (iicprobew(0x00) == 0x006f)) { + name = "ts3001gb2"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x001f && + (iicprobew(0x07) & 0xffff) == 0x8201 && + (iicprobew(0x00) & 0xff00) == 0x0000) { + name = "at30ts00"; /* or at30tse002 */ + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x1114 && + (iicprobew(0x07) & 0xffff) == 0x2200 && + (iicprobew(0x00) & 0xff00) == 0x0000) { + name = "at30tse004"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x1c68 && + (iicprobew(0x07) & 0xffff) == 0x2201 && + (iicprobew(0x00) & 0xff00) == 0x0000) { + name = "gt30ts00"; + } else if ((addr & 0x78) == 0x18 && iicprobew(0x06) == 0x132d && + (iicprobew(0x07) & 0xffff) == 0x3300 && + (iicprobew(0x00) & 0x001f) == 0x001f) { + name = "gt34ts02"; } else if ((addr & 0x7e) == 0x1c && iicprobe(0x0f) == 0x3b && (iicprobe(0x21) & 0x60) == 0x00 && iicprobe(0x0f) == iicprobe(0x8f) && /* registers address is 7 bits */ diff --git a/sys/dev/i2c/sdtemp.c b/sys/dev/i2c/sdtemp.c index 48b7bc5d25d..4d6c4ba7aa2 100644 --- a/sys/dev/i2c/sdtemp.c +++ b/sys/dev/i2c/sdtemp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sdtemp.c,v 1.13 2011/10/07 06:29:43 deraadt Exp $ */ +/* $OpenBSD: sdtemp.c,v 1.14 2014/09/27 06:07:01 jsg Exp $ */ /* * Copyright (c) 2008 Theo de Raadt @@ -59,15 +59,27 @@ 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, "max6604") == 0 || + strcmp(ia->ia_name, "mcp9804") == 0 || strcmp(ia->ia_name, "mcp9805") == 0 || strcmp(ia->ia_name, "mcp98242") == 0 || strcmp(ia->ia_name, "mcp98243") == 0 || + strcmp(ia->ia_name, "mcp98244") == 0 || strcmp(ia->ia_name, "adt7408") == 0 || strcmp(ia->ia_name, "stts424e02") == 0 || strcmp(ia->ia_name, "stts424") == 0 || strcmp(ia->ia_name, "stts2002") == 0 || + strcmp(ia->ia_name, "stts2004") == 0 || + strcmp(ia->ia_name, "stts3000") == 0 || strcmp(ia->ia_name, "ts3000b3") == 0 || - strcmp(ia->ia_name, "cat34ts02") == 0) + strcmp(ia->ia_name, "ts3000gb0") == 0 || + strcmp(ia->ia_name, "ts3000gb2") == 0 || + strcmp(ia->ia_name, "ts3001gb2") == 0 || + strcmp(ia->ia_name, "at30ts00") == 0 || + strcmp(ia->ia_name, "at30tse004") == 0 || + strcmp(ia->ia_name, "cat34ts02") == 0 || + strcmp(ia->ia_name, "cat34ts02c") == 0 || + strcmp(ia->ia_name, "gt30ts00") == 0 || + strcmp(ia->ia_name, "gt34ts02") == 0) return (1); return (0); } |