diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2014-07-23 10:03:51 +0200 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2014-07-23 10:07:41 +0200 |
commit | 320a3a8340c4c5289a12d6de78411bdfd72738f8 (patch) | |
tree | 914898e96d914bb43a3f54f108103775a3da5f61 /arch | |
parent | c798a6d9e4035d8427857bcb41cd521972e4332d (diff) |
colibri vf50/61: detect bad blocks in U-Boot area
The boot ROM was not able to detect bad blocks in the U-Boot area
due to disabled "bad block marking swap" functionality. The
description of this field is a bit unclear, but tests show that
skipping bad blocks in U-Boot area only work if this field is set
to 0.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/imx-common/cmd_writebcb.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/imx-common/cmd_writebcb.c b/arch/arm/imx-common/cmd_writebcb.c index 9a7757d11a9..e6fc1257608 100644 --- a/arch/arm/imx-common/cmd_writebcb.c +++ b/arch/arm/imx-common/cmd_writebcb.c @@ -123,8 +123,11 @@ static void create_fcb(nand_info_t *nand, uint8_t *buf, int fw1_start_address, /* This is typically the first byte of the pages OOB area */ fcb->bb_marker_physical_offset = nand->writesize; - /* Disable swapping of bad block marker byte */ - fcb->disbbm = 1; + /* + * Enable swapping of bad block marker byte (required for boot ROM in + * order to detect factory marked bad blocks) + */ + fcb->disbbm = 0; fcb->disbbm_search = 0; fcb->disbbm_search_limit = 8; |