summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2014-01-06 13:27:20 -0200
committerStefano Babic <sbabic@denx.de>2014-01-13 11:52:28 +0100
commit03ce33027469af14b98d6041fbb6cbd52d7c8712 (patch)
tree7fa927fdc34a4597e4b4dba61ff1c0e7005fb662
parent12c20c0c9ba4c52fc512f7192c26c5b7d78f4cbe (diff)
downloadu-boot-imx-03ce33027469af14b98d6041fbb6cbd52d7c8712.zip
u-boot-imx-03ce33027469af14b98d6041fbb6cbd52d7c8712.tar.gz
u-boot-imx-03ce33027469af14b98d6041fbb6cbd52d7c8712.tar.bz2
mx6sabresd: Add eMMC specific environment to allow U-Boot update
A new 'update_emmc_firmware' target is added to allow for easy U-Boot update in the eMMC as it has secury boot partition and this needs specific handling on how to program the specific partition. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--include/configs/mx6sabre_common.h23
-rw-r--r--include/configs/mx6sabresd.h2
2 files changed, 25 insertions, 0 deletions
diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
index 21c848f..5ee7fa5 100644
--- a/include/configs/mx6sabre_common.h
+++ b/include/configs/mx6sabre_common.h
@@ -95,6 +95,28 @@
#define CONFIG_LOADADDR 0x12000000
#define CONFIG_SYS_TEXT_BASE 0x17800000
+#ifdef CONFIG_SUPPORT_EMMC_BOOT
+#define EMMC_ENV \
+ "emmcdev=2\0" \
+ "update_emmc_firmware=" \
+ "if test ${ip_dyn} = yes; then " \
+ "setenv get_cmd dhcp; " \
+ "else " \
+ "setenv get_cmd tftp; " \
+ "fi; " \
+ "if ${get_cmd} ${update_sd_firmware_filename}; then " \
+ "if mmc dev ${emmcdev} && " \
+ "mmc open ${emmcdev} 1; then " \
+ "setexpr fw_sz ${filesize} / 0x200; " \
+ "setexpr fw_sz ${fw_sz} + 1; " \
+ "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
+ "mmc close ${emmcdev} 1; " \
+ "fi; " \
+ "fi\0"
+#else
+#define EMMC_ENV ""
+#endif
+
#define CONFIG_EXTRA_ENV_SETTINGS \
"script=boot.scr\0" \
"uimage=uImage\0" \
@@ -121,6 +143,7 @@
"mmc write ${loadaddr} 0x2 ${fw_sz}; " \
"fi; " \
"fi\0" \
+ EMMC_ENV \
"mmcargs=setenv bootargs console=${console},${baudrate} " \
"root=${mmcroot}\0" \
"loadbootscript=" \
diff --git a/include/configs/mx6sabresd.h b/include/configs/mx6sabresd.h
index 3229bc7..4919f53 100644
--- a/include/configs/mx6sabresd.h
+++ b/include/configs/mx6sabresd.h
@@ -23,6 +23,8 @@
#endif
#define PHYS_SDRAM_SIZE (1u * 1024 * 1024 * 1024)
+#define CONFIG_SUPPORT_EMMC_BOOT /* eMMC specific */
+
#include "mx6sabre_common.h"
#define CONFIG_SYS_FSL_USDHC_NUM 3