diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2007-10-02 15:49:25 +0000 |
---|---|---|
committer | Ward Vandewege <ward@gnu.org> | 2007-10-02 15:49:25 +0000 |
commit | 0de6f0a36f98b3e76a80451fbe6f98c97fdf60b1 (patch) | |
tree | 2b3f9ee6b4bf6dce768e477381e4beb11b569f4c /util/flashrom/flash.h | |
parent | 3617103cc78c460d98b9d8a6c282ffa227ce3f23 (diff) | |
download | coreboot-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.h | 27 |
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); |