From 777e7c3ff5d0030dc7d24a43b70dfd2d3b2a5a4c Mon Sep 17 00:00:00 2001 From: Luka Perkov Date: Sat, 15 Feb 2014 23:53:07 +0000 Subject: uboot-kirkwood: update to 2013.10 Tested on: * Cloud Engines Pogoplug E02 * RaidSonic ICY BOX IB-NAS62x0 * Iomega Iconnect Some users are avoiding to replace their bootloader, because of that add support for second stage u-boot image. Having ubifs capable bootloader is required in order to boot current OpenWrt trunk. Sample ib62x0 commands for running second stage bootloader: tftpboot 0x800000 uboot-kirkwood-ib62x0_second_stage/openwrt-kirkwood-ib62x0_second_stage-u-boot.img bootm 0x800000 Sample ib62x0 commands for flashing second stage bootloader: tftpboot 0x800000 uboot-kirkwood-ib62x0_second_stage/openwrt-kirkwood-ib62x0_second_stage-u-boot.img nand erase 0x100000 0x100000 ; nand write 0x800000 0x100000 0x${filesize} nand read 0x800000 0x100000 0x100000 ; bootm 0x800000 While at it include parallel build support, use alphabetic order of the boards and introduce common OpenWrt configuration. Signed-off-by: Luka Perkov Tested-by (on ib62x0): Luka Perkov Tested-by (on dockstar): Alexander Couzens Tested-by (on iconnect): Wojciech Dubowik CC: Felix Kaechele CC: Wojciech Dubowik CC: Alexander Couzens CC: Daniel Engberg CC: Imre Kaloz SVN-Revision: 39590 --- .../boot/uboot-kirkwood/patches/110-dockstar.patch | 134 ++++++++++++++++++--- 1 file changed, 120 insertions(+), 14 deletions(-) (limited to 'package/boot/uboot-kirkwood/patches/110-dockstar.patch') diff --git a/package/boot/uboot-kirkwood/patches/110-dockstar.patch b/package/boot/uboot-kirkwood/patches/110-dockstar.patch index 4ff7e57bbb..b0a7f54980 100644 --- a/package/boot/uboot-kirkwood/patches/110-dockstar.patch +++ b/package/boot/uboot-kirkwood/patches/110-dockstar.patch @@ -1,23 +1,104 @@ --- a/include/configs/dockstar.h +++ b/include/configs/dockstar.h -@@ -83,22 +83,19 @@ +@@ -15,21 +15,26 @@ + /* + * Version number information + */ +-#define CONFIG_IDENT_STRING "\nSeagate FreeAgent DockStar" ++#define CONFIG_IDENT_STRING " Seagate FreeAgent DockStar" + + /* +- * High Level Configuration Options (easy to change) ++ * High level configuration options + */ +-#define CONFIG_FEROCEON_88FR131 1 /* CPU Core subversion */ +-#define CONFIG_KIRKWOOD 1 /* SOC Family Name */ +-#define CONFIG_KW88F6281 1 /* SOC Name */ +-#define CONFIG_MACH_DOCKSTAR /* Machine type */ ++#define CONFIG_FEROCEON_88FR131 /* CPU Core subversion */ ++#define CONFIG_KIRKWOOD /* SOC Family Name */ ++#define CONFIG_KW88F6281 /* SOC Name */ + #define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */ + + /* ++ * Machine type ++ */ ++#define CONFIG_MACH_DOCKSTAR ++ ++/* + * Commands configuration + */ +-#define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */ ++#define CONFIG_SYS_NO_FLASH /* declare no flash (NOR/SPI) */ ++#define CONFIG_SYS_MVFS + #include + #define CONFIG_CMD_DHCP + #define CONFIG_CMD_ENV +@@ -37,55 +42,58 @@ + #define CONFIG_CMD_NAND + #define CONFIG_CMD_PING + #define CONFIG_CMD_USB ++ + /* + * mv-common.h should be defined after CMD configs since it used them + * to enable certain macros + */ + #include "mv-common.h" + +-#undef CONFIG_SYS_PROMPT /* previously defined in mv-common.h */ +-#define CONFIG_SYS_PROMPT "DockStar> " /* Command Prompt */ ++#undef CONFIG_SYS_PROMPT ++#define CONFIG_SYS_PROMPT "dockstar => " + + /* +- * Environment variables configurations ++ * Environment variables configuration + */ + #ifdef CONFIG_CMD_NAND +-#define CONFIG_ENV_IS_IN_NAND 1 +-#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K */ ++#define CONFIG_ENV_IS_IN_NAND ++#define CONFIG_ENV_SECT_SIZE 0x20000 + #else +-#define CONFIG_ENV_IS_NOWHERE 1 /* if env in SDRAM */ ++#define CONFIG_ENV_IS_NOWHERE + #endif +-/* +- * max 4k env size is enough, but in case of nand +- * it has to be rounded to sector size +- */ +-#define CONFIG_ENV_SIZE 0x20000 /* 128k */ +-#define CONFIG_ENV_ADDR 0x60000 +-#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */ ++#define CONFIG_ENV_SIZE 0x20000 ++#define CONFIG_ENV_OFFSET 0xe0000 + + /* * Default environment variables */ #define CONFIG_BOOTCOMMAND \ -- "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; " \ + "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; " \ - "ubi part root; " \ -- "ubifsmount root; " \ +- "ubifsmount ubi:root; " \ - "ubifsload 0x800000 ${kernel}; " \ - "ubifsload 0x1100000 ${initrd}; " \ - "bootm 0x800000 0x1100000" -+ "${x_bootcmd_kernel}; " \ -+ "setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \ -+ "${x_bootcmd_usb}; bootm 0x6400000;" - +- -#define CONFIG_MTDPARTS "mtdparts=orion_nand:1m(uboot),-(root)\0" ++ "ubi part root; " \ ++ "ubifsmount ubi:rootfs; " \ ++ "ubifsload 0x800000 ${kernel}; " \ ++ "ubifsload 0x700000 ${fdt}; " \ ++ "ubifsumount; " \ ++ "fdt addr 0x700000; fdt resize; fdt chosen; " \ ++ "bootz 0x800000 - 0x700000" ++ +#define CONFIG_MTDPARTS \ -+ "orion_nand:1M(u-boot),1M@1M(second_stage_u-boot)," \ -+ "3M@2M(kernel),32M@5M(rootfs),219M@37M(data) rw\0" ++ "mtdparts=orion_nand:" \ ++ "0xe0000@0x0(uboot)," \ ++ "0x20000@0xe0000(uboot_env)," \ ++ "0x100000@0x100000(second_stage_uboot)," \ ++ "-@0x200000(root)\0" #define CONFIG_EXTRA_ENV_SETTINGS \ - "console=console=ttyS0,115200\0" \ @@ -26,10 +107,35 @@ - "kernel=/boot/uImage\0" \ - "initrd=/boot/uInitrd\0" \ - "bootargs_root=ubi.mtd=1 root=ubi0:root rootfstype=ubifs ro\0" -+ "x_bootargs=console=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ -+ "x_bootcmd_kernel=nand read 0x6400000 0x200000 0x300000\0" \ -+ "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0" \ -+ "x_bootcmd_usb=usb start\0" ++ "console=console=ttyS0,115200\0" \ ++ "mtdids=nand0=orion_nand\0" \ ++ "mtdparts="CONFIG_MTDPARTS \ ++ "kernel=/boot/zImage\0" \ ++ "fdt=/boot/dockstar.dtb\0" \ ++ "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0" /* - * Ethernet Driver configuration +- * Ethernet Driver configuration ++ * Ethernet driver configuration + */ + #ifdef CONFIG_CMD_NET + #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */ +@@ -101,7 +109,7 @@ + #define CONFIG_CMD_UBI + #define CONFIG_CMD_UBIFS + #define CONFIG_RBTREE +-#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ ++#define CONFIG_MTD_DEVICE + #define CONFIG_MTD_PARTITIONS + #define CONFIG_CMD_MTDPARTS + #define CONFIG_LZO +--- a/boards.cfg ++++ b/boards.cfg +@@ -190,6 +190,7 @@ Active arm arm926ejs kirkw + Active arm arm926ejs kirkwood Marvell openrd openrd_ultimate openrd:BOARD_IS_OPENRD_ULTIMATE - + Active arm arm926ejs kirkwood raidsonic ib62x0 ib62x0 - Luka Perkov + Active arm arm926ejs kirkwood Seagate - dockstar - Eric Cooper ++Active arm arm926ejs kirkwood Seagate dockstar dockstar_second_stage dockstar:SECOND_STAGE Luka Perkov + Active arm arm926ejs kirkwood Seagate - goflexhome - Suriyan Ramasami + Active arm arm926ejs lpc32xx timll devkit3250 devkit3250 - Vladimir Zapolskiy + Active arm arm926ejs mb86r0x syteco jadecpu jadecpu - Matthias Weisser -- cgit v1.2.3