diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2011-04-10 16:06:29 -0400 | 
|---|---|---|
| committer | Stefan Roese <sr@denx.de> | 2011-04-21 15:51:17 +0200 | 
| commit | 6a011ce851a0ba23ad50f9bac06dc323a863d0c5 (patch) | |
| tree | 1709e1cbbee8c81647ad6b8ecf9d38be975b0327 /drivers/mtd/cfi_flash.c | |
| parent | 735eb0f0e66b544b1dfaf6c43ce6e4bd9ae64b5e (diff) | |
| download | olio-uboot-2014.01-6a011ce851a0ba23ad50f9bac06dc323a863d0c5.tar.xz olio-uboot-2014.01-6a011ce851a0ba23ad50f9bac06dc323a863d0c5.zip | |
cfi_flash: reverse geometry for M29W800DT parts
The M29W800DT parts also report their geometry with the sector layout
reversed.  So add that ID to the flash_fixup_stm function.
Otherwise, we get:
bfin> flinfo
Bank # 1: CFI conformant FLASH (16 x 16)  Size: 1 MB in 19 Sectors
  AMD Standard command set, Manufacturer ID: 0x20, Device ID: 0x22D7
  Erase timeout: 8192 ms, write timeout: 1 ms
  Sector Start Addresses:
  20000000        20004000        20006000        20008000        20010000
  20020000        20030000        20040000        20050000        20060000
  20070000        20080000        20090000        200A0000        200B0000
  200C0000        200D0000        200E0000        200F0000
Reported-by: Jianxi Fu <fujianxi@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'drivers/mtd/cfi_flash.c')
| -rw-r--r-- | drivers/mtd/cfi_flash.c | 7 | 
1 files changed, 4 insertions, 3 deletions
| diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c index 91ddcb467..b1110a138 100644 --- a/drivers/mtd/cfi_flash.c +++ b/drivers/mtd/cfi_flash.c @@ -1852,9 +1852,10 @@ static void flash_fixup_stm(flash_info_t *info, struct cfi_qry *qry)  	if (qry->num_erase_regions > 1) {  		/* reverse geometry if top boot part */  		if (info->cfi_version < 0x3131) { -			/* CFI < 1.1, guess by device id (M29W320{DT,ET} only) */ -			if (info->device_id == 0x22CA || -			    info->device_id == 0x2256) { +			/* CFI < 1.1, guess by device id */ +			if (info->device_id == 0x22CA || /* M29W320DT */ +			    info->device_id == 0x2256 || /* M29W320ET */ +			    info->device_id == 0x22D7) { /* M29W800DT */  				cfi_reverse_geometry(qry);  			}  		} |