diff options
author | Mateusz Zalega <m.zalega@samsung.com> | 2013-10-04 19:22:26 +0200 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2013-10-20 23:42:40 +0200 |
commit | 16297cfb2a20c9d89834cd9e31edac5184a777a1 (patch) | |
tree | f75f4bccfd6ef79f4953c02f73c5245bc1bdb34d /common/cmd_dfu.c | |
parent | f3d7cff55951e0b47bad150bf5c329bd577e2ce5 (diff) | |
download | u-boot-imx-16297cfb2a20c9d89834cd9e31edac5184a777a1.zip u-boot-imx-16297cfb2a20c9d89834cd9e31edac5184a777a1.tar.gz u-boot-imx-16297cfb2a20c9d89834cd9e31edac5184a777a1.tar.bz2 |
usb: new board-specific USB init interface
This commit unifies board-specific USB initialization implementations
under one symbol (usb_board_init), declaration of which is available in
usb.h.
New API allows selective initialization of USB controllers whenever needed.
Signed-off-by: Mateusz Zalega <m.zalega@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Diffstat (limited to 'common/cmd_dfu.c')
-rw-r--r-- | common/cmd_dfu.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c index 7ce92ce..5547678 100644 --- a/common/cmd_dfu.c +++ b/common/cmd_dfu.c @@ -11,27 +11,32 @@ #include <common.h> #include <dfu.h> #include <g_dnl.h> +#include <usb.h> static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { + if (argc < 4) + return CMD_RET_USAGE; + + char *usb_controller = argv[1]; + char *interface = argv[2]; + char *devstring = argv[3]; + char *s = "dfu"; int ret, i = 0; - if (argc < 3) - return CMD_RET_USAGE; - - ret = dfu_init_env_entities(argv[1], simple_strtoul(argv[2], NULL, 10)); + ret = dfu_init_env_entities(interface, simple_strtoul(devstring, + NULL, 10)); if (ret) return ret; - if (argc > 3 && strcmp(argv[3], "list") == 0) { + if (argc > 4 && strcmp(argv[4], "list") == 0) { dfu_show_entities(); goto done; } -#ifdef CONFIG_TRATS - board_usb_init(); -#endif + int controller_index = simple_strtoul(usb_controller, NULL, 0); + board_usb_init(controller_index, USB_INIT_DEVICE); g_dnl_register(s); while (1) { @@ -62,8 +67,9 @@ done: U_BOOT_CMD(dfu, CONFIG_SYS_MAXARGS, 1, do_dfu, "Device Firmware Upgrade", - "<interface> <dev> [list]\n" - " - device firmware upgrade on a device <dev>\n" - " attached to interface <interface>\n" - " [list] - list available alt settings" + "<USB_controller> <interface> <dev> [list]\n" + " - device firmware upgrade via <USB_controller>\n" + " on device <dev>, attached to interface\n" + " <interface>\n" + " [list] - list available alt settings\n" ); |