[U-Boot] [PATCH] mx25pdk: Align the environment with other FSL boards

Stefano Babic sbabic at denx.de
Thu Mar 6 13:45:11 CET 2014


Hi Fabio,

On 05/03/2014 19:51, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam at freescale.com>
> 
> Allow the boot of a device tree mainline kernel by aligning the environment
> variables with other FSL boards.
> 
> Tested NFS boot of a dt 3.14-rc5 kernel.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
>  include/configs/mx25pdk.h | 103 +++++++++++++++++++++++++++++++++++++++++++---
>  1 file changed, 98 insertions(+), 5 deletions(-)
> 
> diff --git a/include/configs/mx25pdk.h b/include/configs/mx25pdk.h
> index af6aafa..aff2419 100644
> --- a/include/configs/mx25pdk.h
> +++ b/include/configs/mx25pdk.h
> @@ -62,6 +62,7 @@
>  /* No NOR flash present */
>  #define CONFIG_ENV_OFFSET      (6 * 64 * 1024)
>  #define CONFIG_ENV_SIZE        (8 * 1024)
> +#define CONFIG_SYS_MMC_ENV_DEV		0
>  
>  #define CONFIG_SYS_NO_FLASH
>  #define CONFIG_ENV_IS_IN_MMC
> @@ -69,7 +70,7 @@
>  
>  /* U-Boot general configuration */
>  #define CONFIG_AUTO_COMPLETE
> -#define CONFIG_SYS_CBSIZE	256	/* Console I/O Buffer Size  */
> +#define CONFIG_SYS_CBSIZE	1024	/* Console I/O Buffer Size  */
>  /* Print buffer sz */
>  #define CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + \
>  		sizeof(CONFIG_SYS_PROMPT) + 16)
> @@ -132,12 +133,104 @@
>  #define CONFIG_LOADADDR		0x81000000	/* loadaddr env var */
>  #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
>  
> +#define CONFIG_DEFAULT_FDT_FILE		"imx25-pdk.dtb"
> +
>  #define CONFIG_EXTRA_ENV_SETTINGS \
>  	"script=boot.scr\0" \
> -	"uimage=uImage\0" \
> -	"netargs=setenv bootargs console=ttymxc0,${baudrate} " \
> +	"image=zImage\0" \
> +	"console=ttymxc0\0" \
> +	"splashpos=m,m\0" \
> +	"fdt_high=0xffffffff\0" \
> +	"initrd_high=0xffffffff\0" \
> +	"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
> +	"fdt_addr=0x82000000\0" \
> +	"boot_fdt=try\0" \
> +	"ip_dyn=yes\0" \
> +	"mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
> +	"mmcpart=1\0" \
> +	"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
> +	"update_sd_firmware_filename=u-boot.imx\0" \
> +	"update_sd_firmware=" \
> +		"if test ${ip_dyn} = yes; then " \
> +			"setenv get_cmd dhcp; " \
> +		"else " \
> +			"setenv get_cmd tftp; " \
> +		"fi; " \
> +		"if mmc dev ${mmcdev}; then "	\
> +			"if ${get_cmd} ${update_sd_firmware_filename}; then " \
> +				"setexpr fw_sz ${filesize} / 0x200; " \
> +				"setexpr fw_sz ${fw_sz} + 1; "	\
> +				"mmc write ${loadaddr} 0x2 ${fw_sz}; " \
> +			"fi; "	\
> +		"fi\0" \
> +	"mmcargs=setenv bootargs console=${console},${baudrate} " \
> +		"root=${mmcroot}\0" \
> +	"loadbootscript=" \
> +		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
> +	"bootscript=echo Running bootscript from mmc ...; " \
> +		"source\0" \
> +	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
> +	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
> +	"mmcboot=echo Booting from mmc ...; " \
> +		"run mmcargs; " \
> +		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
> +			"if run loadfdt; then " \
> +				"bootz ${loadaddr} - ${fdt_addr}; " \
> +			"else " \
> +				"if test ${boot_fdt} = try; then " \
> +					"bootz; " \
> +				"else " \
> +					"echo WARN: Cannot load the DT; " \
> +				"fi; " \
> +			"fi; " \
> +		"else " \
> +			"bootz; " \
> +		"fi;\0" \
> +	"netargs=setenv bootargs console=${console},${baudrate} " \
>  		"root=/dev/nfs " \
> -		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
> -	"bootcmd=run netargs; dhcp ${uimage}; bootm\0" \
> +	"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
> +		"netboot=echo Booting from net ...; " \
> +		"run netargs; " \
> +		"if test ${ip_dyn} = yes; then " \
> +			"setenv get_cmd dhcp; " \
> +		"else " \
> +			"setenv get_cmd tftp; " \
> +		"fi; " \
> +		"${get_cmd} ${image}; " \
> +		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
> +			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
> +				"bootz ${loadaddr} - ${fdt_addr}; " \
> +			"else " \
> +				"if test ${boot_fdt} = try; then " \
> +					"bootz; " \
> +				"else " \
> +					"echo WARN: Cannot load the DT; " \
> +				"fi; " \
> +			"fi; " \
> +		"else " \
> +			"bootz; " \
> +		"fi;\0"
> +
> +#define CONFIG_BOOTCOMMAND \
> +	   "mmc dev ${mmcdev}; if mmc rescan; then " \
> +		   "if run loadbootscript; then " \
> +			   "run bootscript; " \
> +		   "else " \
> +			   "if run loadimage; then " \
> +				   "run mmcboot; " \
> +			   "else run netboot; " \
> +			   "fi; " \
> +		   "fi; " \
> +	   "else run netboot; fi"
> +
> +/* Miscellaneous configurable options */
> +#define CONFIG_SYS_LONGHELP
> +#define CONFIG_SYS_HUSH_PARSER
> +#define CONFIG_AUTO_COMPLETE
> +
> +/* Print Buffer Size */
> +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
> +#define CONFIG_SYS_MAXARGS	       16
> +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
>  
>  #endif /* __CONFIG_H */
> 

Agree. It would be easier to have later a common code for the
environment if all boards share the same default.

Acked-by: Stefano Babic <sbabic at denx.de>

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