uboot-kirkwood: re-add Pogoplug E02 support
authorLuka Perkov <luka@openwrt.org>
Fri, 23 May 2014 08:17:01 +0000 (08:17 +0000)
committerLuka Perkov <luka@openwrt.org>
Fri, 23 May 2014 08:17:01 +0000 (08:17 +0000)
This patch modifies the u-boot config for the Pogoplug E02 to work with
OpenWrt. It also enables building a second stage bootloader image.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
SVN-Revision: 40828

package/boot/uboot-kirkwood/Makefile
package/boot/uboot-kirkwood/patches/140-pogoplug_e02.patch [new file with mode: 0644]
package/boot/uboot-kirkwood/patches/200-openwrt-config.patch

index 4504669..0f03143 100644 (file)
@@ -61,6 +61,10 @@ define uboot/pogo_e02
   TITLE:=U-Boot for Cloud Engines Pogoplug E02
 endef
 
+define uboot/pogo_e02_second_stage
+  TITLE:=second stage U-Boot for Cloud Engines Pogoplug E02
+endef
+
 define uboot/sheevaplug
   TITLE:=U-Boot for SheevaPlug
 endef
@@ -70,7 +74,7 @@ UBOOTS:= \
        goflexhome \
        ib62x0 ib62x0_second_stage \
        iconnect iconnect_second_stage \
-       pogo_e02 \
+       pogo_e02 pogo_e02_second_stage \
        sheevaplug
 
 define Package/uboot/template
diff --git a/package/boot/uboot-kirkwood/patches/140-pogoplug_e02.patch b/package/boot/uboot-kirkwood/patches/140-pogoplug_e02.patch
new file mode 100644 (file)
index 0000000..b8c9c12
--- /dev/null
@@ -0,0 +1,58 @@
+--- a/boards.cfg
++++ b/boards.cfg
+@@ -168,6 +168,7 @@ Active  arm         arm926ejs      davin
+ Active  arm         arm926ejs      kirkwood    buffalo         lsxl                lschlv2                              lsxl:LSCHLV2                                                                                                                      Michael Walle <michael@walle.cc>
+ Active  arm         arm926ejs      kirkwood    buffalo         lsxl                lsxhl                                lsxl:LSXHL                                                                                                                        Michael Walle <michael@walle.cc>
+ Active  arm         arm926ejs      kirkwood    cloudengines    -                   pogo_e02                             -                                                                                                                                 Dave Purdy <david.c.purdy@gmail.com>
++Active  arm         arm926ejs      kirkwood    cloudengines    pogo_e02            pogo_e02_second_stage                pogo_e02:SECOND_STAGE                                                                                                             Felix Kaechele <felix@fetzig.org>
+ 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>
+--- a/include/configs/pogo_e02.h
++++ b/include/configs/pogo_e02.h
+@@ -62,23 +62,35 @@
+ #endif
+ #define CONFIG_ENV_SIZE                       0x20000 /* 128k */
+-#define CONFIG_ENV_OFFSET             0x60000 /* env starts here */
++#define CONFIG_ENV_OFFSET             0xe0000 /* env starts here */
+ /*
+  * Default environment variables
+  */
+ #define CONFIG_BOOTCOMMAND \
+-      "setenv bootargs $(bootargs_console); " \
+-      "run bootcmd_usb; " \
+-      "bootm 0x00800000 0x01100000"
++      "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; " \
++      "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 \
++      "mtdparts=orion_nand:" \
++      "0xe0000@0x0(uboot)," \
++      "0x20000@0xe0000(uboot_env)," \
++      "0x100000@0x100000(second_stage_uboot)," \
++      "-@0x200000(root)\0"
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+-      "mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage)," \
+-      "32M(rootfs),-(data)\0"\
+-      "mtdids=nand0=orion_nand\0"\
+-      "bootargs_console=console=ttyS0,115200\0" \
+-      "bootcmd_usb=usb start; ext2load usb 0:1 0x00800000 /uImage; " \
+-      "ext2load usb 0:1 0x01100000 /uInitrd\0"
++      "console=console=ttyS0,115200\0"        \
++      "mtdids=nand0=orion_nand\0"             \
++      "mtdparts="CONFIG_MTDPARTS              \
++      "kernel=/boot/zImage\0"                 \
++      "fdt=/boot/pogo_e02.dtb\0"              \
++      "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0"
+ /*
+  * Ethernet Driver configuration
index 0c3e678..f9aae0f 100644 (file)
@@ -82,7 +82,7 @@
 +#endif /* __OPENWRT_KIRKWOOD_COMMON_H */
 --- a/include/configs/pogo_e02.h
 +++ b/include/configs/pogo_e02.h
-@@ -102,4 +102,6 @@
+@@ -114,4 +114,6 @@
  #define CONFIG_CMD_MTDPARTS
  #define CONFIG_LZO