1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
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
|