From b68bc7d95e2fcfd300a7d8d3835888951d59157c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ga=C3=ABtan=20Carlier?= Date: Sat, 12 Oct 2013 21:09:21 +0200 Subject: [PATCH] flash: mxc nfc(v1) : fix incorrect address in spare area for biswap command For NFC v1 (i.MX27), swapping must be done between offset 464 of Main buffer and offset 4 of Spare buffer. Change-Id: I09c2036e88770032da87d5846cd2094847f47b46 Signed-off-by: Gaetan Carlier Reviewed-on: http://openocd.zylin.com/1692 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/flash/nand/mxc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/flash/nand/mxc.c b/src/flash/nand/mxc.c index 73232de7..fb66b6d3 100644 --- a/src/flash/nand/mxc.c +++ b/src/flash/nand/mxc.c @@ -543,7 +543,7 @@ static int mxc_write_page(struct nand_device *nand, uint32_t page, swap2 = (swap1 << 8) | (swap2 & 0xFF); target_write_u16(target, MXC_NF_MAIN_BUFFER3 + 464, new_swap1); if (nfc_is_v1()) - target_write_u16(target, MXC_NF_V1_SPARE_BUFFER3, swap2); + target_write_u16(target, MXC_NF_V1_SPARE_BUFFER3 + 4, swap2); else target_write_u16(target, MXC_NF_V2_SPARE_BUFFER3, swap2); } @@ -662,7 +662,7 @@ static int mxc_read_page(struct nand_device *nand, uint32_t page, /* BI-swap - work-around of mxc NFC for NAND device with page == 2k */ target_read_u16(target, MXC_NF_MAIN_BUFFER3 + 464, &swap1); if (nfc_is_v1()) - SPARE_BUFFER3 = MXC_NF_V1_SPARE_BUFFER3; + SPARE_BUFFER3 = MXC_NF_V1_SPARE_BUFFER3 + 4; else SPARE_BUFFER3 = MXC_NF_V2_SPARE_BUFFER3; target_read_u16(target, SPARE_BUFFER3, &swap2); -- 2.39.5