upstream u-boot with additional patches for our devices/boards:
https://lists.denx.de/pipermail/u-boot/2017-March/282789.html (AXP crashes) ;
Gbit ethernet patch for some LIME2 revisions ;
with SPI flash support
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.3 KiB
45 lines
1.3 KiB
setenv stdout serial,vga
|
|
echo "check U-Boot" ;
|
|
setenv offset 0x400
|
|
if ${fs}load ${dtype} ${disk}:1 12000000 u-boot.imx || ${fs}load ${dtype} ${disk}:1 12000000 u-boot.nopadding ; then
|
|
echo "read $filesize bytes from SD card" ;
|
|
if sf probe || sf probe || \
|
|
sf probe 1 27000000 || sf probe 1 27000000 ; then
|
|
echo "probed SPI ROM" ;
|
|
if sf read 0x12400000 $offset $filesize ; then
|
|
if cmp.b 0x12000000 0x12400000 $filesize ; then
|
|
echo "------- U-Boot versions match" ;
|
|
else
|
|
echo "Need U-Boot upgrade" ;
|
|
echo "Program in 5 seconds" ;
|
|
for n in 5 4 3 2 1 ; do
|
|
echo $n ;
|
|
sleep 1 ;
|
|
done
|
|
echo "erasing" ;
|
|
sf erase 0 0xC0000 ;
|
|
# two steps to prevent bricking
|
|
echo "programming" ;
|
|
sf write 0x12000000 $offset $filesize ;
|
|
echo "verifying" ;
|
|
if sf read 0x12400000 $offset $filesize ; then
|
|
if cmp.b 0x12000000 0x12400000 $filesize ; then
|
|
while echo "---- U-Boot upgraded. reset" ; do
|
|
sleep 120
|
|
done
|
|
else
|
|
echo "Read verification error" ;
|
|
fi
|
|
else
|
|
echo "Error re-reading EEPROM" ;
|
|
fi
|
|
fi
|
|
else
|
|
echo "Error reading boot loader from EEPROM" ;
|
|
fi
|
|
else
|
|
echo "Error initializing EEPROM" ;
|
|
fi ;
|
|
else
|
|
echo "No U-Boot image found on SD card" ;
|
|
fi
|
|
|