| #
9abda6ba |
| 31-Oct-2008 |
Wolfgang Denk <wd@xpert.denx.de> |
CFI Driver: Fix "flash not ready" problem
This patch fixes a problem on systems where the NOR flash is attached to a 64 bit bus. The toggle bit detection in flash_toggle() is based on the assumptio
CFI Driver: Fix "flash not ready" problem
This patch fixes a problem on systems where the NOR flash is attached to a 64 bit bus. The toggle bit detection in flash_toggle() is based on the assumption that the same flash address is read twice without any other interjacent flash accesses. However, on 32 bit systems the function flash_read64() [as currently implemented] does not perform an atomic 64 bit read - instead, this is broken down into two 32 bit read accesses on addresses "addr" and "addr + 4". So instead of reading a 64 bit value twice from "addr", we see a sequence of 4 32 bit reads from "addr", "addr + 4", "addr", and "addr + 4". The consequence is that flash_toggle() fails to work.
This patch implements a simple, but somewhat ugly solution, as it avoids the use of flash_read64() in this critical place (by breaking it down manually into 32 bit read operations) instead of rewriting flash_read64() such to perform atomic 64 bit reads as one could expect. However, such a rewrite would require the use of floating point load operations, which becomes pretty complex:
save MSR; set Floating Point Enable bit in MSR; use "lfd" instruction to perform atomic 64 bit read; use "stfd" to store value to temporary variable on stack; load u64 value from temporary variable; restore saved MSR; return u64 value;
The benefit-cost ratio of such an implementation was considered too bad to actually attempt this, especially as we can expect that such an implementation would not only have a bigger memory footprint but also cause a performance degradation.
Signed-off-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
show more ...
|
| #
f61f1e15 |
| 21-Oct-2008 |
Stefan Roese <sr@denx.de> |
Merge branch 'master' of /home/stefan/git/u-boot/u-boot
|
| #
50bd0057 |
| 21-Oct-2008 |
Markus Klotzbuecher <mk@denx.de> |
Merge git://git.denx.de/u-boot into x1
Conflicts:
drivers/usb/usb_ohci.c
|
| #
f82642e3 |
| 18-Oct-2008 |
Wolfgang Denk <wd@denx.de> |
Merge 'next' branch
Conflicts:
board/freescale/mpc8536ds/mpc8536ds.c include/configs/mgcoge.h
Signed-off-by: Wolfgang Denk <wd@denx.de>
|
| #
6d0f6bcf |
| 16-Oct-2008 |
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> |
rename CFG_ macros to CONFIG_SYS
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
| #
b3ed2331 |
| 13-Oct-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash
|
| #
0d01f66d |
| 09-Oct-2008 |
Ed Swarthout <Ed.Swarthout@freescale.com> |
CFI: cfi_flash write fix for AMD legacy
The flash_unlock_seq requires a sector for AMD_LEGACY. Fix a retcode check typeo.
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Signed-off-by: Ste
CFI: cfi_flash write fix for AMD legacy
The flash_unlock_seq requires a sector for AMD_LEGACY. Fix a retcode check typeo.
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Signed-off-by: Stefan Roese <sr@denx.de>
show more ...
|
| #
1f6aa622 |
| 13-Oct-2008 |
Stefan Roese <sr@denx.de> |
Merge branch 'master' of /home/stefan/git/u-boot/u-boot
|
| #
1e841086 |
| 12-Oct-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'master' of ssh://10.10.0.7/home/wd/git/u-boot/master
|
| #
20d63514 |
| 12-Oct-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash
|
| #
2215987e |
| 02-Oct-2008 |
Mike Frysinger <vapier@gentoo.org> |
cfi_flash: do not reset flash when probe fails
The CFI flash driver starts at flash_init() which calls down into flash_get_size(). This starts by calling flash_detect_cfi(). If said function fails
cfi_flash: do not reset flash when probe fails
The CFI flash driver starts at flash_init() which calls down into flash_get_size(). This starts by calling flash_detect_cfi(). If said function fails, flash_get_size() finishes by attempting to reset the flash. Unfortunately, it does this with an info->portwidth set to 0x10 which filters down into flash_make_cmd() and that happily smashes the stack by sticking info->portwidth bytes into a cfiword_t variable that lives on the stack. On a 64bit system you probably won't notice, but killing the last 8 bytes on a 32bit system usually leads to a corrupt return address. Which is what happens on a Blackfin system.
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Stefan Roese <sr@denx.de>
show more ...
|
| #
225f0eaa |
| 12-Sep-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'master' of /home/wd/git/u-boot/custodians
|
| #
afbc5263 |
| 12-Sep-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'Makefile-next' of git://git.denx.de/u-boot-arm
|
| #
0e8d1586 |
| 10-Sep-2008 |
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> |
rename CFG_ENV macros to CONFIG_ENV
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
| #
5a1aceb0 |
| 10-Sep-2008 |
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> |
rename CFG_ENV_IS_IN_FLASH in CONFIG_ENV_IS_IN_FLASH
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
| #
f6808c48 |
| 10-Sep-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
|
| #
52514699 |
| 21-Aug-2008 |
Andrew Klossner <andrew@cesa.opbu.xerox.com> |
Fix printf errors under -DDEBUG
Fix printf format-string/arg mismatches under -DDEBUG.
These warnings occur with DEBUG defined for a platform using cpu/mpc85xx. Users of other architectures can un
Fix printf errors under -DDEBUG
Fix printf format-string/arg mismatches under -DDEBUG.
These warnings occur with DEBUG defined for a platform using cpu/mpc85xx. Users of other architectures can unearth similar problems by adding the line "CFLAGS += -DDEBUG=1" in config.mk right after "CFLAGS += $(call cc-option,-fno-stack-protector)".
Signed-off-by: Andrew Klossner <andrew@cesa.opbu.xerox.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
show more ...
|
| #
2141ece5 |
| 20-Aug-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash
|
| #
9e8e63cc |
| 20-Aug-2008 |
Nick Spence <nick.spence@freescale.com> |
CFI: Add CFI_CMDSET_INTEL_EXTENDED to fix flash_real_protect()
This patch fixes a missing vendor code in the flash_real_protect() function.
Signed-off-by: Nick Spence <nick.spence@freescale.com> Si
CFI: Add CFI_CMDSET_INTEL_EXTENDED to fix flash_real_protect()
This patch fixes a missing vendor code in the flash_real_protect() function.
Signed-off-by: Nick Spence <nick.spence@freescale.com> Signed-off-by: Stefan Roese <sr@denx.de>
show more ...
|
| #
4e00acde |
| 19-Aug-2008 |
TsiChung Liew <Tsi-Chung.Liew@freescale.com> |
CFI: Fix AMD Legacy sector protect
New implement sector lock and unlock or softlock commands do not exist in AMD legacy flash. Thus, causing issue when erasing AMD legacy flash (such as lv040)
Sign
CFI: Fix AMD Legacy sector protect
New implement sector lock and unlock or softlock commands do not exist in AMD legacy flash. Thus, causing issue when erasing AMD legacy flash (such as lv040)
Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com> Signed-off-by: Stefan Roese <sr@denx.de>
show more ...
|
| #
855efd04 |
| 14-Aug-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash
|
| #
becbbc7b |
| 14-Aug-2008 |
Stefan Roese <sr@denx.de> |
Merge branch 'master' of /home/stefan/git/u-boot/u-boot into next
|
| #
2fd0aad4 |
| 13-Aug-2008 |
Wolfgang Denk <wd@denx.de> |
Merge branch 'Makefile' of git://git.denx.de/u-boot-arm
|
| #
00b1883a |
| 12-Aug-2008 |
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> |
drivers/mtd: Move conditional compilation to Makefile
rename CFG_FLASH_CFI_DRIVER to CONFIG_FLASH_CFI_DRIVER
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
| #
9939ffd5 |
| 12-Aug-2008 |
Stefan Roese <sr@denx.de> |
Merge branch 'master' of /home/stefan/git/u-boot/u-boot into next
|