[U-Boot] [PATCH 7/9] mx53loco: Add support to dynamically choose between ftd use or not

Stefano Babic sbabic at denx.de
Wed Dec 26 12:31:58 CET 2012


On 21/12/2012 17:59, Otavio Salvador wrote:
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> ---
>  include/configs/mx53loco.h |   15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 

Hi Otavio,

> diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
> index 4cfdc0b..505957c 100644
> --- a/include/configs/mx53loco.h
> +++ b/include/configs/mx53loco.h
> @@ -118,6 +118,8 @@
>  #define CONFIG_EXTRA_ENV_SETTINGS \
>  	"script=boot.scr\0" \
>  	"uimage=uImage\0" \
> +	"ftd_file=imx53-qsb.dtb\0" \
> +	"ftd_addr=0x71000000\0" \
>  	"mmcdev=0\0" \
>  	"mmcpart=2\0" \
>  	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
> @@ -129,13 +131,22 @@
>  	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
>  	"mmcboot=echo Booting from mmc ...; " \
>  		"run mmcargs; " \
> -		"bootm\0" \
> +		"if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \
> +			"bootm ${loadaddr} - ${ftd_addr}; " \
> +		"else " \
> +			"bootm; " \
> +		"fi;\0" \
>  	"netargs=setenv bootargs console=ttymxc0,${baudrate} " \
>  		"root=/dev/nfs " \
>  		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
>  	"netboot=echo Booting from net ...; " \
>  		"run netargs; " \
> -		"dhcp ${uimage}; bootm\0" \
> +		"dhcp ${uimage}; " \
> +		"if dhcp ${ftd_addr} ${ftd_file}; then " \
> +			"bootm ${loadaddr} - ${ftd_addr}; " \
> +		"else " \
> +			"bootm; " \
> +		"fi;\0"
>  

Only to remark that this is the correct behavior. The kernel with fdt is
booted independently if this is wanted or not, but if the fdt file is
loaded successfully from MMC or network. This can have some drawback
effects if, for example, the fdt is simply stored on the TFTP server,
but we want to boot a kernel without DT. For example, when someone wants
to test both kernels or there are multiple instances of the same board
type (mx53loco in this case) loading from the same TFTP server.

In your patch, the behavior depends if the fdt is simply present on the
media, but this does not always mean that the file must be loaded.
Should be not better to set variable as flag to force the desired
behavior and to be sure that the system does not boot in a different way
as the user thinks ?

In other words, something like :

	"if boot_fdt; then " \
		"if dhcp ${ftd_addr} ${ftd_file}; then " \
			"bootm ${loadaddr} - ${ftd_addr}; " \
		"else " \
			"echo Error: I cannot boot a DT kernel; \"
		"fi; \"
	" else bootm; fi;\0"

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list