From: Nathan Rossi Date: Fri, 30 Aug 2013 06:13:15 +0000 (+1000) Subject: zynq_common: Add uEnv.txt boot environment load support X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c7e6af90ef545902daacb0d83e5dc29c722dcf9d;p=thirdparty%2Fu-boot.git zynq_common: Add uEnv.txt boot environment load support Add support for using a uEnv.txt file for loading and or modifying the existing boot environment during a Zynq "sdboot". If the environment fails to load during the "sdboot" continue booting from SD normally. This uEnv.txt and bootenv/uenv default environment variables are based on the implementation used in omap3_beagle.h. Signed-off-by: Nathan Rossi Signed-off-by: Michal Simek --- diff --git a/include/configs/zynq_common.h b/include/configs/zynq_common.h index 762aacae496..a7cadc4b5d1 100644 --- a/include/configs/zynq_common.h +++ b/include/configs/zynq_common.h @@ -237,11 +237,16 @@ "devicetree_image=devicetree.dtb\0" \ "bitstream_image=system.bit.bin\0" \ "loadbit_addr=0x100000\0" \ + "loadbootenv_addr=0x2000000\0" \ "kernel_size=0x500000\0" \ "devicetree_size=0x20000\0" \ "ramdisk_size=0x5E0000\0" \ "fdt_high=0x20000000\0" \ "initrd_high=0x20000000\0" \ + "bootenv=uEnv.txt\0" \ + "loadbootenv=fatload mmc 0 ${loadbootenv_addr} ${bootenv}\0" \ + "importbootenv=echo Importing environment from SD ...; " \ + "env import -t ${loadbootenv_addr} $filesize\0" \ "mmc_loadbit_fat=echo Loading bitstream from SD/MMC/eMMC to RAM.. && " \ "mmcinfo && " \ "fatload mmc 0 ${loadbit_addr} ${bitstream_image} && " \ @@ -259,12 +264,23 @@ "echo Copying ramdisk... && " \ "sf read 0x2000000 0x620000 ${ramdisk_size} && " \ "bootm 0x3000000 0x2000000 0x2A00000\0" \ - "sdboot=echo Copying Linux from SD to RAM... && " \ - "mmcinfo && " \ - "fatload mmc 0 0x3000000 ${kernel_image} && " \ - "fatload mmc 0 0x2A00000 ${devicetree_image} && " \ - "fatload mmc 0 0x2000000 ${ramdisk_image} && " \ - "bootm 0x3000000 0x2000000 0x2A00000\0" \ + "uenvboot=" \ + "if run loadbootenv; then " \ + "echo Loaded environment from ${bootenv}; " \ + "run importbootenv; " \ + "fi; " \ + "if test -n $uenvcmd; then " \ + "echo Running uenvcmd ...; " \ + "run uenvcmd; " \ + "fi\0" \ + "sdboot=if mmcinfo; then " \ + "run uenvboot; " \ + "echo Copying Linux from SD to RAM... && " \ + "fatload mmc 0 0x3000000 ${kernel_image} && " \ + "fatload mmc 0 0x2A00000 ${devicetree_image} && " \ + "fatload mmc 0 0x2000000 ${ramdisk_image} && " \ + "bootm 0x3000000 0x2000000 0x2A00000; " \ + "fi\0" \ "nandboot=echo Copying Linux from NAND flash to RAM... && " \ "nand read 0x3000000 0x100000 ${kernel_size} && " \ "nand read 0x2A00000 0x600000 ${devicetree_size} && " \