123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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/vmlinuz-linux-libre && load ${dtype} ${disk}:1 11000000 /boot/dtbs/linux-libre/${fdtfile} && bootz 10800000 - 11000000
- load ${dtype} ${disk}:1 10800000 /boot/uImage && bootm 10800000
|