From: Lukasz Majewski Date: Sun, 23 Aug 2015 22:21:48 +0000 (+0200) Subject: dfu: command: Extend "dfu" command to handle receiving data via TFTP X-Git-Tag: v2015.10-rc3~1^2~3 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c2c146fb8890841cfd60cafae69bf6e2f2cbfb1c;p=oweals%2Fu-boot.git dfu: command: Extend "dfu" command to handle receiving data via TFTP The "dfu" command has been extended to support transfers via TFTP protocol. Signed-off-by: Lukasz Majewski Reviewed-by: Simon Glass Acked-by: Joe Hershberger --- diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c index 857148f8af..f060db75c6 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 + * * Copyright (C) 2012 Samsung Electronics * authors: Andrzej Pietrasiewicz * Lukasz Majewski @@ -13,6 +16,7 @@ #include #include #include +#include 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 , attached to interface\n" " \n" " [list] - list available alt settings\n" +#ifdef CONFIG_DFU_TFTP + "dfu tftp []\n" + " - device firmware upgrade via TFTP\n" + " on device , attached to interface\n" + " \n" + " [] - address where FIT image has been stored\n" +#endif );