]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - config/u-boot/boot.cmd
Merge remote-tracking branch 'origin/efi' into next
[people/pmueller/ipfire-2.x.git] / config / u-boot / boot.cmd
index 9d8d0e4023cbe587b79a67dfe3f21fee9e7edd5d..1d3017ba9e66a5a51155238d6f43727dbcdf03dc 100644 (file)
@@ -1,5 +1,24 @@
+if test ${boot_dev} = ""; then
+       setenv boot_dev mmc;
+       setenv root_dev /dev/mmcblk0p3;
+fi;
+
+if test ${boot_part} = ""; then
+       setenv boot_part 0:1;
+fi;
+
+if test ${soc} = "kirkwood"; then
+       setenv kernel_type -kirkwood;
+else
+       if test ${cpu} = "armv8"; then
+               echo ;
+       else
+               setenv kernel_type -multi;
+       fi;
+fi;
+
 # Import uEnv txt...
-if fatload mmc 0 ${kernel_addr_r} uEnv.txt; then
+if fatload ${boot_dev} ${boot_part} ${kernel_addr_r} uEnv.txt; then
        echo Load uEnv.txt...;
        env import -t ${kernel_addr_r} ${filesize};
        if test "${uenvcmd}" = ""; then
@@ -19,32 +38,50 @@ fi;
 if test "${SERIAL-CONSOLE}" = "ON"; then
        if test ${console} = ""; then
                if test "${board}" = "rpi"; then
-                       if test "${fdtfile}" = "bcm2837-rpi-3-b.dtb"; then
-                               setenv console ttyS1,115200n8;
+                       if test ${cpu} = "armv8"; then
+                               if test "${fdtfile}" = "boradcom/bcm2837-rpi-3-b-plus.dtb"; then
+                                       setenv console ttyS1,115200n8;
+                               else
+                                       if test "${fdtfile}" = "broadcom/bcm2837-rpi-3-b.dtb"; then
+                                               setenv console ttyS1,115200n8;
+                                       else
+                                               setenv console ttyAMA0,115200n8;
+                                       fi;
+                               fi;
                        else
-                               setenv console ttyAMA0,115200n8;
+                               if test "${fdtfile}" = "bcm2837-rpi-3-b-plus.dtb"; then
+                                       setenv console ttyS1,115200n8;
+                               else
+                                       if test "${fdtfile}" = "bcm2837-rpi-3-b.dtb"; then
+                                               setenv console ttyS1,115200n8;
+                                       else
+                                               setenv console ttyAMA0,115200n8;
+                                       fi;
+                               fi;
                        fi;
                else
                        setenv console ttyS0,115200n8;
                fi;
        fi
        echo Set console to ${console};
-       setenv bootargs console=${console} rootwait root=/dev/mmcblk0p3 rootwait;
+       setenv bootargs console=${console} root=${root_dev} rootwait;
 else
        echo Set console to tty1 ;
-       setenv bootargs console=tty1 rootwait root=/dev/mmcblk0p3 rootwait;
+       setenv bootargs console=tty1 root=${root_dev} rootwait;
 fi;
 
 setenv fdt_high ffffffff;
-fatload mmc 0:1 ${kernel_addr_r} vmlinuz-${KVER}-ipfire-multi;
-fatload mmc 0:1 ${fdt_addr_r} dtb-${KVER}-ipfire-multi/${fdtfile};
-if fatload mmc 0:1 ${ramdisk_addr_r} uInit-${KVER}-ipfire-multi; then
+fatload ${boot_dev} ${boot_part} ${kernel_addr_r} vmlinuz-${KVER}-ipfire${kernel_type};
+fatload ${boot_dev} ${boot_part} ${fdt_addr_r} dtb-${KVER}-ipfire${kernel_type}/${fdtfile};
+setenv ramdisk_addr ${ramdisk_addr_r}
+if fatload ${boot_dev} ${boot_part} ${ramdisk_addr} uInit-${KVER}-ipfire${kernel_type}; then
        echo Ramdisk loaded...;
 else
        echo Ramdisk not loaded...;
-       setenv ramdisk_addr_r -;
+       setenv ramdisk_addr -;
 fi ;
-bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r};
+bootz ${kernel_addr_r} ${ramdisk_addr} ${fdt_addr_r};
+booti ${kernel_addr_r} ${ramdisk_addr} ${fdt_addr_r};
 
 # Recompile with:
 # mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr