mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-07-23 23:33:01 +00:00
usb: add support for multiple usb controllers
Allows to initialize more than one USB controller at once. v2: print message when controller stop fails Signed-off-by: Lucas Stach <dev@lynxeye.de> Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
676ae068d9
commit
93c2582fea
4 changed files with 70 additions and 56 deletions
|
@ -381,8 +381,7 @@ int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
bootstage_mark_name(BOOTSTAGE_ID_USB_START, "usb_start");
|
||||
usb_stop();
|
||||
printf("(Re)start USB...\n");
|
||||
i = usb_init();
|
||||
if (i >= 0) {
|
||||
if (usb_init() >= 0) {
|
||||
#ifdef CONFIG_USB_STORAGE
|
||||
/* try to recognize storage devices immediately */
|
||||
usb_stor_curr_dev = usb_stor_scan(1);
|
||||
|
@ -390,6 +389,9 @@ int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
#ifdef CONFIG_USB_HOST_ETHER
|
||||
/* try to recognize ethernet devices immediately */
|
||||
usb_ether_curr_dev = usb_host_eth_scan(1);
|
||||
#endif
|
||||
#ifdef CONFIG_USB_KEYBOARD
|
||||
drv_usb_kbd_init();
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
|
@ -417,8 +419,14 @@ int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|||
return 1;
|
||||
}
|
||||
if (strncmp(argv[1], "tree", 4) == 0) {
|
||||
printf("\nDevice Tree:\n");
|
||||
usb_show_tree(usb_get_dev_index(0));
|
||||
puts("USB device tree:\n");
|
||||
for (i = 0; i < USB_MAX_DEVICE; i++) {
|
||||
dev = usb_get_dev_index(i);
|
||||
if (dev == NULL)
|
||||
break;
|
||||
if (dev->parent == NULL)
|
||||
usb_show_tree(dev);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
if (strncmp(argv[1], "inf", 3) == 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue