[U-Boot] [PATCH] powerpc/mpc8500/ucp1020: fix environment macros
Oleksandr G Zhadan
oleks at arcturusnetworks.com
Wed May 20 17:36:00 CEST 2015
Always check for tftp status on download. Don't continue to
format and/or program new image if an error in tftp download.
Signed-off-by: Michael Durrant <mdurrant at arcturusnetworks.com>
Signed-off-by: Oleksandr G Zhadan <oleks at arcturusnetworks.com>
---
include/configs/UCP1020.h | 135 ++++++++++++++++++++++++++++------------------
1 file changed, 84 insertions(+), 51 deletions(-)
diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h
index 57e0c6c..282b68f 100644
--- a/include/configs/UCP1020.h
+++ b/include/configs/UCP1020.h
@@ -659,24 +659,28 @@
"fileaddr=0x01000000\0" \
"filesize=0x00080000\0" \
"flashmbr=sf probe 0; " \
- "tftp $loadaddr $mbr; " \
+ "if tftp $loadaddr $mbr; then " \
"sf erase $mbr_offset +$filesize; " \
- "sf write $loadaddr $mbr_offset $filesize\0" \
-"flashrecovery=tftp $recoveryaddr $cramfsfile; " \
+ "sf write $loadaddr $mbr_offset $filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"flashrecovery=if tftp $recoveryaddr $cramfsfile; then " \
"protect off $nor_recoveryaddr +$filesize; " \
"erase $nor_recoveryaddr +$filesize; " \
"cp.b $recoveryaddr $nor_recoveryaddr $filesize; " \
- "protect on $nor_recoveryaddr +$filesize\0 " \
-"flashuboot=tftp $ubootaddr $ubootfile; " \
+ "protect on $nor_recoveryaddr +$filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"flashuboot=if tftp $ubootaddr $ubootfile; then " \
"protect off $nor_ubootaddr +$filesize; " \
"erase $nor_ubootaddr +$filesize; " \
"cp.b $ubootaddr $nor_ubootaddr $filesize; " \
- "protect on $nor_ubootaddr +$filesize\0 " \
-"flashworking=tftp $workingaddr $cramfsfile; " \
+ "protect on $nor_ubootaddr +$filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"flashworking=if tftp $workingaddr $cramfsfile; then " \
"protect off $nor_workingaddr +$filesize; " \
"erase $nor_workingaddr +$filesize; " \
"cp.b $workingaddr $nor_workingaddr $filesize; " \
- "protect on $nor_workingaddr +$filesize\0 " \
+ "protect on $nor_workingaddr +$filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
"hwconfig=usb1:dr_mode=host,phy_type=ulpi\0 " \
"kerneladdr=0x01100000\0" \
"kernelfile=uImage\0" \
@@ -717,10 +721,13 @@
"run spi__cramfs\0" \
"ramboot=setenv bootargs root=/dev/ram ramdisk_size=$ramdisk_size ro" \
" console=$consoledev,$baudrate $othbootargs; " \
- "tftp $rootfsaddr $rootfsfile; " \
- "tftp $loadaddr $kernelfile; " \
- "tftp $dtbaddr $dtbfile; " \
- "bootm $loadaddr $rootfsaddr $dtbaddr\0" \
+ "if tftp $rootfsaddr $rootfsfile; then " \
+ "if tftp $loadaddr $kernelfile; then " \
+ "if tftp $dtbaddr $dtbfile; then " \
+ "bootm $loadaddr $rootfsaddr $dtbaddr; " \
+ "else echo $tftp_error_msg; fi " \
+ "else echo $tftp_error_msg; fi" \
+ "else echo $tftp_error_msg; fi\0" \
"ramdisk_size=120000\0" \
"ramdiskfile=rootfs.ext2.gz.uboot\0" \
"recoveryaddr=0x02F00000\0" \
@@ -756,12 +763,14 @@
"spi__mbrd=fatload mmc $mmcpart $loadaddr $mbr; " \
"sf probe 0; sf erase 0 +$filesize; " \
"sf write $loadaddr 0 $filesize\0" \
-"tftpflash=tftpboot $loadaddr $uboot; " \
+"tftp_error_msg=tftp download error...\0" \
+"tftpflash=if tftp $loadaddr $uboot; then " \
"protect off " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
"erase " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
"cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; " \
"protect on " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
- "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize\0"\
+ "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; "\
+ "else echo $tftp_error_msg; fi\0" \
"uboot= " __stringify(CONFIG_UBOOTPATH) "\0" \
"ubootaddr=0x01000000\0" \
"ubootfile=u-boot.bin\0" \
@@ -789,24 +798,28 @@
"fileaddr=0x01000000\0" \
"filesize=0x00080000\0" \
"flashmbr=sf probe 0; " \
- "tftp $loadaddr $mbr; " \
+ "if tftp $loadaddr $mbr; then " \
"sf erase $mbr_offset +$filesize; " \
- "sf write $loadaddr $mbr_offset $filesize\0" \
-"flashrecovery=tftp $recoveryaddr $cramfsfile; " \
+ "sf write $loadaddr $mbr_offset $filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"flashrecovery=if tftp $recoveryaddr $cramfsfile; then " \
"protect off $nor_recoveryaddr +$filesize; " \
"erase $nor_recoveryaddr +$filesize; " \
"cp.b $recoveryaddr $nor_recoveryaddr $filesize; " \
- "protect on $nor_recoveryaddr +$filesize\0 " \
-"flashuboot=tftp $ubootaddr $ubootfile; " \
+ "protect on $nor_recoveryaddr +$filesize " \
+ "else echo $tftp_error_msg; fi\0" \
+"flashuboot=ig tftp $ubootaddr $ubootfile; then ;" \
"protect off $nor_ubootaddr +$filesize; " \
"erase $nor_ubootaddr +$filesize; " \
"cp.b $ubootaddr $nor_ubootaddr $filesize; " \
- "protect on $nor_ubootaddr +$filesize\0 " \
-"flashworking=tftp $workingaddr $cramfsfile; " \
+ "protect on $nor_ubootaddr +$filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"flashworking=if tftp $workingaddr $cramfsfile; then " \
"protect off $nor_workingaddr +$filesize; " \
"erase $nor_workingaddr +$filesize; " \
"cp.b $workingaddr $nor_workingaddr $filesize; " \
- "protect on $nor_workingaddr +$filesize\0 " \
+ "protect on $nor_workingaddr +$filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
"hwconfig=usb1:dr_mode=host,phy_type=ulpi\0 " \
"kerneladdr=0x01100000\0" \
"kernelfile=uImage\0" \
@@ -836,10 +849,13 @@
"othbootargs=quiet\0" \
"ramboot=setenv bootargs root=/dev/ram ramdisk_size=$ramdisk_size ro" \
" console=$consoledev,$baudrate $othbootargs; " \
- "tftp $rootfsaddr $rootfsfile; " \
- "tftp $loadaddr $kernelfile; " \
- "tftp $dtbaddr $dtbfile; " \
- "bootm $loadaddr $rootfsaddr $dtbaddr\0" \
+ "if tftp $rootfsaddr $rootfsfile; then " \
+ "if tftp $loadaddr $kernelfile; then " \
+ "if tftp $dtbaddr $dtbfile; then " \
+ "bootm $loadaddr $rootfsaddr $dtbaddr; " \
+ "else echo $tftp_error_msg; fi " \
+ "else echo $tftp_error_msg; fi" \
+ "else echo $tftp_error_msg; fi\0" \
"ramdisk_size=120000\0" \
"ramdiskfile=rootfs.ext2.gz.uboot\0" \
"recoveryaddr=0x02F00000\0" \
@@ -850,12 +866,14 @@
"rootfsfile=rootfs.ext2.gz.uboot\0" \
"rootpath=/opt/nfsroot\0" \
"silent=1\0" \
-"tftpflash=tftpboot $loadaddr $uboot; " \
+"tftp_error_msg=tftp download error...\0" \
+"tftpflash=if tftpboot $loadaddr $uboot; then " \
"protect off " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
"erase " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
"cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; " \
"protect on " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
- "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize\0"\
+ "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; "\
+ "else echo $tftp_error_msg; fi\0" \
"uboot= " __stringify(CONFIG_UBOOTPATH) "\0" \
"ubootaddr=0x01000000\0" \
"ubootfile=u-boot.bin\0" \
@@ -878,10 +896,11 @@
"fileaddr=0x01000000\0" \
"filesize=0x00080000\0" \
"flashmbr=sf probe 0; " \
- "tftp $loadaddr $mbr; " \
+ "if tftp $loadaddr $mbr; else " \
"sf erase $mbr_offset +$filesize; " \
- "sf write $loadaddr $mbr_offset $filesize\0" \
-"flashuboot=tftp $loadaddr $ubootfile; " \
+ "sf write $loadaddr $mbr_offset $filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"flashuboot=if tftp $loadaddr $ubootfile; " \
"protect off $nor_ubootaddr0 +$filesize; " \
"erase $nor_ubootaddr0 +$filesize; " \
"cp.b $loadaddr $nor_ubootaddr0 $filesize; " \
@@ -889,7 +908,8 @@
"protect off $nor_ubootaddr1 +$filesize; " \
"erase $nor_ubootaddr1 +$filesize; " \
"cp.b $loadaddr $nor_ubootaddr1 $filesize; " \
- "protect on $nor_ubootaddr1 +$filesize\0 " \
+ "protect on $nor_ubootaddr1 +$filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
"format0=protect off $part0base +$part0size; " \
"erase $part0base +$part0size\0" \
"format1=protect off $part1base +$part1size; " \
@@ -925,30 +945,36 @@
"part3size=0x00F80000\0" \
"partENVbase=0xEC080000\0" \
"partENVsize=0x00080000\0" \
-"program0=tftp part0-000000.bin; " \
+"program0=if tftp part0-000000.bin; then " \
"protect off $part0base +$filesize; " \
"erase $part0base +$filesize; " \
"cp.b $loadaddr $part0base $filesize; " \
"echo Verifying...; " \
- "cmp.b $loadaddr $part0base $filesize\0" \
-"program1=tftp part1-000000.bin; " \
+ "cmp.b $loadaddr $part0base $filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"program1=if tftp part1-000000.bin; then " \
"protect off $part1base +$filesize; " \
"erase $part1base +$filesize; " \
"cp.b $loadaddr $part1base $filesize; " \
"echo Verifying...; " \
- "cmp.b $loadaddr $part1base $filesize\0" \
-"program2=tftp part2-000000.bin; " \
+ "cmp.b $loadaddr $part1base $filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
+"program2=if tftp part2-000000.bin; then " \
"protect off $part2base +$filesize; " \
"erase $part2base +$filesize; " \
"cp.b $loadaddr $part2base $filesize; " \
"echo Verifying...; " \
- "cmp.b $loadaddr $part2base $filesize\0" \
+ "cmp.b $loadaddr $part2base $filesize; " \
+ "else echo $tftp_error_msg; fi\0" \
"ramboot=setenv bootargs root=/dev/ram ramdisk_size=$ramdisk_size ro" \
" console=$consoledev,$baudrate $othbootargs; " \
- "tftp $rootfsaddr $rootfsfile; " \
- "tftp $loadaddr $kernelfile; " \
- "tftp $dtbaddr $dtbfile; " \
- "bootm $loadaddr $rootfsaddr $dtbaddr\0" \
+ "if tftp $rootfsaddr $rootfsfile; then " \
+ "if tftp $loadaddr $kernelfile; then " \
+ "if tftp $dtbaddr $dtbfile; then " \
+ "bootm $loadaddr $rootfsaddr $dtbaddr; " \
+ "else echo $tftp_error_msg; fi " \
+ "else echo $tftp_error_msg; fi " \
+ "else echo $tftp_error_msg; fi\0" \
"ramdisk_size=120000\0" \
"ramdiskfile=rootfs.ext2.gz.uboot\0" \
"releasefpga=mw.l 0xffe0f000 0x00400000; mw.l 0xffe0f004 0x00000000; " \
@@ -965,12 +991,14 @@
"cp.b $loadaddr 0xEC000000 $filesize; " \
"cmp.b $loadaddr 0xEC000000 $filesize; " \
"protect on 0xeC000000 +$filesize\0" \
-"tftpflash=tftpboot $loadaddr $uboot; " \
+"tftp_error_msg=tftp download error...\0" \
+"tftpflash=if tftpboot $loadaddr $uboot; then " \
"protect off " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
"erase " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
"cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; " \
"protect on " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " +$filesize; " \
- "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize\0"\
+ "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE_NOR) " $filesize; "\
+ "else echo $tftp_error_msg; fi\0" \
"uboot= " __stringify(CONFIG_UBOOTPATH) "\0" \
"ubootfile=u-boot.bin\0" \
"upgrade=run flashuboot\0" \
@@ -980,9 +1008,11 @@
"nfsroot=$serverip:$rootpath " \
"ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \
"console=$consoledev,$baudrate $othbootargs;" \
- "tftp $loadaddr $bootfile;" \
- "tftp $fdtaddr $fdtfile;" \
- "bootm $loadaddr - $fdtaddr\0" \
+ "if tftp $loadaddr $bootfile; then " \
+ "if tftp $fdtaddr $fdtfile; then " \
+ "bootm $loadaddr - $fdtaddr; " \
+ "else echo $tftp_error_msg; fi " \
+ "else echo $tftp_error_msg; fi\0" \
"boot_hd = " \
"setenv bootargs root=/dev/$bdev rw rootdelay=30 " \
"console=$consoledev,$baudrate $othbootargs;" \
@@ -1016,10 +1046,13 @@
"setenv bootargs root=/dev/ram rw " \
"console=$consoledev,$baudrate $othbootargs " \
"ramdisk_size=$ramdisk_size;" \
- "tftp $ramdiskaddr $ramdiskfile;" \
- "tftp $loadaddr $bootfile;" \
- "tftp $fdtaddr $fdtfile;" \
- "bootm $loadaddr $ramdiskaddr $fdtaddr\0"
+ "if tftp $ramdiskaddr $ramdiskfile; then " \
+ "if tftp $loadaddr $bootfile; then " \
+ "if tftp $fdtaddr $fdtfile; then " \
+ "bootm $loadaddr $ramdiskaddr $fdtaddr; " \
+ "else echo $tftp_error_msg; fi " \
+ "else echo $tftp_error_msg; fi " \
+ "else echo $tftp_error_msg; fi\0"
#endif
#endif
--
2.1.4
More information about the U-Boot
mailing list