lsxl: rework boot scripts
authorMichael Walle <michael@walle.cc>
Tue, 1 Apr 2014 18:09:14 +0000 (20:09 +0200)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sun, 25 May 2014 13:11:34 +0000 (15:11 +0200)
Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
blob loading to all existing boot scripts, dtb filenames were taken from
vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
a kernel and a ramdisk. Make this the default boot script. This should also
restore the behaviour of the original bootloader.

Cc: Prafulla Wadaskar <prafulla@marvell.com>
Cc: Tom Rini <trini@ti.com>
Signed-off-by: Michael Walle <michael@walle.cc>
include/configs/lsxl.h

index 97a8bb7aa3b8de1326b554e7e30fcf035745bc52..f5f49613c89365fc6c35a55db8fa3cb1d858099f 100644 (file)
@@ -66,6 +66,7 @@
 #define CONFIG_CMD_SF
 #define CONFIG_CMD_SPI
 #define CONFIG_CMD_USB
+#define CONFIG_CMD_FS_GENERIC
 
 #define CONFIG_DOS_PARTITION
 #define CONFIG_EFI_PARTITION
 #define CONFIG_LOADADDR                0x00800000
 #define CONFIG_BOOTCOMMAND     "run bootcmd_${bootsource}"
 #define CONFIG_BOOTARGS                "console=ttyS0,115200 root=/dev/sda2"
+
+#if defined(CONFIG_LSXHL)
+#define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
+#elif defined(CONFIG_LSCHLV2)
+#define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
+#else
+#error "Unsupported board"
+#endif
+
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
-       "bootsource=hdd\0"                                              \
+       "bootsource=legacy\0"                                           \
        "hdpart=0:1\0"                                                  \
-       "bootcmd_net=bootp 0x00100000 uImage "                          \
-               "&& tftpboot 0x00800000 uInitrd "                       \
+       "kernel_addr=0x00800000\0"                                      \
+       "ramdisk_addr=0x01000000\0"                                     \
+       "fdt_addr=0x01ff0000\0"                                         \
+       "bootcmd_legacy=ide reset "                                     \
+               "&& load ide ${hdpart} 0x00100000 /uImage.buffalo "     \
+               "&& load ide ${hdpart} 0x00800000 /initrd.buffalo "     \
                "&& bootm 0x00100000 0x00800000\0"                      \
+       "bootcmd_net=bootp ${kernel_addr} uImage "                      \
+               "&& tftpboot ${ramdisk_addr} uInitrd "                  \
+               "&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " "           \
+               "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
        "bootcmd_hdd=ide reset "                                        \
-               "&& ext2load ide ${hdpart} 0x00100000 /uImage "         \
-               "&& ext2load ide ${hdpart} 0x00800000 /uInitrd "        \
-               "&& bootm 0x00100000 0x00800000\0"                      \
+               "&& load ide ${hdpart} ${kernel_addr} /uImage "         \
+               "&& load ide ${hdpart} ${ramdisk_addr} /uInitrd "       \
+               "&& load ide ${hdpart} ${fdt_addr} "                    \
+                       "/" CONFIG_FDTFILE " "                          \
+               "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
        "bootcmd_usb=usb start "                                        \
-               "&& fatload usb 0:1 0x00100000 /uImage "                \
-               "&& fatload usb 0:1 0x00800000 /uInitrd "               \
-               "&& bootm 0x00100000 0x00800000\0"                      \
+               "&& load usb 0:1 ${kernel_addr} /uImage "               \
+               "&& load usb 0:1 ${ramdisk_addr} /uInitrd "             \
+               "&& load usb 0:1 ${fdt_addr} "                          \
+                       "/" CONFIG_FDTFILE " "                          \
+               "&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \
        "bootcmd_rescue=run config_nc_dhcp; run nc\0"                   \
        "eraseenv=sf probe 0 "                                          \
                "&& sf erase " __stringify(CONFIG_ENV_OFFSET)           \