board: rpi: add tizen boot script for rpi4
authorJaehoon Chung <jh80.chung@samsung.com>
Mon, 16 Sep 2019 02:06:59 +0000 (11:06 +0900)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 15 Nov 2021 10:19:26 +0000 (11:19 +0100)
Add tizen boot script for rpi4 32bit.

Change-Id: Ib497cebb6dc3ef62ecd7164c886cd3e41f5e848c
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
board/raspberrypi/rpi/tizen-boot-rpi4-32b.scr [new file with mode: 0644]

diff --git a/board/raspberrypi/rpi/tizen-boot-rpi4-32b.scr b/board/raspberrypi/rpi/tizen-boot-rpi4-32b.scr
new file mode 100644 (file)
index 0000000..b752e67
--- /dev/null
@@ -0,0 +1,59 @@
+# U-boot script for tizen RPI4 32B
+
+if test -e $bootdev $mmcbootdev:$mmcinformpart $rebootparamfile; then;
+       ext4load $bootdev $mmcbootdev:$mmcinformpart $rebootparam_addr $rebootparamfile;
+       if itest.l *${rebootparam_addr} == ${upgrade_val}; then;
+               setenv ramdiskpart 8
+               setenv ramdisksize c00000
+               bootmode=fota
+       elif itest.l *${rebootparam_addr} == ${recovery_val}; then;
+               setenv ramdiskpart 8
+               setenv ramdisksize c00000
+               setenv bootmode recovery
+       elif itest.l *${rebootparam_addr} == ${download_val}; then;
+               setenv ramdiskpart 8
+               setenv ramdisksize c00000
+               setenv bootmode flash
+       elif itest.l *${rebootparam_addr} == ${nodef_val}; then;
+               echo "This reboot parameter is not supported...";
+       fi
+fi
+
+# boot from ram0 if there is sbin
+if test -e $bootdev $mmcrootdev:$ramdiskpart sbin/init; then;
+       setenv rootdev ram0
+else
+       setenv rootdev mmcblk${mmcrootdev}p${mmcrootpart}
+       setenv bootmode normal
+fi
+
+#setting console device if noting is set
+if test -z "${console}"; then;
+       setenv console "console=ttyS0,115200n8 earlycon=uart8250,mmio32,0xfe215040"
+fi
+echo "console: ${console}"
+
+# Kernel image
+kernel=zImage
+# DT image by model
+setenv fdtfile \"bcm2711-rpi-4-b.dtb\"
+setenv boot_prefixes \"/\"
+
+# To use comdline for using serial console. /* Normal mode */
+setenv bootargs \"${tizen_bootarg} root=/dev/${rootdev} rw bootmode=${bootmode} rootwait ${console} ${opts}\"
+
+# Find the ramdisk offset and block count
+part start $bootdev $mmcrootdev $ramdiskpart ramdisk_start
+part size $bootdev $mmcrootdev $ramdiskpart ramdisk_size
+
+echo "Searching for kernel in"; for prefix in $boot_prefixes; do
+if load $bootdev $mmcbootdev:$mmcbootpart $tizen_kernel_addr_r $prefix$kernel; then;
+       echo ${bootmode} "boot";
+       load $bootdev $mmcbootdev:$mmcbootpart $fdt_addr $fdtfile;
+       if test -e mmc $mmcrootdev:$ramdiskpart sbin/init; then;
+               echo "Loading Ramdisk from partition"${ramdiskpart};
+               mmc read $ramdisk_addr_r $ramdisk_start $ramdisk_size;
+       fi
+       bootz $tizen_kernel_addr_r $ramdisk_addr_r:$ramdisksize $fdt_addr;
+fi
+done