[U-Boot] [PATCH 2/2] mx53ard: Rework default environment to support FDT, MMC and netboot

2013-04-24 Thread Otavio Salvador
This reworks the environment settings to be aligned with the other
i.MX boards. The loadaddr has been changed to allow the Freescale
kernel and mainline kernel to work without environment changes.

Signed-off-by: Otavio Salvador 
---
 include/configs/mx53ard.h | 101 +++---
 1 file changed, 78 insertions(+), 23 deletions(-)

diff --git a/include/configs/mx53ard.h b/include/configs/mx53ard.h
index 148f7a2..339bf5a 100644
--- a/include/configs/mx53ard.h
+++ b/include/configs/mx53ard.h
@@ -90,6 +90,7 @@
 #include 
 
 #undef CONFIG_CMD_IMLS
+#define CONFIG_CMD_SETEXPR
 
 #define CONFIG_BOOTDELAY   3
 
@@ -100,45 +101,98 @@
 #define CONFIG_SMC911X_16_BIT
 #define CONFIG_SMC911X_BASE CS1_BASE_ADDR
 
-#define CONFIG_LOADADDR0x7080  /* loadaddr env var */
+#define CONFIG_LOADADDR0x7200  /* loadaddr env var */
 #define CONFIG_SYS_TEXT_BASE0x7780
 
+#define CONFIG_DEFAULT_FDT_FILE"imx53-ard.dtb"
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
"script=boot.scr\0" \
"uimage=uImage\0" \
-   "mmcdev=0\0" \
-   "mmcpart=2\0" \
-   "mmcroot=/dev/mmcblk0p3 rw\0" \
-   "mmcrootfstype=ext3 rootwait\0" \
-   "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
-   "root=${mmcroot} " \
-   "rootfstype=${mmcrootfstype}\0" \
+   "console=ttymxc0\0" \
+   "fdt_high=0x\0" \
+   "initrd_high=0x\0" \
+   "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
+   "fdt_addr=0x7100\0" \
+   "boot_fdt=try\0" \
+   "ip_dyn=yes\0" \
+   "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
+   "mmcpart=" __stringify(CONFIG_SYS_MMC_ENV_PART) "\0" \
+   "mmcroot=/dev/mmcblk0p3 rootwait rw\0" \
+   "update_sd_firmware_filename=u-boot.imx\0" \
+   "update_sd_firmware=" \
+   "if test ${ip_dyn} = yes; then " \
+   "setenv get_cmd dhcp; " \
+   "else " \
+   "setenv get_cmd tftp; " \
+   "fi; " \
+   "if mmc dev ${mmcdev}; then "   \
+   "if ${get_cmd} ${update_sd_firmware_filename}; then " \
+   "setexpr fw_sz ${filesize} / 0x200; " \
+   "setexpr fw_sz ${fw_sz} + 1; "  \
+   "mmc write ${loadaddr} 0x2 ${fw_sz}; " \
+   "fi; "  \
+   "fi\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; " \
-   "bootm\0" \
-   "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
+   "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" \
+   "netargs=setenv bootargs console=${console},${baudrate} " \
"root=/dev/nfs " \
-   "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-   "netboot=echo Booting from net ...; " \
+   "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
+   "netboot=echo Booting from net ...; " \
"run netargs; " \
-   "dhcp ${uimage}; bootm\0" \
-
-#define CONFIG_BOOTCOMMAND \
-   "mmc dev ${mmcdev}; if mmc rescan; then " \
-   "if run loadbootscript; then " \
-   "run bootscript; " \
+   "if test ${ip_dyn} = yes; then " \
+   "setenv get_cmd dhcp; " \
"else " \
-   "if run loaduimage; then " \
-   "run mmcboot; " \
-   "else run netboot; " \
-   "fi; " \
+   "setenv get_cmd tftp; " \
"fi; " \
-   "else run netboot; fi"
+   "${get_cmd} ${uimage}; " \
+   "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+   "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
+   "boo

Re: [U-Boot] [PATCH 2/2] mx53ard: Rework default environment to support FDT, MMC and netboot

2013-04-24 Thread Fabio Estevam
On Wed, Apr 24, 2013 at 6:23 PM, Otavio Salvador
 wrote:
> This reworks the environment settings to be aligned with the other
> i.MX boards. The loadaddr has been changed to allow the Freescale
> kernel and mainline kernel to work without environment changes.
>
> Signed-off-by: Otavio Salvador 

Looks good:

Acked-by: Fabio Estevam 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 2/2] mx53ard: Rework default environment to support FDT, MMC and netboot

2013-04-26 Thread Stefano Babic
On 24/04/2013 23:23, Otavio Salvador wrote:
> This reworks the environment settings to be aligned with the other
> i.MX boards. The loadaddr has been changed to allow the Freescale
> kernel and mainline kernel to work without environment changes.
> 
> Signed-off-by: Otavio Salvador 
> ---

Applied to u-boot-imx, thanks.

Best regards,
Stefano Babic




-- 
=
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot