
Hi Rob,
From: Rob Herring robh@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@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@samsung.com Tested-by: Lukasz Majewski l.majewski@samsung.com (Test HW: Trats2 board)
I will add this patch to u-boot-dfu tree.