summaryrefslogtreecommitdiff
path: root/util/flashrom/flash.h
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2007-10-02 15:49:25 +0000
committerWard Vandewege <ward@gnu.org>2007-10-02 15:49:25 +0000
commit0de6f0a36f98b3e76a80451fbe6f98c97fdf60b1 (patch)
tree2b3f9ee6b4bf6dce768e477381e4beb11b569f4c /util/flashrom/flash.h
parent3617103cc78c460d98b9d8a6c282ffa227ce3f23 (diff)
downloadcoreboot-0de6f0a36f98b3e76a80451fbe6f98c97fdf60b1.tar.xz
This patch aims to restructure SPI flash support in a more reasonable
way. It introduces a generic SPI host driver for the IT8716F Super I/O which will enable easy SPI programming without having to care for the peculiarities of the SPI host. To activate probing for the IT8716F, you have to use the gigabyte:m57sli mainboard override. SPI support will then use the gathered SPI host data to access the SPI flash. This has been tested sucessfully by Ward Vandewege <ward@gnu.org> on the GA-M57SLI v2.0, which has a MX25L4005 SPI flash part. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Ward Vandewege <ward@gnu.org> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2817 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/flashrom/flash.h')
-rw-r--r--util/flashrom/flash.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/util/flashrom/flash.h b/util/flashrom/flash.h
index 2a45e46939..46f8ad3bd1 100644
--- a/util/flashrom/flash.h
+++ b/util/flashrom/flash.h
@@ -55,6 +55,8 @@ extern struct flashchip flashchips[];
/* Please keep this list sorted alphabetically by manufacturer. The first
* entry of each section should be the manufacturer ID, followed by the
* list of devices from that manufacturer (sorted by device IDs).
+ * All LPC/FWH parts (parallel flash) have 8-bit device IDs.
+ * All SPI parts have 16-bit device IDs.
*/
#define AMD_ID 0x01 /* AMD */
@@ -68,8 +70,31 @@ extern struct flashchip flashchips[];
#define AT_29C040A 0xA4
#define AT_29C020 0xDA
+#define EON_ID 0x1C
+/* EN25 chips are SPI, first byte of device id is memory type,
+ second byte of device id is log(bitsize)-9 */
+#define EN_25B05 0x2010 /* 2^19 kbit or 2^16 kByte */
+#define EN_25B10 0x2011
+#define EN_25B20 0x2012
+#define EN_25B40 0x2013
+#define EN_25B80 0x2014
+#define EN_25B16 0x2015
+#define EN_25B32 0x2016
+
#define MX_ID 0xC2 /* Macronix (MX) */
#define MX_29F002 0xB0
+/* MX25L chips are SPI, first byte of device id is memory type,
+ second byte of device id is log(bitsize)-9 */
+#define MX_25L512 0x2010 /* 2^19 kbit or 2^16 kByte */
+#define MX_25L1005 0x2011
+#define MX_25L2005 0x2012
+#define MX_25L4005 0x2013 /* MX25L4005{,A} */
+#define MX_25L8005 0x2014
+#define MX_25L1605 0x2015 /* MX25L1605{,A,D} */
+#define MX_25L3205 0x2016 /* MX25L3205{,A} */
+#define MX_25L6405 0x2017 /* MX25L3205{,D} */
+#define MX_25L1635D 0x2415
+#define MX_25L3235D 0x2416
#define SHARP_ID 0xB0 /* Sharp */
#define SHARP_LHF00L04 0xCF
@@ -182,6 +207,8 @@ int handle_romentries(uint8_t *buffer, uint8_t *content);
int linuxbios_init(void);
extern char *lb_part, *lb_vendor;
+int probe_spi(struct flashchip *flash);
+
/* 82802ab.c */
int probe_82802ab(struct flashchip *flash);
int erase_82802ab(struct flashchip *flash);