
Hi Dileep,
g_dnl_gadget_register() fails for dra7xx dwc3 gadget when running cmd_fastboot. Calling board_usb_init() to fix this. fastboot command is now added with an optional controller index argument with default value as 0, to facilitate configurable controller index.
Signed-off-by: Angela Stegmaier angelabaker@ti.com Signed-off-by: Dileep Katta dileep.katta@linaro.org
Changes in v2:
- Changed fastboot command to facilitate passing controller
index
- Added board_usb_cleanup()
This patch considers the following change by Inha Song, without which the build will be broken on BeagleBone Black platform https://patchwork.ozlabs.org/patch/430303/
common/cmd_fastboot.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c index 346ab80..9ca4a2f 100644 --- a/common/cmd_fastboot.c +++ b/common/cmd_fastboot.c @@ -10,11 +10,19 @@ #include <common.h> #include <command.h> #include <g_dnl.h> +#include <usb.h>
static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { int ret;
int controller_index = 0;
if (argc == 2) {
char *usb_controller = argv[1];
controller_index = simple_strtoul(usb_controller,
NULL, 0);
- }
- board_usb_init(controller_index, USB_INIT_DEVICE); g_dnl_clear_detach(); ret = g_dnl_register("usb_dnl_fastboot"); if (ret)
@@ -36,12 +44,13 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) g_dnl_unregister(); g_dnl_clear_detach();
- board_usb_cleanup(controller_index, USB_INIT_DEVICE); return CMD_RET_SUCCESS;
}
U_BOOT_CMD(
- fastboot, 1, 0, do_fastboot,
- fastboot, 2, 0, do_fastboot, "use USB Fastboot protocol",
- "\nLukasz Majewski l.majewski@samsung.com"
- " - run as a fastboot usb device"
- "[<USB_controller>]\n"
- " - run as a fastboot usb device via <USB_controller>"
);
Acked-by: Lukasz Majewski l.majewski@samsung.com
Since I'm not CC'ed to all patches, I assume that this work would go via other tree?