On Mon, 14 Sep 2015 15:15:30 +0200
Bernhard Nortmann <bernhard.nortm...@web.de> wrote:

> This patch makes use of the previous changes to add a new "fel" boot
> target for sunxi boards.
> 
> When booting via FEL, it's often desirable to work around the absence
> of other (usable) boot devices - or to be able to override them,
> deviating from the standard boot sequence. To achieve this, the "fel"
> boot target gets the highest priority, but won't actually do anything
> unless certain criteria are met.
> 
> The "bootcmd_fel" implementation proposed here first tests if an actual
> FEL boot takes place (using the "fel_booted" env var), and secondly
> checks that "fel_scriptaddr" was set (originating from the 'loader',
> i.e. the sunxi-tools fel utility). If both checks pass, then it will
> try to execute the boot script (boot.scr) at the given address. In case
> of an error (e.g. an invalid image), the source command might return
> "false", causing "distro_bootcmd" to proceed with the next boot target.
> 
> Signed-off-by: Bernhard Nortmann <bernhard.nortm...@web.de>
> 
> ---
> 
> Changes in v2:
> - renamed fel_data_addr to fel_scriptaddr
> - combined both tests into one as suggested by Hans de Goede
> 
>  include/configs/sunxi-common.h | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
> index 48cc4ed..889146b 100644
> --- a/include/configs/sunxi-common.h
> +++ b/include/configs/sunxi-common.h
> @@ -423,7 +423,18 @@ extern int soft_i2c_gpio_scl;
>  #define BOOT_TARGET_DEVICES_USB(func)
>  #endif
>  
> +/* FEL boot support, auto-execute boot.scr if a script address was provided 
> */
> +#define BOOTENV_DEV_FEL(devtypeu, devtypel, instance) \
> +     "bootcmd_fel=" \
> +             "if test -n ${fel_booted} && test -n ${fel_scriptaddr}; then " \
> +                     "echo '(FEL boot)'; " \
> +                     "source ${fel_scriptaddr}; " \
> +             "fi\0"
> +#define BOOTENV_DEV_NAME_FEL(devtypeu, devtypel, instance) \
> +     "fel "
> +
>  #define BOOT_TARGET_DEVICES(func) \
> +     func(FEL, fel, na) \
>       BOOT_TARGET_DEVICES_MMC(func) \
>       BOOT_TARGET_DEVICES_SCSI(func) \
>       BOOT_TARGET_DEVICES_USB(func) \

Acked-by: Siarhei Siamashka <siarhei.siamas...@gmail.com>

-- 
Best regards,
Siarhei Siamashka
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to