summaryrefslogtreecommitdiffstats
path: root/flash.h
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-12-22 23:42:04 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-12-22 23:42:04 +0000
commit14e100c9335e310b3e84763f29306392574a14f4 (patch)
tree78dd44d70ae4c3bd0a80fbb959499d06becaa42f /flash.h
parent72a9a02b3864fb730ae9a8cff35266633842e324 (diff)
downloadast2050-flashrom-14e100c9335e310b3e84763f29306392574a14f4.zip
ast2050-flashrom-14e100c9335e310b3e84763f29306392574a14f4.tar.gz
SuperI/O detection now happens unconditionally and before the chipset enable
We could run it after chipset enable, but it definitely has to happen before board enable because the board enable usually accesses the SuperI/O. With this patch, it is possible to add a struct superio to the board enable table for more accurate matching in case subsystem IDs are ambiguous. This patch focuses on the generic infrastructure aspect and on support for IT8712F/IT8716F. Thanks go to Adrian Glaubitz and Ward Vandewege for testing. Corresponding to flashrom svn r813. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Luc Verhaegen <libv@skynet.be> Acked-by: Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Diffstat (limited to 'flash.h')
-rw-r--r--flash.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/flash.h b/flash.h
index 11c9d60..54efa5b 100644
--- a/flash.h
+++ b/flash.h
@@ -331,6 +331,14 @@ extern int partvendor_from_cbtable;
/* internal.c */
#if NEED_PCI == 1
+struct superio {
+ uint16_t vendor;
+ uint16_t port;
+ uint16_t model;
+};
+extern struct superio superio;
+#define SUPERIO_VENDOR_NONE 0x0
+#define SUPERIO_VENDOR_ITE 0x1
struct pci_dev *pci_dev_find_filter(struct pci_filter filter);
struct pci_dev *pci_dev_find_vendorclass(uint16_t vendor, uint16_t class);
struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device);
@@ -340,6 +348,7 @@ struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
void get_io_perms(void);
void release_io_perms(void);
#if INTERNAL_SUPPORT == 1
+void probe_superio(void);
int internal_init(void);
int internal_shutdown(void);
void internal_chip_writeb(uint8_t val, chipaddr addr);
@@ -544,6 +553,7 @@ int ich_spi_send_multicommand(struct spi_command *cmds);
extern uint16_t it8716f_flashport;
void enter_conf_mode_ite(uint16_t port);
void exit_conf_mode_ite(uint16_t port);
+struct superio probe_superio_ite(void);
int it87spi_init(void);
int it87xx_probe_spi_flash(const char *name);
int it8716f_spi_send_command(unsigned int writecnt, unsigned int readcnt,
OpenPOWER on IntegriCloud