add command fitupd to run an update from a FIT image

Command calls update_tftp() analogous to automatic update described
in doc/README.update.

Usage:
fitupd [addr]
        - run update from FIT image at addr
          or from tftp 'updatefile'

Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
This commit is contained in:
Andreas Pretzsch 2011-07-16 05:51:00 +00:00 committed by Wolfgang Denk
parent 8d6b73202c
commit 7130a579fd
3 changed files with 42 additions and 0 deletions

View File

@ -92,6 +92,7 @@ COBJS-$(CONFIG_CMD_FAT) += cmd_fat.o
COBJS-$(CONFIG_CMD_FDC)$(CONFIG_CMD_FDOS) += cmd_fdc.o
COBJS-$(CONFIG_OF_LIBFDT) += cmd_fdt.o fdt_support.o
COBJS-$(CONFIG_CMD_FDOS) += cmd_fdos.o
COBJS-$(CONFIG_CMD_FITUPD) += cmd_fitupd.o
COBJS-$(CONFIG_CMD_FLASH) += cmd_flash.o
ifdef CONFIG_FPGA
COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o

36
common/cmd_fitupd.c Normal file
View File

@ -0,0 +1,36 @@
/*
* (C) Copyright 2011
* Andreas Pretzsch, carpe noctem engineering, apr@cn-eng.de
*
* This file is released under the terms of GPL v2 and any later version.
* See the file COPYING in the root directory of the source tree for details.
*/
#include <common.h>
#include <command.h>
#if !defined(CONFIG_UPDATE_TFTP)
#error "CONFIG_UPDATE_TFTP required"
#endif
extern int update_tftp(ulong addr);
static int do_fitupd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
ulong addr = 0UL;
if (argc > 2)
return cmd_usage(cmdtp);
if (argc == 2)
addr = simple_strtoul(argv[1], NULL, 16);
return update_tftp(addr);
}
U_BOOT_CMD(fitupd, 2, 0, do_fitupd,
"update from FIT image",
"[addr]\n"
"\t- run update from FIT image at addr\n"
"\t or from tftp 'updatefile'"
);

View File

@ -51,6 +51,11 @@ the mkimage tool. dtc tool with support for binary includes, e.g. in version
to be prepared. Refer to the doc/uImage.FIT/ directory for more details on FIT
images.
This mechanism can be also triggered by the commmand "fitupd".
If an optional, non-zero address is provided as argument, the TFTP transfer
is skipped and the image at this address is used.
The fitupd command is enabled by CONFIG_CMD_FITUPD.
Example .its files
------------------