1*4882a593Smuzhiyunsetenv stdout serial,vga 2*4882a593Smuzhiyunecho "check U-Boot" ; 3*4882a593Smuzhiyunsetenv offset 0x400 4*4882a593Smuzhiyunif ${fs}load ${dtype} ${disk}:1 12000000 u-boot.imx || ${fs}load ${dtype} ${disk}:1 12000000 u-boot.nopadding ; then 5*4882a593Smuzhiyun echo "read $filesize bytes from SD card" ; 6*4882a593Smuzhiyun if sf probe || sf probe || \ 7*4882a593Smuzhiyun sf probe 1 27000000 || sf probe 1 27000000 ; then 8*4882a593Smuzhiyun echo "probed SPI ROM" ; 9*4882a593Smuzhiyun if sf read 0x12400000 $offset $filesize ; then 10*4882a593Smuzhiyun if cmp.b 0x12000000 0x12400000 $filesize ; then 11*4882a593Smuzhiyun echo "------- U-Boot versions match" ; 12*4882a593Smuzhiyun else 13*4882a593Smuzhiyun echo "Need U-Boot upgrade" ; 14*4882a593Smuzhiyun echo "Program in 5 seconds" ; 15*4882a593Smuzhiyun for n in 5 4 3 2 1 ; do 16*4882a593Smuzhiyun echo $n ; 17*4882a593Smuzhiyun sleep 1 ; 18*4882a593Smuzhiyun done 19*4882a593Smuzhiyun echo "erasing" ; 20*4882a593Smuzhiyun sf erase 0 0xC0000 ; 21*4882a593Smuzhiyun # two steps to prevent bricking 22*4882a593Smuzhiyun echo "programming" ; 23*4882a593Smuzhiyun sf write 0x12000000 $offset $filesize ; 24*4882a593Smuzhiyun echo "verifying" ; 25*4882a593Smuzhiyun if sf read 0x12400000 $offset $filesize ; then 26*4882a593Smuzhiyun if cmp.b 0x12000000 0x12400000 $filesize ; then 27*4882a593Smuzhiyun while echo "---- U-Boot upgraded. reset" ; do 28*4882a593Smuzhiyun sleep 120 29*4882a593Smuzhiyun done 30*4882a593Smuzhiyun else 31*4882a593Smuzhiyun echo "Read verification error" ; 32*4882a593Smuzhiyun fi 33*4882a593Smuzhiyun else 34*4882a593Smuzhiyun echo "Error re-reading EEPROM" ; 35*4882a593Smuzhiyun fi 36*4882a593Smuzhiyun fi 37*4882a593Smuzhiyun else 38*4882a593Smuzhiyun echo "Error reading boot loader from EEPROM" ; 39*4882a593Smuzhiyun fi 40*4882a593Smuzhiyun else 41*4882a593Smuzhiyun echo "Error initializing EEPROM" ; 42*4882a593Smuzhiyun fi ; 43*4882a593Smuzhiyunelse 44*4882a593Smuzhiyun echo "No U-Boot image found on SD card" ; 45*4882a593Smuzhiyunfi 46