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>
mtd: cfi_flash: Write buffer size adjustment for M29EW Numonyx devices

This patch addjusted the write buffer size for M29EW devices those
are operated in 8-bit mode.

The M29EW devices seem to report the CFI information wrong when
it's in 8 bit mode.

There's an app note from Numonyx on this issue and there's a patch
in the open source as well for Linux, but it doesn't seem to be in mainline.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Tested-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
cfi_flash: Use uintptr_t for casts from u32 to void *

This fixes this build warning:

Configuring for qemu_mips64 - Board: qemu-mips64, Options: SYS_BIG_ENDIAN
   text    data     bss     dec     hex filename
 215344   13082  218720  447146   6d2aa qemu_mips64/u-boot
cfi_flash.c: In function 'flash_map':
cfi_flash.c:217:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Tom Rini <trini@ti.com>
Merge branch 'master' of git://www.denx.de/git/u-boot-cfi-flash
Revert "env: fix potential stack overflow in environment functions"

Wolfgang requested this be reverted and Rob agreed after further
discussion.  This was a symptom of a larger problem we need to deal
with.

This reverts commit 60d7d5a63189c9f77a190c9965861dc15482c2d0.

Signed-off-by: Tom Rini <trini@ti.com>
Hack! Print reloc_off for debug

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Hack! Enable all clocks

Prevents Linaro kernel v3.4.10+ to complain about lots of clocks when booting
on PandaBoard 5.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
omap: 5432: remove non-essential padconf settings

We want to get rid off the non-essential padconf settings from bootloader,
so start by not handling them at least for 5432 (handled as required within
kernel).
Will have to remove the entry completely when the equivalent will be
implemented for 5430.

Signed-off-by: Sebastien Jan <s-jan@ti.com>

[Do that for all OMAP5.]
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Put both OMAP5 cores into HYP mode

[vs: rebase, add '.arch_extension sec' directives to fix compilation]
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
Fix omap5 hyp mode for second cpu

Make it work on PandaBoard 5 with 5432 ES2 and Linux.

Signed-off-by: Vincent Stehlé <v-stehle@ti.com>