mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
105 lines
2.8 KiB
Text
105 lines
2.8 KiB
Text
echo "checking for U-Boot upgrades..";
|
|
setenv offset 0x400
|
|
if load ${dtype} ${disk}:1 12000000 /boot/u-boot.imx; then
|
|
echo " found u-boot.imx $filesize bytes)";
|
|
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 " no upgrade needed";
|
|
else
|
|
echo " need U-Boot upgrade, flashing in 5 seconds..";
|
|
for n in 5 4 3 2 1; do
|
|
echo $n;
|
|
sleep 1;
|
|
done
|
|
echo " erasing flash..";
|
|
sf erase 0 0xC0000;
|
|
# two steps to prevent bricking
|
|
echo " writing flash..";
|
|
sf write 0x12000000 $offset $filesize;
|
|
echo " verifying flash..";
|
|
if sf read 0x12400000 $offset $filesize; then
|
|
if cmp.b 0x12000000 0x12400000 $filesize; then
|
|
echo "---- U-Boot upgraded. resetting..";
|
|
reset;
|
|
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
|
|
|
|
setenv bootargs
|
|
setenv nextcon 0;
|
|
|
|
if hdmidet ; then
|
|
setenv bootargs $bootargs video=mxcfb${nextcon}:dev=hdmi,1280x720M@60,if=RGB24
|
|
setenv fbmem "fbmem=28M";
|
|
setexpr nextcon $nextcon + 1
|
|
else
|
|
echo "------ no HDMI monitor";
|
|
fi
|
|
|
|
i2c dev 2
|
|
if i2c probe 0x04 ; then
|
|
setenv bootargs $bootargs video=mxcfb${nextcon}:dev=ldb,LDB-XGA,if=RGB666
|
|
if test "0" -eq $nextcon; then
|
|
setenv fbmem "fbmem=10M";
|
|
else
|
|
setenv fbmem ${fbmem},10M
|
|
fi
|
|
setexpr nextcon $nextcon + 1
|
|
else
|
|
echo "------ no Freescale display";
|
|
fi
|
|
|
|
if i2c probe 0x38 ; then
|
|
setenv bootargs $bootargs video=mxcfb${nextcon}:dev=ldb,1024x600M@60,if=RGB666
|
|
if test "0" -eq $nextcon; then
|
|
setenv fbmem "fbmem=10M";
|
|
else
|
|
setenv fbmem ${fbmem},10M
|
|
fi
|
|
setexpr nextcon $nextcon + 1
|
|
else
|
|
echo "------ no 1024x600 display";
|
|
fi
|
|
|
|
if i2c probe 0x48 ; then
|
|
setenv bootargs $bootargs video=mxcfb${nextcon}:dev=lcd,CLAA-WVGA,if=RGB666
|
|
if test "0" -eq $nextcon; then
|
|
setenv fbmem "fbmem=10M";
|
|
else
|
|
setenv fbmem ${fbmem},10M
|
|
fi
|
|
setexpr nextcon $nextcon + 1
|
|
else
|
|
echo "------ no 800x480 display";
|
|
fi
|
|
|
|
while test "3" -ne $nextcon ; do
|
|
setenv bootargs $bootargs video=mxcfb${nextcon}:off ;
|
|
setexpr nextcon $nextcon + 1 ;
|
|
done
|
|
|
|
setenv bootargs $bootargs $fbmem
|
|
|
|
part uuid ${dtype} ${disk}:1 uuid
|
|
|
|
setenv bootargs $bootargs console=ttymxc1,115200 vmalloc=400M root=PARTUUID=${uuid} rw rootwait consoleblank=0
|
|
|
|
setenv fdtfile imx6q-nitrogen6x.dtb
|
|
load ${dtype} ${disk}:1 10800000 /boot/zImage && load ${dtype} ${disk}:1 11000000 /boot/dtbs/${fdtfile} && bootz 10800000 - 11000000
|
|
|
|
load ${dtype} ${disk}:1 10800000 /boot/uImage && bootm 10800000
|