summaryrefslogtreecommitdiff
path: root/include/configs
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2016-03-18 23:43:39 +0100
committerMichal Simek <michal.simek@xilinx.com>2016-04-04 20:28:39 +0200
commit4d1ed9c71561becbb9d612fe584bb6332eb24168 (patch)
treefe999f125cf114b7ad3e42cd4e92534bffc5b219 /include/configs
parent26ae9204c4093195dbd16139df345cbc773cd7d0 (diff)
downloadu-boot-imx-4d1ed9c71561becbb9d612fe584bb6332eb24168.zip
u-boot-imx-4d1ed9c71561becbb9d612fe584bb6332eb24168.tar.gz
u-boot-imx-4d1ed9c71561becbb9d612fe584bb6332eb24168.tar.bz2
ARM: zynq: Add uEnv.txt support
preboot macro load the uEnv.txt from mmc 0 when bootmode is mmc. uenvcmd is executed after load of uEnv.txt if it is defined in the uEnv.txt env text file. The default importbootenv macro reads the uEnv.txt from mmc. Additional to this, usb_loadbootenv is added to support loading uEnv.txt from usb dev 0. Signed-off-by: Jason Wu <jason.wu.misc@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'include/configs')
-rw-r--r--include/configs/zynq-common.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 0a0517c..d8e3fa4 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -203,6 +203,9 @@
# define CONFIG_ENV_OFFSET 0xE0000
#endif
+/* enable preboot to be loaded before CONFIG_BOOTDELAY */
+#define CONFIG_PREBOOT
+
/* Default environment */
#ifndef CONFIG_EXTRA_ENV_SETTINGS
#define CONFIG_EXTRA_ENV_SETTINGS \
@@ -213,6 +216,29 @@
"nor_flash_off=0xE2100000\0" \
"fdt_high=0x20000000\0" \
"initrd_high=0x20000000\0" \
+ "loadbootenv_addr=0x2000000\0" \
+ "bootenv=uEnv.txt\0" \
+ "bootenv_dev=mmc\0" \
+ "loadbootenv=load ${bootenv_dev} 0 ${loadbootenv_addr} ${bootenv}\0" \
+ "importbootenv=echo Importing environment from ${bootenv_dev} ...; " \
+ "env import -t ${loadbootenv_addr} $filesize\0" \
+ "bootenv_existence_test=test -e ${bootenv_dev} 0 /${bootenv}\0" \
+ "setbootenv=if env run bootenv_existence_test; then " \
+ "if env run loadbootenv; then " \
+ "env run importbootenv; " \
+ "fi; " \
+ "fi; \0" \
+ "sd_loadbootenv=set bootenv_dev mmc && " \
+ "run setbootenv \0" \
+ "usb_loadbootenv=set bootenv_dev usb && usb start && run setbootenv \0" \
+ "preboot=if test $modeboot = sdboot; then " \
+ "run sd_loadbootenv; " \
+ "echo Checking if uenvcmd is set ...; " \
+ "if test -n $uenvcmd; then " \
+ "echo Running uenvcmd ...; " \
+ "run uenvcmd; " \
+ "fi; " \
+ "fi; \0" \
"norboot=echo Copying FIT from NOR flash to RAM... && " \
"cp.b ${nor_flash_off} ${load_addr} ${fit_size} && " \
"bootm ${load_addr}\0" \