From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Thu, 10 Nov 2016 19:00:33 +0100 Subject: [U-Boot] [PATCH] arm: sunxi: do not force USB for arch-sunxi In-Reply-To: <1477949620-31642-1-git-send-email-yann.morin.1998@free.fr> References: <1477949620-31642-1-git-send-email-yann.morin.1998@free.fr> Message-ID: <20161110180033.GB3564@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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" > Cc: Ian Campbell > Cc: Hans De Goede > > --- > 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 and , 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. | '------------------------------^-------^------------------^--------------------'