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

Reply via email to