[U-Boot] [PATCH v5 0/9] Improve DFU support, enable for am335x_evm

Tom Rini
2013-03-08T17:37:19Z

This series does a few things. I've updated Pantelis Antoniou's patch
that allows for transfering of files larger than 4MiB to still allow for
filesystem writes to work. I also document the existing DFU CONFIG
options, and then the new options this series adds. Then we update
nand_(read|write)_skip_bad so that we can add DFU support for NAND
(started by Pantelis). Finally, we enable all of this for am335x_evm.
This series has been compile-tested on all ARM and PowerPC targets and
run-time tested on am335x_evm for NAND and MMC and eMMC.

This series depends on u-boot-usb/master but with a09f955 removed (as we
replace that patch here).

--
Tom

Changes in v5:
- New patch to document existing DFU CONFIG options
- Rework Pantelis' "dfu: Support larger than memory transfers" to not
break filesystem writing
- New patch to re-align defines in <dfu.h>
- Document CONFIG_DFU_NAND in README
- Add RAW MMC examples to include/configs/am335x_evm.h

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 (4):
dfu: Support larger than memory transfers.
dfu: NAND specific routines for DFU operation
am335x_evm: Define CONFIG_SYS_CACHELINE_SIZE
am335x_evm: Enable DFU for NAND and MMC, provide example alt_infos

Tom Rini (5):
README: Document current DFU CONFIG options
dfu: Change indentation of defines in <dfu.h>
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

README | 23 ++++
common/cmd_nand.c | 55 +++++----
common/env_nand.c | 3 +-
drivers/dfu/Makefile | 1 +
drivers/dfu/dfu.c | 251 +++++++++++++++++++++++++++++++++---------
drivers/dfu/dfu_mmc.c | 116 ++++++++++++++-----
drivers/dfu/dfu_nand.c | 195 ++++++++++++++++++++++++++++++++
drivers/mtd/nand/nand_util.c | 68 ++++++++++--
include/configs/am335x_evm.h | 52 ++++++++-
include/dfu.h | 53 ++++++++-
include/nand.h | 4 +-
11 files changed, 700 insertions(+), 121 deletions(-)
create mode 100644 drivers/dfu/dfu_nand.c

--
1.7.9.5