* [U-Boot] [PATCH] mx28evk: extend default environment
@ 2012-09-15 18:26 Otavio Salvador
2012-09-17 11:08 ` Stefano Babic
0 siblings, 1 reply; 2+ messages in thread
From: Otavio Salvador @ 2012-09-15 18:26 UTC (permalink / raw)
To: u-boot
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.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
include/configs/mx28evk.h | 82 ++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 74 insertions(+), 8 deletions(-)
diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h
index 43b4002..dffb744 100644
--- a/include/configs/mx28evk.h
+++ b/include/configs/mx28evk.h
@@ -239,7 +239,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
@@ -248,13 +247,80 @@
* 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" \
+ "mmcdev=0\0" \
+ "mmcpart=2\0" \
+ "mmcroot=/dev/mmcblk0p3 rw\0" \
+ "mmcrootfstype=ext3 rootwait\0" \
+ "mmcargs=setenv bootargs console=${console_mainline},${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=${console_mainline},${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__ */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 2+ messages in thread* [U-Boot] [PATCH] mx28evk: extend default environment
2012-09-15 18:26 [U-Boot] [PATCH] mx28evk: extend default environment Otavio Salvador
@ 2012-09-17 11:08 ` Stefano Babic
0 siblings, 0 replies; 2+ messages in thread
From: Stefano Babic @ 2012-09-17 11:08 UTC (permalink / raw)
To: u-boot
On 15/09/2012 20:26, Otavio Salvador wrote:
> 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.
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
> include/configs/mx28evk.h | 82 ++++++++++++++++++++++++++++++++++++++++-----
> 1 file changed, 74 insertions(+), 8 deletions(-)
>
> diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h
> index 43b4002..dffb744 100644
> --- a/include/configs/mx28evk.h
> +++ b/include/configs/mx28evk.h
> @@ -239,7 +239,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
> @@ -248,13 +247,80 @@
> * 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" \
> + "mmcdev=0\0" \
> + "mmcpart=2\0" \
> + "mmcroot=/dev/mmcblk0p3 rw\0" \
> + "mmcrootfstype=ext3 rootwait\0" \
> + "mmcargs=setenv bootargs console=${console_mainline},${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=${console_mainline},${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__ */
>
Any issue why I should not merge it in the current release ? Then not, I
push it for the relase...
Regards,
Stefano
--
=====================================================================
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: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-09-17 11:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-15 18:26 [U-Boot] [PATCH] mx28evk: extend default environment Otavio Salvador
2012-09-17 11:08 ` Stefano Babic
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox