u-boot/drivers/mtd
aaron.williams@caviumnetworks.com 239cb9d904 mtd: cfi_flash: Fix CFI flash driver for 8-bit bus support
This commit is based on that patch from aaron.williams@caviumnetworks.com
with same commit title. pulled the same code changes into current u-boot tree.

http://patchwork.ozlabs.org/patch/140863/
http://lists.denx.de/pipermail/u-boot/2011-April/089606.html

This patch corrects the addresses used when working with Spansion/AMD FLASH chips.
Addressing for 8 and 16 bits is almost identical except in the 16-bit case the
LSB of the address is always 0.  The confusion arose because the addresses
in the datasheet for 16-bit mode are word addresses but this code assumed it was
byte addresses.

I have only been able to test this on our Octeon boards which use either an 8-bit
or 16-bit bus.  I have not tested the case where there's an 8-bit part on a 16-bit
bus.

This patch also adds some delays as suggested by Spansion.

If a part can be both 8 and 16-bits, it forces it to work in 8-bit mode if an
8-bit bus is detected.

Apart from the pulled changes, fixed few minor code cleanups and tested
on 256M29EW, 512M29EW flashes.

Before this fix:
---------------
Bank # 1: CFI conformant flash (8 x 8)  Size: 64 MB in 512 Sectors
  AMD Standard command set, Manufacturer ID: 0xFF, Device ID: 0xFF
  Erase timeout: 4096 ms, write timeout: 2 ms
  Buffer write timeout: 5 ms, buffer size: 1024 bytes

After this fix:
--------------
Bank # 1: CFI conformant flash (8 x 8)  Size: 64 MB in 512 Sectors
  AMD Standard command set, Manufacturer ID: 0x89, Device ID: 0x7E2301
  Erase timeout: 4096 ms, write timeout: 2 ms
  Buffer write timeout: 5 ms, buffer size: 1024 bytes

Signed-off-by: Aaron Williams <aaron.williams@caviumnetworks.com>
Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Tested-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
2013-04-02 14:27:45 +02:00
..
nand am33xx: Add required includes to some omap/am33xx code 2013-03-24 12:49:11 -04:00
onenand SPL: ONENAND: Fix onenand_spl_load_image implementation. 2013-03-08 16:41:14 -05:00
spi Merge branch 'u-boot/master' into 'u-boot-arm/master' 2013-03-28 18:50:01 +01:00
ubi include/linux/byteorder: import latest endian definitions from linux 2012-11-04 11:00:34 -07:00
at45.c drivers/mtd: Move conditional compilation to Makefile 2008-08-13 01:40:42 +02:00
cfi_flash.c mtd: cfi_flash: Fix CFI flash driver for 8-bit bus support 2013-04-02 14:27:45 +02:00
cfi_mtd.c CFI: fix warning: variable ... set but not used 2011-10-09 23:24:49 +02:00
dataflash.c drivers/mtd/dataflash.c: Fix GCC 4.6 warning 2011-11-16 21:28:47 +01:00
ftsmc020.c ftsmc020: fix relocation 2011-05-12 23:43:27 +02:00
jedec_flash.c add STM29F400BB to table of supported legacy flashs 2012-02-09 09:45:53 +01:00
Makefile st_smi: Add support for SPEAr SMI driver 2012-07-07 14:07:38 +02:00
mtdconcat.c linux/compat.h: rename from linux/mtd/compat.h 2012-04-30 16:54:51 +02:00
mtdcore.c linux/compat.h: rename from linux/mtd/compat.h 2012-04-30 16:54:51 +02:00
mtdpart.c linux/compat.h: rename from linux/mtd/compat.h 2012-04-30 16:54:51 +02:00
mw_eeprom.c Update i386 code (sc520_cdp) 2008-09-09 11:48:53 +02:00
st_smi.c MTD: SPEAr SMI: Add write support for length < 4 bytes 2012-07-07 14:07:44 +02:00