[coreboot] flashrom fails to write/erase on VIA VT8237
Peter Stuge
peter at stuge.se
Tue Mar 31 06:37:50 CEST 2009
vinuxesgmail wrote:
> Peter, i could not find any attached patch :)
Gah! Sorry. Here it is.
//Peter
-------------- next part --------------
flashrom: Board enable for Portwell PPAP-2020VL
Unfortunately no unique subsystem IDs so flashrom must be started with
-m ppap-2020vl
Signed-off-by: Peter Stuge <peter at stuge.se>
Index: board_enable.c
===================================================================
--- board_enable.c (revision 4030)
+++ board_enable.c (working copy)
@@ -600,6 +600,32 @@
return 0;
}
+static int board_portwell_ppap_2020vl(const char *name)
+{
+ uint8_t val;
+ uint16_t iobase;
+ struct pci_dev *dev;
+
+ dev = pci_dev_find(0x1106, 0x3227);
+ if (!dev) {
+ fprintf(stderr, "\nERROR: VT8237R ISA bridge not found.\n");
+ return -1;
+ }
+
+ /* Enable GPO24 */
+ val = pci_read_byte(dev, 0xe6);
+ val |= 1;
+ pci_write_byte(dev, 0xe6, val);
+
+ /* Set GPO24 high */
+ iobase = pci_read_long(dev, 0x88) & 0xff00;
+ val = INB(iobase + 0x4f);
+ val |= 1;
+ OUTB(val, iobase + 0x4f);
+
+ 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
@@ -1014,6 +1040,20 @@
.enable = ich6_gpio19_raise,
},
{
+ .first_vendor = 0x1106,
+ .first_device = 0x0314,
+ .first_card_vendor = 0x0,
+ .first_card_device = 0x0,
+ .second_vendor = 0x1106,
+ .second_device = 0x3227,
+ .second_card_vendor = 0x0,
+ .second_card_device = 0x0,
+ .lb_vendor = "portwell",
+ .lb_part = "ppap-2020vl",
+ .name = "Portwell PPAP-2020VL",
+ .enable = board_portwell_ppap_2020vl,
+ },
+ {
.first_vendor = 0,
.first_device = 0,
.first_card_vendor = 0,
More information about the coreboot
mailing list