For NFC v1 (i.MX27), swapping must be done between offset 464 of Main buffer and offset 4 of Spare buffer.
Signed-off-by: Gaetan Carlier <[email protected]> --- src/flash/nand/mxc.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/flash/nand/mxc.c b/src/flash/nand/mxc.c index 73232de..fb66b6d 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); -- 1.7.7.4 ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
