[package] uboot-kirkwood: update to 2013.10
authorluka <luka@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 15 Feb 2014 23:53:07 +0000 (23:53 +0000)
committerluka <luka@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 15 Feb 2014 23:53:07 +0000 (23:53 +0000)
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 <luka@openwrt.org>
Tested-by (on ib62x0): Luka Perkov <luka@openwrt.org>
Tested-by (on dockstar): Alexander Couzens <lynxis@fe80.eu>
Tested-by (on iconnect): Wojciech Dubowik <wojciech.dubowik@neratec.com>
CC: Felix Kaechele <heffer@fedoraproject.org>
CC: Wojciech Dubowik <wojciech.dubowik@neratec.com>
CC: Alexander Couzens <lynxis@fe80.eu>
CC: Daniel Engberg <daniel.engberg@pyret.net>
CC: Imre Kaloz <kaloz@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39590 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/boot/uboot-kirkwood/Makefile
package/boot/uboot-kirkwood/patches/0001-kirkwood-ib62x0-use-device-tree-and-update-config.patch [new file with mode: 0644]
package/boot/uboot-kirkwood/patches/110-dockstar.patch
package/boot/uboot-kirkwood/patches/120-iconnect.patch [new file with mode: 0644]
package/boot/uboot-kirkwood/patches/130-ib62x0.patch [new file with mode: 0644]
package/boot/uboot-kirkwood/patches/200-openwrt-config.patch [new file with mode: 0644]

index 375d115..328da81 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2010-2012 OpenWrt.org
+# Copyright (C) 2010-2013 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=u-boot
-PKG_VERSION:=2012.10
+PKG_VERSION:=2013.10
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
@@ -16,9 +16,11 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:= \
        http://mirror2.openwrt.org/sources \
        ftp://ftp.denx.de/pub/u-boot
-PKG_MD5SUM:=8655f63b1e5c4647295ac9ce44660be3
+PKG_MD5SUM:=a076a044b64371edc52f7e562b13f6b2
 PKG_TARGETS:=bin
 
+PKG_BUILD_PARALLEL:=1
+
 include $(INCLUDE_DIR)/package.mk
 
 define uboot/Default
@@ -27,23 +29,44 @@ define uboot/Default
   IMAGE:=
 endef
 
-define uboot/sheevaplug
-  TITLE:=U-Boot for the SheevaPlug
+define uboot/dockstar
+  TITLE:=U-Boot for Seagate DockStar
 endef
 
-define uboot/dockstar
-  TITLE:=U-Boot for the Seagate DockStar
+define uboot/dockstar_second_stage
+  TITLE:=second stage U-Boot for Seagate DockStar
+endef
+
+define uboot/ib62x0
+  TITLE:=U-Boot for RaidSonic ICY BOX NAS6210 and NAS6220
+endef
+
+define uboot/ib62x0_second_stage
+  TITLE:=second stage U-Boot for RaidSonic ICY BOX NAS6210 and NAS6220
 endef
 
 define uboot/iconnect
-  TITLE:=U-Boot for the Iomega iConnect Wireless
+  TITLE:=U-Boot for Iomega iConnect Wireless
 endef
 
-define uboot/ib62x0
-  TITLE:=U-Boot for the RaidSonic ICY BOX NAS6210 and NAS6220
+define uboot/iconnect_second_stage
+  TITLE:=second stage U-Boot for Iomega iConnect Wireless
+endef
+
+define uboot/pogo_e02
+  TITLE:=U-Boot for Cloud Engines Pogoplug E02
+endef
+
+define uboot/sheevaplug
+  TITLE:=U-Boot for SheevaPlug
 endef
 
-UBOOTS:=sheevaplug dockstar iconnect ib62x0
+UBOOTS:= \
+       dockstar dockstar_second_stage \
+       ib62x0 ib62x0_second_stage \
+       iconnect iconnect_second_stage \
+       pogo_e02 \
+       sheevaplug
 
 define Package/uboot/template
 define Package/uboot-kirkwood-$(1)
@@ -69,14 +92,18 @@ UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin
 endif
 
 define Build/Configure
-       $(MAKE) -C $(PKG_BUILD_DIR) \
+       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
                $(UBOOT_CONFIG)_config
 endef
 
 define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
+       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
                u-boot.kwb \
                CROSS_COMPILE=$(TARGET_CROSS)
+       mkimage -A $(ARCH) -O linux -T kernel -C none \
+               -a 0x600000 -e 0x600000 \
+               -n 'OpenWrt Das U-Boot uImage' \
+               -d $(PKG_BUILD_DIR)/u-boot.bin $(PKG_BUILD_DIR)/u-boot.img
 endef
 
 define Package/uboot/install/default
@@ -85,6 +112,8 @@ define Package/uboot/install/default
                $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.bin
        $(CP) $(PKG_BUILD_DIR)/u-boot.kwb \
                $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.kwb
+       $(CP) $(PKG_BUILD_DIR)/u-boot.img \
+               $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.img
        $(INSTALL_DIR) $(BIN_DIR)/u-boot-kwboot/
        $(CP) $(PKG_BUILD_DIR)/tools/kwboot \
                $(BIN_DIR)/u-boot-kwboot/
diff --git a/package/boot/uboot-kirkwood/patches/0001-kirkwood-ib62x0-use-device-tree-and-update-config.patch b/package/boot/uboot-kirkwood/patches/0001-kirkwood-ib62x0-use-device-tree-and-update-config.patch
new file mode 100644 (file)
index 0000000..de80236
--- /dev/null
@@ -0,0 +1,89 @@
+From 2701517a2bbf17544b408738438b0dd17718d4dd Mon Sep 17 00:00:00 2001
+From: Luka Perkov <luka@openwrt.org>
+Date: Wed, 14 Nov 2012 23:32:55 +0100
+Subject: [PATCH] kirkwood: ib62x0: use device tree and update config
+
+Signed-off-by: Luka Perkov <luka@openwrt.org>
+CC: Prafulla Wadaskar <prafulla@marvell.com>
+---
+v1->v2:
+
+ * keep CONFIG_MACH_TYPE define for backwards compatibility
+---
+http://patchwork.ozlabs.org/patch/287388/
+Acked-By: Prafulla Wadaskar <prafulla@marvell.com>
+---
+ include/configs/ib62x0.h | 38 +++++++++++++++++++++++---------------
+ 1 file changed, 23 insertions(+), 15 deletions(-)
+
+--- a/include/configs/ib62x0.h
++++ b/include/configs/ib62x0.h
+@@ -28,6 +28,11 @@
+ #define CONFIG_MACH_TYPE      MACH_TYPE_NAS6210
+ /*
++ * Enable device tree support
++ */
++#define CONFIG_OF_LIBFDT
++
++/*
+  * Compression configuration
+  */
+ #define CONFIG_BZIP2
+@@ -41,6 +46,7 @@
+ #define CONFIG_SYS_MVFS
+ #include <config_cmd_default.h>
+ #define CONFIG_CMD_ENV
++#define CONFIG_CMD_BOOTZ
+ #define CONFIG_CMD_IDE
+ #define CONFIG_CMD_MII
+ #define CONFIG_CMD_NAND
+@@ -66,7 +72,7 @@
+ #define CONFIG_ENV_IS_NOWHERE
+ #endif
+ #define CONFIG_ENV_SIZE               0x20000
+-#define CONFIG_ENV_OFFSET     0x80000
++#define CONFIG_ENV_OFFSET     0xe0000
+ /*
+  * Default environment variables
+@@ -74,24 +80,26 @@
+ #define CONFIG_BOOTCOMMAND \
+       "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; "     \
+       "ubi part root; "                                               \
+-      "ubifsmount ubi:root; "                                         \
++      "ubifsmount ubi:rootfs; "                                       \
+       "ubifsload 0x800000 ${kernel}; "                                \
+-      "ubifsload 0x1100000 ${initrd}; "                               \
+-      "bootm 0x800000 0x1100000"
+-
+-#define CONFIG_MTDPARTS                               \
+-      "mtdparts=orion_nand:"                  \
+-      "0x80000@0x0(uboot),"                   \
+-      "0x20000@0x80000(uboot_env),"           \
+-      "-@0xa0000(root)\0"
++      "ubifsload 0x700000 ${fdt}; "                                   \
++      "ubifsumount; "                                                 \
++      "fdt addr 0x700000; fdt resize; fdt chosen; "                   \
++      "bootz 0x800000 - 0x700000"
++
++#define CONFIG_MTDPARTS \
++      "mtdparts=orion_nand:"                                          \
++      "0xe0000@0x0(uboot),"                                           \
++      "0x20000@0xe0000(uboot_env),"                                   \
++      "-@0x100000(root)\0"
+-#define CONFIG_EXTRA_ENV_SETTINGS                                     \
++#define CONFIG_EXTRA_ENV_SETTINGS \
+       "console=console=ttyS0,115200\0"                                \
+       "mtdids=nand0=orion_nand\0"                                     \
+       "mtdparts="CONFIG_MTDPARTS                                      \
+-      "kernel=/boot/uImage\0"                                         \
+-      "initrd=/boot/uInitrd\0"                                        \
+-      "bootargs_root=ubi.mtd=2 root=ubi0:root rootfstype=ubifs\0"
++      "kernel=/boot/zImage\0"                                         \
++      "fdt=/boot/ib62x0.dtb\0"                                        \
++      "bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs rw\0"
+ /*
+  * Ethernet driver configuration
index 4ff7e57..b0a7f54 100644 (file)
 --- 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 <config_cmd_default.h>
+ #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" \
 -      "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 <luka@openwrt.org>
+ Active  arm         arm926ejs      kirkwood    Seagate         -                   dockstar                             -                                                                                                                                 Eric Cooper <ecc@cmu.edu>
++Active  arm         arm926ejs      kirkwood    Seagate         dockstar            dockstar_second_stage                dockstar:SECOND_STAGE                                                                                                             Luka Perkov <luka@openwrt.org>
+ Active  arm         arm926ejs      kirkwood    Seagate         -                   goflexhome                           -                                                                                                                                 Suriyan Ramasami <suriyan.r@gmail.com>
+ Active  arm         arm926ejs      lpc32xx     timll           devkit3250          devkit3250                           -                                                                                                                                 Vladimir Zapolskiy <vz@mleia.com>
+ Active  arm         arm926ejs      mb86r0x     syteco          jadecpu             jadecpu                              -                                                                                                                                 Matthias Weisser <weisserm@arcor.de>
diff --git a/package/boot/uboot-kirkwood/patches/120-iconnect.patch b/package/boot/uboot-kirkwood/patches/120-iconnect.patch
new file mode 100644 (file)
index 0000000..36655a9
--- /dev/null
@@ -0,0 +1,57 @@
+--- a/include/configs/iconnect.h
++++ b/include/configs/iconnect.h
+@@ -65,30 +65,35 @@
+ #define CONFIG_ENV_IS_NOWHERE
+ #endif
+ #define CONFIG_ENV_SIZE               0x20000
+-#define CONFIG_ENV_OFFSET     0x80000
++#define CONFIG_ENV_OFFSET     0xe0000
+ /*
+  * Default environment variables
+  */
+ #define CONFIG_BOOTCOMMAND \
+       "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; "     \
+-      "ubi part rootfs; "                                             \
++      "ubi part root; "                                               \
+       "ubifsmount ubi:rootfs; "                                       \
+       "ubifsload 0x800000 ${kernel}; "                                \
+-      "bootm 0x800000"
++      "ubifsload 0x700000 ${fdt}; "                                   \
++      "ubifsumount; "                                                 \
++      "fdt addr 0x700000; fdt resize; fdt chosen; "                   \
++      "bootz 0x800000 - 0x700000"
+ #define CONFIG_MTDPARTS \
+-      "mtdparts=orion_nand:"          \
+-      "0x80000@0x0(uboot),"           \
+-      "0x20000@0x80000(uboot_env),"   \
+-      "-@0xa0000(rootfs)\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"        \
+       "mtdids=nand0=orion_nand\0"             \
+       "mtdparts="CONFIG_MTDPARTS              \
+-      "kernel=/boot/uImage\0"                 \
+-      "bootargs_root=noinitrd ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs\0"
++      "kernel=/boot/zImage\0"                 \
++      "fdt=/boot/iconnect.dtb\0"              \
++      "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0"
+ /*
+  * Ethernet driver configuration
+--- a/boards.cfg
++++ b/boards.cfg
+@@ -164,6 +164,7 @@ Active  arm         arm926ejs      kirkw
+ Active  arm         arm926ejs      kirkwood    cloudengines    -                   pogo_e02                             -                                                                                                                                 Dave Purdy <david.c.purdy@gmail.com>
+ Active  arm         arm926ejs      kirkwood    d-link          -                   dns325                               -                                                                                                                                 Stefan Herbrechtsmeier <stefan@code.herbrechtsmeier.net>
+ Active  arm         arm926ejs      kirkwood    iomega          -                   iconnect                             -                                                                                                                                 Luka Perkov <luka@openwrt.org>
++Active  arm         arm926ejs      kirkwood    iomega          iconnect            iconnect_second_stage                iconnect:SECOND_STAGE                                                                                                             Luka Perkov <luka@openwrt.org>
+ Active  arm         arm926ejs      kirkwood    karo            tk71                tk71                                 -                                                                                                                                 -
+ Active  arm         arm926ejs      kirkwood    keymile         km_arm              km_kirkwood                          km_kirkwood:KM_KIRKWOOD                                                                                                           Valentin Longchamp <valentin.longchamp@keymile.com>
+ Active  arm         arm926ejs      kirkwood    keymile         km_arm              km_kirkwood_pci                      km_kirkwood:KM_KIRKWOOD_PCI                                                                                                       Valentin Longchamp <valentin.longchamp@keymile.com>
diff --git a/package/boot/uboot-kirkwood/patches/130-ib62x0.patch b/package/boot/uboot-kirkwood/patches/130-ib62x0.patch
new file mode 100644 (file)
index 0000000..9a086e0
--- /dev/null
@@ -0,0 +1,31 @@
+--- a/boards.cfg
++++ b/boards.cfg
+@@ -190,6 +190,7 @@ Active  arm         arm926ejs      kirkw
+ Active  arm         arm926ejs      kirkwood    Marvell         openrd              openrd_client                        openrd:BOARD_IS_OPENRD_CLIENT                                                                                                     -
+ Active  arm         arm926ejs      kirkwood    Marvell         openrd              openrd_ultimate                      openrd:BOARD_IS_OPENRD_ULTIMATE                                                                                                   -
+ Active  arm         arm926ejs      kirkwood    raidsonic       ib62x0              ib62x0                               -                                                                                                                                 Luka Perkov <luka@openwrt.org>
++Active  arm         arm926ejs      kirkwood    raidsonic       ib62x0              ib62x0_second_stage                  ib62x0:SECOND_STAGE                                                                                                               Luka Perkov <luka@openwrt.org>
+ Active  arm         arm926ejs      kirkwood    Seagate         -                   dockstar                             -                                                                                                                                 Eric Cooper <ecc@cmu.edu>
+ Active  arm         arm926ejs      kirkwood    Seagate         dockstar            dockstar_second_stage                dockstar:SECOND_STAGE                                                                                                             Luka Perkov <luka@openwrt.org>
+ Active  arm         arm926ejs      kirkwood    Seagate         -                   goflexhome                           -                                                                                                                                 Suriyan Ramasami <suriyan.r@gmail.com>
+--- a/include/configs/ib62x0.h
++++ b/include/configs/ib62x0.h
+@@ -91,7 +91,8 @@
+       "mtdparts=orion_nand:"                                          \
+       "0xe0000@0x0(uboot),"                                           \
+       "0x20000@0xe0000(uboot_env),"                                   \
+-      "-@0x100000(root)\0"
++      "0x100000@0x100000(second_stage_uboot),"                        \
++      "-@0x200000(root)\0"
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+       "console=console=ttyS0,115200\0"                                \
+@@ -99,7 +100,7 @@
+       "mtdparts="CONFIG_MTDPARTS                                      \
+       "kernel=/boot/zImage\0"                                         \
+       "fdt=/boot/ib62x0.dtb\0"                                        \
+-      "bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs rw\0"
++      "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0"
+ /*
+  * Ethernet driver configuration
diff --git a/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch b/package/boot/uboot-kirkwood/patches/200-openwrt-config.patch
new file mode 100644 (file)
index 0000000..0c3e678
--- /dev/null
@@ -0,0 +1,100 @@
+--- a/include/configs/dockstar.h
++++ b/include/configs/dockstar.h
+@@ -114,4 +114,6 @@
+ #define CONFIG_CMD_MTDPARTS
+ #define CONFIG_LZO
++#include "openwrt-kirkwood-common.h"
++
+ #endif /* _CONFIG_DOCKSTAR_H */
+--- a/include/configs/ib62x0.h
++++ b/include/configs/ib62x0.h
+@@ -144,4 +144,6 @@
+ #define CONFIG_MTD_PARTITIONS
+ #define CONFIG_CMD_MTDPARTS
++#include "openwrt-kirkwood-common.h"
++
+ #endif /* _CONFIG_IB62x0_H */
+--- a/include/configs/iconnect.h
++++ b/include/configs/iconnect.h
+@@ -117,4 +117,6 @@
+ #define CONFIG_MTD_PARTITIONS
+ #define CONFIG_CMD_MTDPARTS
++#include "openwrt-kirkwood-common.h"
++
+ #endif /* _CONFIG_ICONNECT_H */
+--- /dev/null
++++ b/include/configs/openwrt-kirkwood-common.h
+@@ -0,0 +1,52 @@
++/*
++ * Copyright (C) 2013 Luka Perkov <luka@openwrt.org>
++ *
++ * SPDX-License-Identifier:   GPL-2.0+
++ */
++
++#ifndef __OPENWRT_KIRKWOOD_COMMON_H
++#define __OPENWRT_KIRKWOOD_COMMON_H
++
++/* Commands */
++#define CONFIG_CMD_BOOTZ
++
++#if defined(CONFIG_CMD_NET)
++#define CONFIG_CMD_DHCP
++#define CONFIG_CMD_PING
++#endif
++
++/* Auto boot */
++#undef CONFIG_BOOTDELAY
++#define CONFIG_BOOTDELAY      3
++
++/* Ethernet */
++#if defined(CONFIG_CMD_NET)
++#define CONFIG_SERVERIP               192.168.1.2
++#define CONFIG_IPADDR         192.168.1.1
++#endif
++
++/* second stage loader */
++#if defined(CONFIG_SECOND_STAGE)
++#undef CONFIG_ENV_IS_IN_NAND
++#undef CONFIG_ENV_SECT_SIZE
++#define CONFIG_ENV_IS_NOWHERE
++#endif
++
++/* Flattened Device Tree */
++#define CONFIG_OF_LIBFDT
++
++/* Flattened uImage Tree */
++#define CONFIG_FIT
++#define CONFIG_FIT_VERBOSE
++
++/* Various */
++#define CONFIG_BZIP2
++#define CONFIG_LZMA
++#define CONFIG_LZO
++
++/* Unnecessary */
++#undef CONFIG_BOOTM_NETBSD
++#undef CONFIG_BOOTM_PLAN9
++#undef CONFIG_BOOTM_RTEMS
++
++#endif /* __OPENWRT_KIRKWOOD_COMMON_H */
+--- a/include/configs/pogo_e02.h
++++ b/include/configs/pogo_e02.h
+@@ -102,4 +102,6 @@
+ #define CONFIG_CMD_MTDPARTS
+ #define CONFIG_LZO
++#include "openwrt-kirkwood-common.h"
++
+ #endif /* _CONFIG_POGO_E02_H */
+--- a/include/configs/sheevaplug.h
++++ b/include/configs/sheevaplug.h
+@@ -95,4 +95,6 @@
+ #define CONFIG_CMD_MTDPARTS
+ #define CONFIG_LZO
++#include "openwrt-kirkwood-common.h"
++
+ #endif /* _CONFIG_SHEEVAPLUG_H */