rpi: tizen-boot: support the booting without ramdisk image
[platform/kernel/u-boot.git] / board / raspberrypi / rpi / tizen-boot.scr
1 # U-boot script for tizen
2 boardname=rpi3
3 mmcbootdev=0
4 mmcbootpart=1
5 mmcrootdev=0
6 mmcrootpart=2
7 mmcusrpart=5
8
9 dummy=0x24000000
10 fotaname=fota
11
12 ramdisksize=800000
13
14 # Normal ramdisk : partition 7
15 # Ramdisk Recovery : Partition 8
16 ramdiskdev=0
17
18 # Device that included the image.
19 bootdev=mmc
20
21 if test -e $bootdev $mmcbootdev:$mmcusrpart $fotaname; then;
22 ramdiskpart=8
23 bootmode=fota
24 else
25 ramdiskpart=7
26 bootmode=ramdisk
27 fi
28
29 # boot from ram0 if there is sbin
30 if test -e $bootdev $mmcrootdev:$ramdiskpart sbin; then;
31 rootdev=ram0
32 else
33 rootdev=mmcblk${mmcrootdev}p${mmcrootpart}
34 bootmode=normal
35 fi
36
37 # Kernel image
38 kernel=Image
39 setenv fdtfile \"bcm2710-rpi-3-b.dtb\"
40 setenv boot_prefixes \"/\"
41
42 # To use comdline for using serial console. /* Normal mode */
43 setenv bootargs \"8250.nr_uarts=1 dma.dmachans=0x7f35 bcm2709.serial=0xed6687d3 bcm2709.uart_clock=48000000 root=/dev/${rootdev} rw bootmode=${bootmode} bcm2709.boardrev=0xa02082 rootwait earlyprintk console=ttyS0,115200n8 console=tty1 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000\"
44
45 # Find the ramdisk offset and block count
46 part start $bootdev $ramdiskdev $ramdiskpart ramdisk_start
47 part size $bootdev $ramdiskdev $ramdiskpart ramdisk_size
48
49 echo "Searching for kernel in"; for prefix in $boot_prefixes; do
50 if load $bootdev $mmcbootdev:$mmcbootpart $kernel_addr_r $kernel; then;
51         echo ${bootmode} "boot";
52         load $bootdev $mmcbootdev:$mmcbootpart $fdt_addr_r $fdtfile;
53         load $bootdev $mmcbootdev:$mmcbootpart $kernel_addr_r $prefix$kernel;
54         if test -e mmc $mmcrootdev:$ramdiskpart sbin; then;
55                 echo "Loading Ramdisk from partition"${ramdiskpart};
56                 mmc read $ramdisk_addr_r $ramdisk_start $ramdisk_size;
57         fi
58         booti $kernel_addr_r $ramdisk_addr_r:$ramdisksize $fdt_addr_r;
59 fi
60 done