Dear Otavio Salvador, > The environment has been based on mx53loco and m28evk but keeping the > possibility to easy change the default console device as Freescale and > mainline kernels differ on the device name.
FSL kernel is dumb :-( But I like this patch. On the other hand, can't this be made even more generic so everyone can use such a nice unified env? > > Signed-off-by: Otavio Salvador <ota...@ossystems.com.br> > Cc: Marek Vasut <ma...@denx.de> > Cc: Stefano Babic <sba...@denx.de> > Cc: Wolfgang Denk <w...@denx.de> > Cc: Fabio Estevam <fabio.este...@freescale.com> > --- > include/configs/mx28evk.h | 83 > ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 75 > insertions(+), 8 deletions(-) > > diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h > index e98a746..6c2bf5f 100644 > --- a/include/configs/mx28evk.h > +++ b/include/configs/mx28evk.h > @@ -234,7 +234,6 @@ > #define CONFIG_SETUP_MEMORY_TAGS > #define CONFIG_BOOTDELAY 3 > #define CONFIG_BOOTFILE "uImage" > -#define CONFIG_BOOTCOMMAND "run bootcmd_net" > #define CONFIG_LOADADDR 0x42000000 > #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR > #define CONFIG_OF_LIBFDT > @@ -243,13 +242,81 @@ > * Extra Environments > */ > #define CONFIG_EXTRA_ENV_SETTINGS \ > - "console_fsl=console=ttyAM0" \ > - "console_mainline=console=ttyAMA0" \ > - "netargs=setenv bootargs console=${console_mainline}" \ > + "update_nand_full_filename=u-boot.nand\0" \ > + "update_nand_firmware_filename=u-boot.sb\0" \ > + "update_sd_firmware_filename=u-boot.sd\0" \ > + "update_nand_firmware_maxsz=0x100000\0" \ > + "update_nand_stride=0x40\0" /* MX28 datasheet ch. 12.12 */ \ > + "update_nand_count=0x4\0" /* MX28 datasheet ch. 12.12 */ \ > + "update_nand_get_fcb_size=" /* Get size of FCB blocks */ \ > + "nand device 0 ; " \ > + "nand info ; " \ > + "setexpr fcb_sz ${update_nand_stride} * ${update_nand_count};" \ > + "setexpr update_nand_fcb ${fcb_sz} * ${nand_writesize}\0" \ > + "update_nand_full=" /* Update FCB, DBBT and FW */ \ > + "if tftp ${update_nand_full_filename} ; then " \ > + "run update_nand_get_fcb_size ; " \ > + "nand scrub -y 0x0 ${filesize} ; " \ > + "nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; " \ > + "setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \ > + "setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \ > + "nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \ > + "fi\0" \ > + "update_nand_firmware=" /* Update only firmware */ \ > + "if tftp ${update_nand_firmware_filename} ; then " \ > + "run update_nand_get_fcb_size ; " \ > + "setexpr fcb_sz ${update_nand_fcb} * 2 ; " /* FCB + DBBT */ \ > + "setexpr fw_sz ${update_nand_firmware_maxsz} * 2 ; " \ > + "setexpr fw_off ${fcb_sz} + ${update_nand_firmware_maxsz};" \ > + "nand erase ${fcb_sz} ${fw_sz} ; " \ > + "nand write ${loadaddr} ${fcb_sz} ${filesize} ; " \ > + "nand write ${loadaddr} ${fw_off} ${filesize} ; " \ > + "fi\0" \ > + "update_sd_firmware=" /* Update the SD firmware partition */ \ > + "if mmc rescan ; then " \ > + "if tftp ${update_sd_firmware_filename} ; then " \ > + "setexpr fw_sz ${filesize} / 0x200 ; " /* SD block size */ \ > + "setexpr fw_sz ${fw_sz} + 1 ; " \ > + "mmc write ${loadaddr} 0x800 ${fw_sz} ; " \ > + "fi ; " \ > + "fi\0" \ > + "script=boot.scr\0" \ > + "uimage=uImage\0" \ > + "console_fsl=ttyAM0\0" \ > + "console_mainline=ttyAMA0\0" \ > + "console=${console_mainline}\0" \ > + "mmcdev=0\0" \ > + "mmcpart=2\0" \ > + "mmcroot=/dev/mmcblk0p3 rw\0" \ > + "mmcrootfstype=ext3 rootwait\0" \ > + "mmcargs=setenv bootargs console=${console},${baudrate} " \ > + "root=${mmcroot} " \ > + "rootfstype=${mmcrootfstype}\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" \ > + "mmcboot=echo Booting from mmc ...; " \ > + "run mmcargs; " \ > + "bootm\0" \ > + "netargs=setenv bootargs console=ttymxc0,${baudrate} " \ > "root=/dev/nfs " \ > - "ip=dhcp nfsroot=${serverip}:${nfsroot}\0" \ > - "bootcmd_net=echo Booting from net ...; " \ > - "run netargs; " \ > - "dhcp ${uimage}; bootm\0" \ > + "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ > + "netboot=echo Booting from net ...; " \ > + "run netargs; " \ > + "dhcp ${uimage}; bootm\0" > + > +#define CONFIG_BOOTCOMMAND \ > + "if mmc rescan ${mmcdev}; then " \ > + "if run loadbootscript; then " \ > + "run bootscript; " \ > + "else " \ > + "if run loaduimage; then " \ > + "run mmcboot; " \ > + "else run netboot; " \ > + "fi; " \ > + "fi; " \ > + "else run netboot; fi" > > #endif /* __MX28EVK_CONFIG_H__ */ Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot