tizen: bootscript: remove usb boot related workaround
[platform/kernel/u-boot.git] / tizen / bootscript / tizen-boot-rpi4.scr
1 # U-boot script for tizen RPI4
2
3 setenv legacy_ramdisk_part      0x7
4 setenv legacy_recovery_part     0x8
5
6 if test "${target}" = "mmc0"; then;
7         setenv bootdev mmc
8 fi
9 if test "${target}" = "usb0"; then;
10         setenv bootdev usb
11 fi
12
13 # find 'inform' partition or use ${mmcinformpart} fallback
14 part number $bootdev $mmcbootdev "inform" res
15 if test -n "${res}"; then;
16         setenv mmcinformpart ${res}
17 fi
18
19 # set sane defaults
20 setenv partition_name "ramdisk"
21 setenv partition_ab "a"
22 setenv partition_fallback ${legacy_ramdisk_part}
23
24 if test -e $bootdev $mmcbootdev:$mmcinformpart $slotfile; then;
25         ext4load $bootdev $mmcbootdev:$mmcinformpart $slot_addr $slotfile;
26         if itest.b *${slot_addr} == 0x62; then;
27                 setenv partition_ab "b"
28         fi
29 fi
30 echo "boot from slot_${partition_ab}"
31
32 if test -e $bootdev $mmcbootdev:$mmcinformpart $rebootparamfile; then;
33         ext4load $bootdev $mmcbootdev:$mmcinformpart $rebootparam_addr $rebootparamfile;
34         if itest.l *${rebootparam_addr} == ${upgrade_val}; then;
35                 setenv partition_name "ramdisk-recovery"
36                 setenv partition_fallback ${legacy_recovery_part}
37                 setenv bootmode "fota"
38         elif itest.l *${rebootparam_addr} == ${recovery_val}; then;
39                 setenv partition_name "ramdisk-recovery"
40                 setenv partition_fallback ${legacy_recovery_part}
41                 setenv bootmode "recovery"
42         elif itest.l *${rebootparam_addr} == ${download_val}; then;
43                 setenv partition_name "ramdisk-recovery"
44                 setenv partition_fallback ${legacy_recovery_part}
45                 setenv bootmode "flash"
46         elif itest.l *${rebootparam_addr} == ${nodef_val}; then;
47                 echo "This reboot parameter is not supported...";
48         fi
49 fi
50
51 # This is for jumping to flash mode on u-boot.
52 if test "${bootmode}" = "download"; then;
53         setenv partition_name "ramdisk-recovery"
54         setenv partition_fallback ${legacy_recovery_part}
55         setenv bootmode "flash"
56 fi
57
58 if test "${bootmode}" = "flash"; then;
59         if test -n "${ipaddr}"; then;
60                 ip_opt=\"ip=${ipaddr}::${gateway}:${netmask}\"
61         fi
62 fi
63
64 # find the selected ramdisk variant partition
65 part number $bootdev $mmcbootdev "${partition_name}_${partition_ab}" res
66 if test -n "${res}"; then;
67         setenv ramdiskpart ${res}
68 else
69         setenv ramdiskpart ${partition_fallback}
70 fi
71
72 # setting console device if noting is set
73 if test -z "${console}"; then;
74         if test "$board_name" = "5 Model B"; then;
75                 fdt addr $fdt_addr;
76                 fdt get value uart "/axi/pcie@120000/rp1/serial@30000" status;
77                 if test "$uart" = "okay"; then;
78                         setenv console "console=ttyAMA0,115200n8";
79                 else
80                         setenv console "console=ttyAMA10,115200n8 earlycon";
81                 fi
82         else
83                 setenv console "console=ttyS0,115200n8 earlycon=uart8250,mmio32,0xfe215040";
84         fi
85 fi
86 echo "console: ${console}"
87
88 # DT image by model
89 setenv boot_prefixes \"/\"
90
91 # Find the ramdisk offset and block count
92 part start $bootdev $mmcrootdev $ramdiskpart ramdisk_start
93 part size $bootdev $mmcrootdev $ramdiskpart ramdisk_size
94
95 # Set to ramdisksize with real partition size. (Need to multiply block-size 0x200)
96 setexpr ramdisksize $ramdisk_size * 200
97 setexpr tizen_kernel_addr_r $ramdisk_addr_r + $ramdisksize
98
99 # boot from ram0 if there is sbin or it is initramfs
100 if test -e $bootdev $mmcrootdev:$ramdiskpart sbin/init; then;
101         setenv rootdev ram0
102         echo "Loading Ramdisk from partition ${ramdiskpart}";
103         $bootdev read $ramdisk_addr_r $ramdisk_start $ramdisk_size;
104 else
105         # Check for gzip (initramfs) magic
106         $bootdev read $ramdisk_addr_r $ramdisk_start 1;
107         if itest.w *$ramdisk_addr_r == 0x8b1f; then;
108                 setenv rootdev ram0
109                 echo "Loading initramfs from partition ${ramdiskpart}";
110                 $bootdev read $ramdisk_addr_r $ramdisk_start $ramdisk_size;
111         else
112                 if test "${bootdev}" = "mmc"; then;
113                         setenv rootdev mmcblk${mmcrootdev}p${mmcrootpart}
114                 fi
115                 if test "${bootdev}" = "usb"; then;
116                         setenv rootdev sda${mmcrootpart}
117                 fi
118                 setenv bootmode normal
119         fi
120 fi
121
122 # To use cmdline for using serial console. /* Normal mode */
123 setenv bootargs \"${tizen_bootarg} cgroup_enable=memory root=/dev/${rootdev} rw bootmode=${bootmode} partition_ab=${partition_ab} rootwait ${console} ${opts} ${ip_opt}\"
124
125 echo "Searching for kernel in"; for prefix in $boot_prefixes; do
126 if load $bootdev $mmcbootdev:$mmcbootpart $tizen_kernel_addr_r $prefix$kernel; then;
127         echo ${bootmode} "boot";
128
129         # use fdt already preloaded by the firmware available at $fdt_addr
130         if test "$kernel" = "zImage"; then;
131                 bootz $tizen_kernel_addr_r $ramdisk_addr_r:$ramdisksize $fdt_addr;
132         else
133                 booti $tizen_kernel_addr_r $ramdisk_addr_r:$ramdisksize $fdt_addr;
134         fi
135 fi
136 done