[U-Boot] [PATCH] At start of autoboot check, flush any pending RX bytes

Tom Rini trini at konsulko.com
Thu Jan 14 18:51:20 CET 2016


On Thu, Jan 14, 2016 at 11:48:07AM -0600, Robert Nelson wrote:
> On Thu, Jan 14, 2016 at 11:31 AM, Tom Rini <trini at konsulko.com> wrote:
> 
> > On Mon, Jan 11, 2016 at 09:59:18AM -0700, Simon Glass wrote:
> > > Hi Craig,
> > >
> > > On 20 December 2015 at 19:07, Craig McQueen
> > > <craig.mcqueen at innerrange.com> wrote:
> > > > This is to avoid the boot sequence halting due to initial "junk"
> > > > received on serial input.
> > > >
> > > > Signed-off-by: Craig McQueen <craig.mcqueen at innerrange.com>
> > > > ---
> > > > I have found that on the BeagleBone Black, U-Boot occasionally halts at
> > > > the U-Boot prompt at boot-up, whether power-up, warm external
> > > > reset or software reset. I have seen other people report the same
> > issue.
> > > >
> > > > This seems to be due to U-Boot receiving "junk" data on the serial
> > > > console. The BeagleBone Black has a pull-down resistor which was
> > > > apparently added to try to mitigate this issue, but it doesn't entirely
> > > > fix it.
> > >
> > > I wonder if this can be fixed for that board only?
> >
> > No, and it's not -exactly- a that board only problem.  It's a HW design
> > issue that can show up elsewhere too.  I _think_ however in this case
> > the answer would be to migrate to perhaps CONFIG_AUTOBOOT_KEYED_CTRLC as
> > that's one of the reason various other boards use that set of options.
> >
> > I would suggest bringing this up on the beaglebone list to see what the
> > various people that ship and support these boards think, thanks!
> >
> 
> I actually enabled this feature this week by default for beagleboard.org:
> 
> diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
> index 27cb881..8699953 100644
> --- a/configs/am335x_evm_defconfig
> +++ b/configs/am335x_evm_defconfig
> @@ -3,7 +3,10 @@ CONFIG_TARGET_AM335X_EVM=y
>  CONFIG_SPL_STACK_R_ADDR=0x82000000
>  CONFIG_SPL=y
>  CONFIG_SPL_STACK_R=y
> -CONFIG_SYS_EXTRA_OPTIONS="NAND"
> +CONFIG_AUTOBOOT_KEYED=y
> +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
> +CONFIG_AUTOBOOT_DELAY_STR="d"
> +CONFIG_AUTOBOOT_STOP_STR=" "
>  # CONFIG_CMD_IMLS is not set
>  # CONFIG_CMD_FLASH is not set
>  CONFIG_CMD_GPIO=y
> 
> It'll take time to replace older images but on target users can just:
> 
> cd /opt/scripts/tools/developers/
> git pull
> sudo ./update_bootloader.sh
> 
> U-Boot SPL 2016.01-00001-g4eb802e (Jan 13 2016 - 11:14:31)
> Trying to boot from MMC
> bad magic
> 
> 
> U-Boot 2016.01-00001-g4eb802e (Jan 13 2016 - 11:14:31 -0600), Build:
> jenkins-github_Bootloader-Builder-313
> 
>        Watchdog enabled
> I2C:   ready
> DRAM:  512 MiB
> Reset Source: Global external warm reset has occurred.
> Reset Source: Power-on reset has occurred.
> MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
> Using default environment
> 
> Net:   <ethaddr> not set. Validating first E-fuse MAC
> cpsw, usb_ether
> Press SPACE to abort autoboot in 2 seconds
> =>

Space eh? OK.  Now would be the time to push this upstream as the merge
window just opened :)

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160114/eda9797c/attachment.sig>


More information about the U-Boot mailing list