Thanks Uwe; patch for superiotool.h and winbond.c attached.
Found Winbond W83697SF/UF/UG (id=0x68, rev=0x01) at 0x2e
Register dump:
idx 20 21 22 23 24 25 26 28 29 2a 2b 2c
val 68 01 ef fe 10 00 00 00 00 ff 03 30
def 68 NA ef fe MM 00 00 00 00 00 00 30
LDN 0x00 (Floppy)
idx 30 60 61 70 74 f0 f1 f2 f4 f5
val 01 03 f0 06 02 0e 00 ff 00 00
def 01 03 f0 06 02 0e 00 ff 00 00
LDN 0x01 (Parallel port)
idx 30 60 61 70 74 f0
val 01 03 78 07 03 3b
def 01 03 78 07 03 3f
LDN 0x02 (COM1)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 01 03 f8 04 00
LDN 0x03 (COM2)
idx 30 60 61 70 f0 f1
val 01 02 f8 03 00 00
def 01 02 f8 03 00 00
LDN 0x06 (Consumer IR)
idx 30 60 61 70
val 01 ff ff ff
def 00 00 00 00
LDN 0x07 (Game port, GPIO 1)
idx 30 60 61 62 63 f0 f1 f2
val 01 02 01 00 00 ff 00 00
def 00 02 01 00 00 ff 00 00
LDN 0x08 (MIDI port, GPIO 5)
idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5
val 01 03 30 00 00 0a ff 00 00 00 00 00
def 00 03 30 00 00 09 ff 00 00 00 00 00
LDN 0x09 (GPIO 2, GPIO 3, GPIO 4)
idx 30 60 61 f0 f1 f2 f3 f4 f5 f6 f7 f8
val 00 00 00 ff ff ff ff ff ff ff ff ff
def 00 00 00 ff 00 00 ff 00 00 ff 00 00
LDN 0x0a (ACPI)
idx 30 70 f0 f1 f2 f3 f4 f6 f7 f9 fa
val 00 00 00 af 00 04 00 00 00 00 00
def 00 00 00 00 00 00 00 00 00 00 00
LDN 0x0b (PWM)
idx 30 60 61
val 01 02 90
def 00 00 00
LDN 0x0c (Smart card)
idx 30 60 61 70 f0
val 00 00 00 00 00
def 00 00 00 00 00
LDN 0x0d (URC, GPIO 6)
idx 30 60 61 62 63 70 f0 f1 f2 f3 f4
val 01 03 e8 00 00 00 00 ff ff ff ff
def 00 03 e8 00 00 00 00 ff 00 00 00
LDN 0x0e (URD, GPIO 7)
idx 30 60 61 62 63 70 f0 f1 f2 f3
val 01 02 e8 00 00 00 00 ff ff ff
def 00 02 e8 00 00 00 00 ff 00 00
LDN 0x0f (GPIO 8)
idx 30 60 61 f0 f1 f2
val 00 00 00 ff ff ff
def 00 00 00 ff 00 00
No human-readable dump available for this Super I/O
_________________________________________________________________
Live.nl: je eigen persoonlijk startpagina met nieuws en feeds die JIJ
belangrijk vindt!
http://www.live.com/getstarted.aspx
--- superiotool.h.DIST 2007-10-14 13:41:12.000000000 +0000
+++ superiotool.h 2007-10-14 13:24:14.000000000 +0000
@@ -50,7 +50,7 @@
#define RSVD -4 /* Reserved */
#define MISC -5 /* Needs special comment in output */
#define MAXNAMELEN 30 /* Maximum Name Length */
-#define MAXLDN 0xa /* Biggest LDN */
+#define MAXLDN 0xf /* Biggest LDN */
#define LDNSIZE (MAXLDN + 3) /* Biggest LDN + 0 + NOLDN + EOT */
#define MAXNUMIDX 70 /* Maximum number of indexes */
#define IDXSIZE (MAXNUMIDX + 1)
--- winbond.c.DIST 2007-10-14 01:37:17.000000000 +0000
+++ winbond.c 2007-10-14 13:30:37.000000000 +0000
@@ -92,8 +92,56 @@
{EOT}}},
{0x610, "W83L517D/D-F", {
{EOT}}},
- {0x681, "W83697SF/UF/UG", {
+
+ {0x68, "W83697SF/UF/UG", {
+ /* 0x2b might also have 0x03 as a value */
+ {NOLDN, NULL,
+ {0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,0x2a,0x2b,0x2c,EOT},
+ {0x68,NANA,0xef,0xfe,MISC,0x00,0x00,0x00,0x00,0x00,0x00,0x30,EOT}},
+ {0x0, "Floppy",
+ {0x30,0x60,0x61,0x70,0x74,0xf0,0xf1,0xf2,0xf4,0xf5,EOT},
+ {0x01,0x03,0xf0,0x06,0x02,0x0e,0x00,0xff,0x00,0x00,EOT}},
+ {0x1, "Parallel port",
+ {0x30,0x60,0x61,0x70,0x74,0xf0,EOT},
+ {0x01,0x03,0x78,0x07,0x03,0x3f,EOT}},
+ {0x2, "COM1",
+ {0x30,0x60,0x61,0x70,0xf0,EOT},
+ {0x01,0x03,0xf8,0x04,0x00,EOT}},
+ {0x3, "COM2",
+ {0x30,0x60,0x61,0x70,0xf0,0xf1,EOT},
+ {0x01,0x02,0xf8,0x03,0x00,0x00,EOT}},
+ {0x6, "Consumer IR",
+ {0x30,0x60,0x61,0x70,EOT},
+ {0x00,0x00,0x00,0x00,EOT}},
+ {0x7, "Game port, GPIO 1",
+ {0x30,0x60,0x61,0x62,0x63,0xf0,0xf1,0xf2,EOT},
+ {0x00,0x02,0x01,0x00,0x00,0xff,0x00,0x00,EOT}},
+ {0x8, "MIDI port, GPIO 5",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,EOT},
+ {0x00,0x03,0x30,0x00,0x00,0x09,0xff,0x00,0x00,0x00,0x00,0x00,EOT}},
+ {0x9, "GPIO 2, GPIO 3, GPIO 4",
+ {0x30,0x60,0x61,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,EOT},
+ {0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,EOT}},
+ {0xa, "ACPI",
+ {0x30,0x70,0xf0,0xf1,0xf2,0xf3,0xf4,0xf6,0xf7,0xf9,0xfa,EOT},
+ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
+ {0xb, "PWM",
+ {0x30,0x60,0x61,EOT},
+ {0x00,0x00,0x00,EOT}},
+ {0xc, "Smart card",
+ {0x30,0x60,0x61,0x70,0xf0,EOT},
+ {0x00,0x00,0x00,0x00,0x00,EOT}},
+ {0xd, "URC, GPIO 6",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,0xf4,EOT},
+ {0x00,0x03,0xe8,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,EOT}},
+ {0xe, "URD, GPIO 7",
+ {0x30,0x60,0x61,0x62,0x63,0x70,0xf0,0xf1,0xf2,0xf3,EOT},
+ {0x00,0x02,0xe8,0x00,0x00,0x00,0x00,0xff,0x00,0x00,EOT}},
+ {0xf, "GPIO 8",
+ {0x30,0x60,0x61,0xf0,0xf1,0xf2,EOT},
+ {0x00,0x00,0x00,0xff,0x00,0x00,EOT}},
{EOT}}},
+
{0x708, "W83637HF/HG", {
{EOT}}},
{0x828, "W83627THF/THG", { /* We assume rev is bits 3..0 of 0x21. */
@@ -289,7 +337,7 @@
rev = regval(port, DEVICE_REV_REG);
olddevid = regval(port, DEVICE_ID_REG_OLD) & 0x0f;
- if (devid == 0x52)
+ if (devid == 0x52 || devid == 0x68)
id = devid; /* ID only */
else if ((devid == 0x97) && ((rev & 0xf0) == 7))
id = (devid << 8) | rev; /* ID and rev */
--
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios