Dear Otavio Salvador, > This adds a default environment with support for MMC booting. > > Signed-off-by: Otavio Salvador <ota...@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__ */ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot