[U-Boot] [PATCH] USB: add CONFIG_USB_INIT to autoinitialize USB before main_loop

Marek Vasut marek.vasut at gmail.com
Thu Dec 22 05:04:32 CET 2011


> This allows systems to pause autoboot with USB keyboard.  Tested on
> tegra2 seaboard.
> 
> Signed-off-by: Allen Martin <amartin at nvidia.com>

Can't you just add "usb reset" to preboot env?

M
> ---
>  README               |    5 +++++
>  arch/arm/lib/board.c |    9 +++++++++
>  2 files changed, 14 insertions(+), 0 deletions(-)
> 
> diff --git a/README b/README
> index 882483b..40e8481 100644
> --- a/README
> +++ b/README
> @@ -1132,6 +1132,11 @@ The following options need to be configured:
>  		CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the
>  		txfilltuning field in the EHCI controller on reset.
> 
> +		CONFIG_USB_INIT causes USB to be initialized
> +		automatically before the main command loop.  This is
> +		useful if you have a USB keyboard and you want to use
> +		it to stop autoboot.
> +
>  - USB Device:
>  		Define the below if you wish to use the USB console.
>  		Once firmware is rebuilt from a serial console issue the
> diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
> index 3d78274..6787048 100644
> --- a/arch/arm/lib/board.c
> +++ b/arch/arm/lib/board.c
> @@ -64,6 +64,10 @@
>  #include "../drivers/net/lan91c96.h"
>  #endif
> 
> +#ifdef CONFIG_USB_INIT
> +#include <usb.h>
> +#endif
> +
>  DECLARE_GLOBAL_DATA_PTR;
> 
>  ulong monitor_flash_len;
> @@ -548,6 +552,11 @@ void board_init_r(gd_t *id, ulong dest_addr)
>  	api_init();
>  #endif
> 
> +#ifdef CONFIG_USB_INIT
> +	/* this needs to be before console init for USB kbd to work as stdin */
> +	usb_init();
> +#endif
> +
>  	console_init_r();	/* fully init console as a device */
> 
>  #if defined(CONFIG_ARCH_MISC_INIT)


More information about the U-Boot mailing list