[U-Boot] [PATCH 2/2] fastboot: add support for continue command
Lukasz Majewski
l.majewski at samsung.com
Thu Dec 11 10:43:49 CET 2014
Hi Rob,
> From: Rob Herring <robh at kernel.org>
>
> The fastboot continue command is defined to exit fastboot and continue
> autoboot. This commit implements the continue command and the exiting
> of fastboot only. Subsequent u-boot commands can be processed after
> exiting fastboot. Autoboot should implement a boot script such as
> "fastboot; mmc read <...>; bootm" to fully implement the fastboot
> continue function.
>
> Signed-off-by: Rob Herring <robh at kernel.org>
> ---
> common/cmd_fastboot.c | 4 ++++
> drivers/usb/gadget/f_fastboot.c | 14 ++++++++++++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c
> index 909616d..b72f4f3 100644
> --- a/common/cmd_fastboot.c
> +++ b/common/cmd_fastboot.c
> @@ -15,17 +15,21 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int
> flag, int argc, char *const argv[]) {
> int ret;
>
> + g_dnl_clear_detach();
> ret = g_dnl_register("usb_dnl_fastboot");
> if (ret)
> return ret;
>
> while (1) {
> + if (g_dnl_detach())
> + break;
> if (ctrlc())
> break;
> usb_gadget_handle_interrupts();
> }
>
> g_dnl_unregister();
> + g_dnl_clear_detach();
> return CMD_RET_SUCCESS;
> }
>
> diff --git a/drivers/usb/gadget/f_fastboot.c
> b/drivers/usb/gadget/f_fastboot.c index 71b62e5..310175a 100644
> --- a/drivers/usb/gadget/f_fastboot.c
> +++ b/drivers/usb/gadget/f_fastboot.c
> @@ -480,6 +480,17 @@ static void cb_boot(struct usb_ep *ep, struct
> usb_request *req) fastboot_tx_write_str("OKAY");
> }
>
> +static void do_exit_on_complete(struct usb_ep *ep, struct
> usb_request *req) +{
> + g_dnl_trigger_detach();
> +}
> +
> +static void cb_continue(struct usb_ep *ep, struct usb_request *req)
> +{
> + fastboot_func->in_req->complete = do_exit_on_complete;
> + fastboot_tx_write_str("OKAY");
> +}
> +
> #ifdef CONFIG_FASTBOOT_FLASH
> static void cb_flash(struct usb_ep *ep, struct usb_request *req)
> {
> @@ -520,6 +531,9 @@ static const struct cmd_dispatch_info
> cmd_dispatch_info[] = { }, {
> .cmd = "boot",
> .cb = cb_boot,
> + }, {
> + .cmd = "continue",
> + .cb = cb_continue,
> },
> #ifdef CONFIG_FASTBOOT_FLASH
> {
Acked-by: Lukasz Majewski <l.majewski at samsung.com>
Tested-by: Lukasz Majewski <l.majewski at samsung.com>
(Test HW: Trats2 board)
I will add this patch to u-boot-dfu tree.
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
More information about the U-Boot
mailing list