[U-Boot] [PATCH] arm: sunxi: do not force USB for arch-sunxi

Yann E. MORIN yann.morin.1998 at free.fr
Thu Nov 10 19:00:33 CET 2016


Ian, Hans, All,

On 2016-10-31 22:33 +0100, Yann E. MORIN spake thusly:
> Currently, USB is forced-enabled for the sunxi familly, and there is no
> way to disable it.
> 
> However, USB takes a long time to initiliase, delaying the boot by up to
> 5 seconds (without any USB device attached!). This is a very long delay,
> especially in cases where USB booting is not wanted at all, and where
> the device is expected to boot relatively often (even in production).
> 
> Change the way the dependencies are handled, by only forcibly selecting
> USB when CONFIG_DISTRO_DEFAULTS ("defaults suitable for booting general
> purpose Linux distributions") is set. This option defaults to y for the
> sunxi familly, so the current default behaviour is kept unchanged. Users
> interested in boot time and/or size will be able to disable this to
> further disable USB.
> 
> With USB disabled, the time spent in U-Boot before handing control to
> the Linux kernel is about 1s now, down from ~5s (Nanopi Neo, sunxi H3).

Just a gentle ping... ;-)

Regards,
Yann E. MORIN.

> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Ian Campbell <ijc at hellion.org.uk>
> Cc: Hans De Goede <hdegoede at redhat.com>
> 
> ---
> This is a tentative patch, acting as an RFC (unless it is good to go as
> is, of course!).
> 
> This has been discussed on IRC with <ssvb> and <apritzel>, and this
> solution is what emerged from the discussions as a first step.
> 
> The second step would be to defer intialisation of drivers until they
> are actually needed, i.e. if main boot is not from USB, then don't
> initiliase USB; if main boot fails, then initialise addtional drivers,
> like USB... Or something along those lines... That's a much tougher
> work for me, though...
> 
> There are other features that are currently forced like USB, but USB
> is by far the worst "offender" and a low-hanging fruit. Those other
> "offenders" can be handled in follow up changes.
> ---
>  arch/arm/Kconfig | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index d7a9b11..c13f60f 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -561,22 +561,22 @@ config ARCH_SUNXI
>  	bool "Support sunxi (Allwinner) SoCs"
>  	select CMD_GPIO
>  	select CMD_MMC if MMC
> -	select CMD_USB
> +	select CMD_USB if DISTRO_DEFAULTS
>  	select DM
>  	select DM_ETH
>  	select DM_GPIO
>  	select DM_KEYBOARD
>  	select DM_SERIAL
> -	select DM_USB
> +	select DM_USB if DISTRO_DEFAULTS
>  	select OF_BOARD_SETUP
>  	select OF_CONTROL
>  	select OF_SEPARATE
>  	select SPL_STACK_R if SUPPORT_SPL
>  	select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
>  	select SYS_NS16550
> -	select USB
> -	select USB_STORAGE
> -	select USB_KEYBOARD
> +	select USB if DISTRO_DEFAULTS
> +	select USB_STORAGE if DISTRO_DEFAULTS
> +	select USB_KEYBOARD if DISTRO_DEFAULTS
>  	select USE_TINY_PRINTF
>  
>  config TARGET_TS4800
> -- 
> 2.7.4
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the U-Boot mailing list