From 772f6457b08b41127e13212157fe38a662b1bd48 Mon Sep 17 00:00:00 2001 From: Andrew Ip Date: Mon, 21 Jul 2003 14:54:16 +0000 Subject: Add vt8235 for epia-m Corresponding to coreboot v1 svn r854. --- flash_rom.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'flash_rom.c') diff --git a/flash_rom.c b/flash_rom.c index 59d8197..869ae28 100644 --- a/flash_rom.c +++ b/flash_rom.c @@ -150,6 +150,44 @@ enable_flash_e7500(struct pci_dev *dev, char *name) { } int +enable_flash_vt8235(struct pci_dev *dev, char *name) { + unsigned char old, new, val; + unsigned int base; + int ok; + + /* get io privilege access PCI configuration space */ + if (iopl(3) != 0) { + perror("Can not set io priviliage"); + exit(1); + } + + old = pci_read_byte(dev, 0x40); + + new = old | 0x10; + + if (new == old) + return 0; + + ok = pci_write_byte(dev, 0x40, new); + if (ok != 0) { + printf("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n", + old, new, name); + } + + /* enable GPIO15 which is connected to write protect. */ + base = ((pci_read_byte(dev, 0x88) & 0x80) | pci_read_byte(dev, 0x89) << 8); + val = inb(base + 0x4d); + val |= 0x80; + outb(val, base + 0x4d); + + if (ok != 0) { + return -1; + } else { + return 0; + } +} + +int enable_flash_vt8231(struct pci_dev *dev, char *name) { unsigned char old, new; int ok; @@ -325,6 +363,7 @@ FLASH_ENABLE enables[] = { {0x1, 0x1, "sis630 -- what's the ID?", enable_flash_sis630}, {0x8086, 0x2480, "E7500", enable_flash_e7500}, {0x1106, 0x8231, "VT8231", enable_flash_vt8231}, + {0x1106, 0x3177, "VT8235", enable_flash_vt8235}, {0x1078, 0x0100, "CS5530", enable_flash_cs5530}, {0x1039, 0x8, "SIS5595", enable_flash_sis5595}, }; -- cgit v1.1