summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Verhaegen <libv@skynet.be>2009-08-12 16:58:11 +0000
committerLuc Verhaegen <libv@skynet.be>2009-08-12 16:58:11 +0000
commit4eeb713ed233ca090ccd17ce832b03097c749a8e (patch)
treeb1bc47835c760fa96352b9e2c5fddb721c7387fe
parent6be741114d95dcb9b8d783c114999b0e8b8b802d (diff)
downloadflashrom-4eeb713ed233ca090ccd17ce832b03097c749a8e.tar.gz
flashrom-4eeb713ed233ca090ccd17ce832b03097c749a8e.tar.bz2
flashrom-4eeb713ed233ca090ccd17ce832b03097c749a8e.zip
Board enable for Asus P4P800-E Deluxe
Raises what seems to be gpio21. Uses host controller and Promise Raid Controller for a unique match. Tested-by: Bojan Radakovic <crnibojan@gmail.com> Corresponding to flashrom svn r682. Signed-off-by: Luc Verhaegen <libv@skynet.be> Acked-by: Stefan Reinauer <stepan@coresystems.de>
-rw-r--r--board_enable.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/board_enable.c b/board_enable.c
index a47318f5b..a4f52b54a 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -888,6 +888,32 @@ static int board_asus_a7v8x(const char *name)
}
/**
+ * Suited for Asus P4P800-E: Intel Intel 865PE + ICH5R.
+ */
+static int board_asus_p4p800(const char *name)
+{
+ struct pci_dev *dev;
+ uint16_t base;
+ uint8_t tmp;
+
+ dev = pci_dev_find(0x8086, 0x24D0); /* Intel ICH5R ISA Bridge */
+ if (!dev) {
+ fprintf(stderr, "\nERROR: Intel ICH5R ISA Bridge not found.\n");
+ return -1;
+ }
+
+ /* get PM IO base */
+ base = pci_read_long(dev, 0x58) & 0x0000FFC0;
+
+ /* Raise GPIO 21 */
+ tmp = INB(base + 0x0E);
+ tmp |= 0x20;
+ OUTB(tmp, base + 0x0E);
+
+ 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
@@ -920,6 +946,7 @@ struct board_pciid_enable board_pciid_enables[] = {
{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},
+ {0x8086, 0x2570, 0x1043, 0x80F2, 0x105A, 0x3373, 0x1043, 0x80F5, NULL, NULL, "ASUS", "P4P800-E Deluxe", board_asus_p4p800},
{0x10B9, 0x1541, 0, 0, 0x10B9, 0x1533, 0, 0, "asus", "p5a", "ASUS", "P5A", board_asus_p5a},
{0x1106, 0x3149, 0x1565, 0x3206, 0x1106, 0x3344, 0x1565, 0x1202, NULL, NULL, "Biostar", "P4M80-M4", it8705_rom_write_enable},
{0x1106, 0x3038, 0x1019, 0x0996, 0x1106, 0x3177, 0x1019, 0x0996, NULL, NULL, "Elitegroup", "K7VTA3", it8705f_write_enable_2e},