The "dfu" command has been extended to support transfers via TFTP protocol.
Signed-off-by: Lukasz Majewski <l.majew...@majess.pl> Reviewed-by: Simon Glass <s...@chromium.org> Acked-by: Joe Hershberger <joe.hershber...@ni.com> --- Changes for v2: - Remove "dfutftp" command - Modify "dfu" command to support optional [tftp] parameter - Only one flag (CONFIG_DFU_TFTP) needs to be enabled Changes for v3: - Remove #ifdef CONFIG_DFU_TFTP to guard including <net.h> - Do not use usb_controller variable in the 'dfu tftp' case - Make the tftp as the explicit parameter for the 'dfu tftp' command - Correct help message for 'dfu tftp' command Changes for v4: - None Change-Id: I0f55ad0e7096acf3ba52705b3c55d1d397edc8f2 --- common/cmd_dfu.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c index 857148f..f060db7 100644 --- a/common/cmd_dfu.c +++ b/common/cmd_dfu.c @@ -1,6 +1,9 @@ /* * cmd_dfu.c -- dfu command * + * Copyright (C) 2015 + * Lukasz Majewski <l.majew...@majess.pl> + * * Copyright (C) 2012 Samsung Electronics * authors: Andrzej Pietrasiewicz <andrze...@samsung.com> * Lukasz Majewski <l.majew...@samsung.com> @@ -13,6 +16,7 @@ #include <dfu.h> #include <g_dnl.h> #include <usb.h> +#include <net.h> static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { @@ -26,6 +30,15 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) char *devstring = argv[3]; int ret, i = 0; +#ifdef CONFIG_DFU_TFTP + unsigned long addr = 0; + if (!strcmp(argv[1], "tftp")) { + if (argc == 5) + addr = simple_strtoul(argv[4], NULL, 0); + + return update_tftp(addr, interface, devstring); + } +#endif ret = dfu_init_env_entities(interface, devstring); if (ret) @@ -89,4 +102,11 @@ U_BOOT_CMD(dfu, CONFIG_SYS_MAXARGS, 1, do_dfu, " on device <dev>, attached to interface\n" " <interface>\n" " [list] - list available alt settings\n" +#ifdef CONFIG_DFU_TFTP + "dfu tftp <interface> <dev> [<addr>]\n" + " - device firmware upgrade via TFTP\n" + " on device <dev>, attached to interface\n" + " <interface>\n" + " [<addr>] - address where FIT image has been stored\n" +#endif ); -- 2.1.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot