Explorar o código

uboot-kirkwood: re-add Pogoplug E02 support

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 <[email protected]>

SVN-Revision: 40828
Luka Perkov %!s(int64=11) %!d(string=hai) anos
pai
achega
d3fc4fbd74

+ 5 - 1
package/boot/uboot-kirkwood/Makefile

@@ -61,6 +61,10 @@ define uboot/pogo_e02
   TITLE:=U-Boot for Cloud Engines Pogoplug E02
   TITLE:=U-Boot for Cloud Engines Pogoplug E02
 endef
 endef
 
 
+define uboot/pogo_e02_second_stage
+  TITLE:=second stage U-Boot for Cloud Engines Pogoplug E02
+endef
+
 define uboot/sheevaplug
 define uboot/sheevaplug
   TITLE:=U-Boot for SheevaPlug
   TITLE:=U-Boot for SheevaPlug
 endef
 endef
@@ -70,7 +74,7 @@ UBOOTS:= \
 	goflexhome \
 	goflexhome \
 	ib62x0 ib62x0_second_stage \
 	ib62x0 ib62x0_second_stage \
 	iconnect iconnect_second_stage \
 	iconnect iconnect_second_stage \
-	pogo_e02 \
+	pogo_e02 pogo_e02_second_stage \
 	sheevaplug
 	sheevaplug
 
 
 define Package/uboot/template
 define Package/uboot/template

+ 58 - 0
package/boot/uboot-kirkwood/patches/140-pogoplug_e02.patch

@@ -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 <[email protected]>
+ Active  arm         arm926ejs      kirkwood    buffalo         lsxl                lsxhl                                lsxl:LSXHL                                                                                                                        Michael Walle <[email protected]>
+ Active  arm         arm926ejs      kirkwood    cloudengines    -                   pogo_e02                             -                                                                                                                                 Dave Purdy <[email protected]>
++Active  arm         arm926ejs      kirkwood    cloudengines    pogo_e02            pogo_e02_second_stage                pogo_e02:SECOND_STAGE                                                                                                             Felix Kaechele <[email protected]>
+ Active  arm         arm926ejs      kirkwood    d-link          -                   dns325                               -                                                                                                                                 Stefan Herbrechtsmeier <[email protected]>
+ Active  arm         arm926ejs      kirkwood    iomega          -                   iconnect                             -                                                                                                                                 Luka Perkov <[email protected]>
+ Active  arm         arm926ejs      kirkwood    iomega          iconnect            iconnect_second_stage                iconnect:SECOND_STAGE                                                                                                             Luka Perkov <[email protected]>
+--- 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

+ 1 - 1
package/boot/uboot-kirkwood/patches/200-openwrt-config.patch

@@ -82,7 +82,7 @@
 +#endif /* __OPENWRT_KIRKWOOD_COMMON_H */
 +#endif /* __OPENWRT_KIRKWOOD_COMMON_H */
 --- a/include/configs/pogo_e02.h
 --- a/include/configs/pogo_e02.h
 +++ b/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_CMD_MTDPARTS
  #define CONFIG_LZO
  #define CONFIG_LZO