Patchwork Asus A7V8X needs a board enable.

login
register
about
Submitter Luc Verhaegen
Date 2009-07-11 23:05:08
Message ID <20090711230508.GA25299@skynet.be>
Download mbox | patch
Permalink /patch/26/
State Superseded
Headers show

Comments

Luc Verhaegen - 2009-07-11 23:05:08
Another stab at a board enable, previous one was actually the board 
disable...

Glenn, please first svn revert board_enable.c

Luc Verhaegen.

Patch

Index: board_enable.c
===================================================================
--- board_enable.c	(revision 650)
+++ board_enable.c	(working copy)
@@ -832,6 +832,36 @@ 
 }
 
 /**
+ * Suited for Asus A7V8X: VIA KT400 + VT8235 + IT8703F-A
+ */
+static int board_asus_a7v8x(const char *name)
+{
+	struct pci_dev *dev;
+	uint16_t base;
+	uint8_t tmp;
+
+	dev = pci_dev_find(0x1106, 0x3177);	/* VT8235 ISA bridge */
+	if (!dev) {
+		fprintf(stderr, "\nERROR: VT8235 ISA bridge not found.\n");
+		return -1;
+	}
+
+	base = pci_read_word(dev, 0x88) & 0xff80; /* PM IO Base */
+
+	/* Disable SMI */
+	tmp = INB(base + 0x2C);
+	tmp &= ~0x01;
+	OUTB(tmp, base + 0x2C);
+
+	/* Raise GPIO51 on the IT8703F. */
+	tmp = INB(0x370);
+	tmp |= 0x02;
+	OUTB(tmp, 0x370);
+
+	return 0;
+}
+
+/**
  * We use 2 sets of IDs here, you're free to choose which is which. This
  * is to provide a very high degree of certainty when matching a board on
  * the basis of subsystem/card IDs. As not every vendor handles
@@ -860,6 +890,7 @@ 
 	{0x1106, 0x3177, 0x17F2, 0x3177,  0x1106, 0x3148, 0x17F2, 0x3148, NULL,         NULL,          "Albatron",    "PM266A*",            board_epox_ep_8k5a2},
 	{0x1022, 0x2090,      0,      0,  0x1022, 0x2080,      0,      0, "artecgroup", "dbe61",       "Artec Group", "DBE61",              board_artecgroup_dbe6x},
 	{0x1022, 0x2090,      0,      0,  0x1022, 0x2080,      0,      0, "artecgroup", "dbe62",       "Artec Group", "DBE62",              board_artecgroup_dbe6x},
+	{0x1106, 0x3189, 0x1043, 0x807F,  0x1106, 0x3177, 0x1043, 0x808C, NULL,         NULL,          "ASUS",        "A7V8X",              board_asus_a7v8x},
 	{0x1106, 0x3177, 0x1043, 0x80A1,  0x1106, 0x3205, 0x1043, 0x8118, NULL,         NULL,          "ASUS",        "A7V8X-MX SE",        board_asus_a7v8x_mx},
 	{0x8086, 0x1a30, 0x1043, 0x8070,  0x8086, 0x244b, 0x1043, 0x8028, NULL,         NULL,          "ASUS",        "P4B266",             ich2_gpio22_raise},
 	{0x10B9, 0x1541,      0,      0,  0x10B9, 0x1533,      0,      0, "asus",       "p5a",         "ASUS",        "P5A",                board_asus_p5a},