[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