flashrom: split flash_enable.c into chipset_enable.c and board_enable.c

This splits up the ROM Write enable code into chipset specific and
board specific parts. This of course means that a lot of code is
plainly moved about.

* Allows for linuxbios name matching and pci-subsystem id matching.
  The latter uses a double set to properly distuinguish boards despite
  of some known vendors being lax about it.
* Fixes GPIO15 being raised on every VT8235 southbridge, regardless of what
  that line actually controls; rom on EPIA-M, backlight on mitac 8999 laptop.
* Adds flashrom support for Asus A7V400-MX (KM400 + VT8235)
* Island aruma was renamed agami aruma, the board specific code now got
  adjusted. A set of pci-ids was retrieved from source code.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2581 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Luc Verhaegen
2007-04-04 22:45:58 +00:00
committed by Stefan Reinauer
parent 17d667b411
commit b8c6437811
5 changed files with 466 additions and 210 deletions

View File

@ -3,7 +3,7 @@
*
* Copyright 2000 Silicon Integrated System Corporation
* Copyright 2000 Ronald G. Minnich <rminnich@gmail.com>
* Copyright 2005 coresystems GmbH <stepan@coresystems.de>
* Copyright 2005-2007 coresystems GmbH <stepan@coresystems.de>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -128,7 +128,15 @@ extern struct flashchip flashchips[];
extern void myusec_delay(int time);
extern void myusec_calibrate_delay();
extern int enable_flash_write(void);
/* pci handling for board/chipset_enable */
extern struct pci_access *pacc; /* For board and chipset_enable */
extern struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device);
extern struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
uint16_t card_vendor, uint16_t card_device);
extern int board_flash_enable(char *vendor, char *part); /* board_enable.c */
extern int chipset_flash_enable(void); /* chipset_enable.c */
/* physical memory mapping device */