
This series adds DFU support to NAND and was started by Pantelis. The NAND changes have been compile-tested on all ARM and PowerPC targets and run-time tested on ARM. DFU itself has been tested, for NAND, on am335x_evm.
For practical reasons, this series depends on Pantelis' previous series of generic DFU changes. Lukasz and I are discussing how to handle a few changes there since one of them breaks file writing.
-- Tom
Changes in v4: - Further reword nand_util.c comments, from Scott - In nand_write_skip_bad make sure *actual is 0 for YAFFS2 errors too, reminded by Scott. - In cmd_nand.c don't drop the size is less than maxsize check in arg_off_size as other nand functions need this still (Scott). - Add patch to fix CONFIG_CMD_NAND_YAFFS
Changes in v3: - Reworked skip_check_len changes to just add accounting for *used to the logic. - Allow for actual to be NULL in nand_(read|write)_skip_bad, only DFU calls this with a non-NULL parameter. Make sure the comments for both functions explain the parameters and their behavior. - Other style changes requested by Scott. - As nand_(write|read)_skip_bad passes back just a used length now. - Rework logic in nand_block_op for nand_(read|write)_skip_bad returning just a size for actual used length. - Remove unused externs from drivers/dfu/dfu_nand.c - Fix checkpatch.pl warnings in include/configs/am335x_evm.h
Changes in v2: - NAND skip_check_len changes reworked to allow nand_(read|write)_skip_bad to return this information to the caller. - nand_block_op calls nand_(read|write)_skip_bad directly. - Bugfix in dfu_nand to make sure we set dfu->skip_bad to 0 on each iteration. - Add CONFIG_CMD_MTDPARTS and relevant information to am335x_evm - Enable DFU for NAND and MMC, set dfu_alt_info_(nand|mmc) as examples for both in am335x_evm.h - Increase CONFIG_SYS_MAXARGS due to hush parsing bugs that would otherwise prevent 'setenv dfu_alt_info ${dfu_alt_info_nand}' on am335x_evm
Pantelis Antoniou (2): dfu: NAND specific routines for DFU operation am335x_evm: Enable DFU for NAND and MMC, provide example alt_info for both
Tom Rini (3): nand: Extend nand_(read|write)_skip_bad with *actual and limit parameters cmd_nand.c: Fix CONFIG_CMD_NAND_YAFFS am335x_evm: Add CONFIG_CMD_MTDPARTS and relevant defaults
common/cmd_nand.c | 55 +++++++----- common/env_nand.c | 3 +- drivers/dfu/Makefile | 1 + drivers/dfu/dfu.c | 8 ++ drivers/dfu/dfu_nand.c | 195 ++++++++++++++++++++++++++++++++++++++++++ drivers/mtd/nand/nand_util.c | 68 +++++++++++++-- include/configs/am335x_evm.h | 47 +++++++++- include/dfu.h | 23 +++++ include/nand.h | 4 +- 9 files changed, 368 insertions(+), 36 deletions(-) create mode 100644 drivers/dfu/dfu_nand.c