[U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment

Marek Vasut marex at denx.de
Wed Jan 23 20:12:42 CET 2013


Dear Otavio Salvador,

> This adds a default environment with support for MMC booting.
> 
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> ---
> Changes in v5:
> - Remove duplicate environment setting
> - Improve commit log
> 
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
> 
>  include/configs/mx23_olinuxino.h | 74
> ++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+),
> 7 deletions(-)
> 
> diff --git a/include/configs/mx23_olinuxino.h
> b/include/configs/mx23_olinuxino.h index bc63481..fc859b3 100644
> --- a/include/configs/mx23_olinuxino.h
> +++ b/include/configs/mx23_olinuxino.h
> @@ -114,6 +114,14 @@
>  /*
>   * MMC Driver
>   */
> +#define	CONFIG_ENV_IS_IN_MMC
> +#define	CONFIG_ENV_OVERWRITE
> +#ifdef	CONFIG_ENV_IS_IN_MMC
> +#define	CONFIG_ENV_OFFSET	(256 * 1024)
> +#define	CONFIG_ENV_SIZE	(16 * 1024)
> +#define	CONFIG_SYS_MMC_ENV_DEV 0
> +#endif

The stuff aboce goes into ENV section below

> +#define	CONFIG_CMD_SAVEENV

CMD goes under CMD section (is this really even needed? saveenv is there all the 
time anyway)

>  #ifdef	CONFIG_CMD_MMC
>  #define	CONFIG_MMC
>  #define	CONFIG_BOUNCE_BUFFER
> @@ -127,21 +135,73 @@
>  #define CONFIG_APBH_DMA
> 
>  /*
> - * ENV -- nowhere so far
> - */
> -#define	CONFIG_ENV_SIZE			(16 * 1024)
> -#define	CONFIG_ENV_IS_NOWHERE
> -
> -/*
>   * Boot Linux
>   */
>  #define	CONFIG_CMDLINE_TAG
>  #define	CONFIG_SETUP_MEMORY_TAGS
>  #define	CONFIG_BOOTDELAY	3
>  #define	CONFIG_BOOTFILE		"uImage"
> -#define	CONFIG_BOOTARGS		"console=ttyAMA0,115200n8 "
>  #define	CONFIG_LOADADDR		0x42000000
>  #define	CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
>  #define	CONFIG_OF_LIBFDT
> 
> +/*
> + * Extra Environments
> + */
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +	"update_sd_firmware_filename=u-boot.sd\0" \

This is still broken, mxsboot doesn't work on mx23.

> +	"update_sd_firmware="		/* Update the SD firmware partition */ \
> +		"if mmc rescan ; then "	\
> +		"if tftp ${update_sd_firmware_filename} ; then " \
> +		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
> +		"setexpr fw_sz ${fw_sz} + 1 ; "	\
> +		"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
> +		"fi ; "	\
> +		"fi\0" \
> +	"script=boot.scr\0"	\
> +	"uimage=uImage\0" \
> +	"console=ttyAMA0\0" \
> +	"fdt_file=imx23-olinuxino.dtb\0" \
> +	"fdt_addr=0x41000000\0" \
> +	"boot_fdt=try\0" \
> +	"mmcdev=0\0" \
> +	"mmcpart=2\0" \
> +	"mmcroot=/dev/mmcblk0p3 rw rootwait\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" \
> +	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\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 " \
> +				"bootm ${loadaddr} - ${fdt_addr}; " \
> +			"else " \
> +				"if test ${boot_fdt} = try; then " \
> +					"bootm; " \
> +				"else " \
> +					"echo WARN: Cannot load the DT; " \
> +				"fi; " \
> +			"fi; " \
> +		"else " \
> +			"bootm; " \
> +		"fi;\0"
> +
> +#define CONFIG_BOOTCOMMAND \
> +	"mmc dev ${mmcdev}; if mmc rescan; then " \
> +		"if run loadbootscript; then " \
> +			"run bootscript; " \
> +		"else " \
> +			"if run loaduimage; then " \
> +				"run mmcboot; " \
> +			"else " \
> +				"echo ERR: Fail to boot from MMC; " \
> +			"fi; " \
> +		"fi; " \
> +	"else exit; fi"
> +
>  #endif /* __MX23_OLINUXINO_CONFIG_H__ */


More information about the U-Boot mailing list