Hi Fabio, On 05/03/2014 19:51, Fabio Estevam wrote: > From: Fabio Estevam <fabio.este...@freescale.com> > > Allow the boot of a device tree mainline kernel by aligning the environment > variables with other FSL boards. > > Tested NFS boot of a dt 3.14-rc5 kernel. > > Signed-off-by: Fabio Estevam <fabio.este...@freescale.com> > --- > include/configs/mx25pdk.h | 103 > +++++++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 98 insertions(+), 5 deletions(-) > > diff --git a/include/configs/mx25pdk.h b/include/configs/mx25pdk.h > index af6aafa..aff2419 100644 > --- a/include/configs/mx25pdk.h > +++ b/include/configs/mx25pdk.h > @@ -62,6 +62,7 @@ > /* No NOR flash present */ > #define CONFIG_ENV_OFFSET (6 * 64 * 1024) > #define CONFIG_ENV_SIZE (8 * 1024) > +#define CONFIG_SYS_MMC_ENV_DEV 0 > > #define CONFIG_SYS_NO_FLASH > #define CONFIG_ENV_IS_IN_MMC > @@ -69,7 +70,7 @@ > > /* U-Boot general configuration */ > #define CONFIG_AUTO_COMPLETE > -#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ > +#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ > /* Print buffer sz */ > #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ > sizeof(CONFIG_SYS_PROMPT) + 16) > @@ -132,12 +133,104 @@ > #define CONFIG_LOADADDR 0x81000000 /* loadaddr env var */ > #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR > > +#define CONFIG_DEFAULT_FDT_FILE "imx25-pdk.dtb" > + > #define CONFIG_EXTRA_ENV_SETTINGS \ > "script=boot.scr\0" \ > - "uimage=uImage\0" \ > - "netargs=setenv bootargs console=ttymxc0,${baudrate} " \ > + "image=zImage\0" \ > + "console=ttymxc0\0" \ > + "splashpos=m,m\0" \ > + "fdt_high=0xffffffff\0" \ > + "initrd_high=0xffffffff\0" \ > + "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ > + "fdt_addr=0x82000000\0" \ > + "boot_fdt=try\0" \ > + "ip_dyn=yes\0" \ > + "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ > + "mmcpart=1\0" \ > + "mmcroot=/dev/mmcblk0p2 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" \ > + "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\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 " \ > + "bootz ${loadaddr} - ${fdt_addr}; " \ > + "else " \ > + "if test ${boot_fdt} = try; then " \ > + "bootz; " \ > + "else " \ > + "echo WARN: Cannot load the DT; " \ > + "fi; " \ > + "fi; " \ > + "else " \ > + "bootz; " \ > + "fi;\0" \ > + "netargs=setenv bootargs console=${console},${baudrate} " \ > "root=/dev/nfs " \ > - "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ > - "bootcmd=run netargs; dhcp ${uimage}; bootm\0" \ > + "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ > + "netboot=echo Booting from net ...; " \ > + "run netargs; " \ > + "if test ${ip_dyn} = yes; then " \ > + "setenv get_cmd dhcp; " \ > + "else " \ > + "setenv get_cmd tftp; " \ > + "fi; " \ > + "${get_cmd} ${image}; " \ > + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ > + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ > + "bootz ${loadaddr} - ${fdt_addr}; " \ > + "else " \ > + "if test ${boot_fdt} = try; then " \ > + "bootz; " \ > + "else " \ > + "echo WARN: Cannot load the DT; " \ > + "fi; " \ > + "fi; " \ > + "else " \ > + "bootz; " \ > + "fi;\0" > + > +#define CONFIG_BOOTCOMMAND \ > + "mmc dev ${mmcdev}; if mmc rescan; then " \ > + "if run loadbootscript; then " \ > + "run bootscript; " \ > + "else " \ > + "if run loadimage; then " \ > + "run mmcboot; " \ > + "else run netboot; " \ > + "fi; " \ > + "fi; " \ > + "else run netboot; fi" > + > +/* Miscellaneous configurable options */ > +#define CONFIG_SYS_LONGHELP > +#define CONFIG_SYS_HUSH_PARSER > +#define CONFIG_AUTO_COMPLETE > + > +/* Print Buffer Size */ > +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + > 16) > +#define CONFIG_SYS_MAXARGS 16 > +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE > > #endif /* __CONFIG_H */ >
Agree. It would be easier to have later a common code for the environment if all boards share the same default. Acked-by: Stefano Babic <sba...@denx.de> 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