Patchwork [U-Boot] kirkwood: ib62x0: use device tree and update config

login
register
mail settings
Submitter Luka Perkov
Date Oct. 14, 2013, 2:38 a.m.
Message ID <1381718283-8387-1-git-send-email-luka@openwrt.org>
Download mbox | patch
Permalink /patch/283134/
State New
Delegated to: Prafulla Wadaskar
Headers show

Comments

Luka Perkov - Oct. 14, 2013, 2:38 a.m.
Signed-off-by: Luka Perkov <luka@openwrt.org>
---
 include/configs/ib62x0.h | 37 ++++++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 17 deletions(-)
Fabio Estevam - Oct. 14, 2013, 2:41 a.m.
On Sun, Oct 13, 2013 at 11:38 PM, Luka Perkov <luka@openwrt.org> wrote:
> Signed-off-by: Luka Perkov <luka@openwrt.org>
> ---
>  include/configs/ib62x0.h | 37 ++++++++++++++++++++-----------------
>  1 file changed, 20 insertions(+), 17 deletions(-)
>
> diff --git a/include/configs/ib62x0.h b/include/configs/ib62x0.h
> index 7fa0c53..90ed0fb 100644
> --- a/include/configs/ib62x0.h
> +++ b/include/configs/ib62x0.h
> @@ -23,9 +23,9 @@
>  #define CONFIG_SKIP_LOWLEVEL_INIT      /* disable board lowlevel_init */
>
>  /*
> - * Machine type
> + * Enable device tree support
>   */
> -#define CONFIG_MACH_TYPE       MACH_TYPE_NAS6210
> +#define CONFIG_OF_LIBFDT

I am not familiar with this platform, but couldn't you also keep
CONFIG_MACH_TYPE ?

This way people have the option to load both dt and non-dt kernels.

Regards,

Fabio Estevam
Luka Perkov - Oct. 14, 2013, 9:40 a.m.
Hi Fabio,

On Sun, Oct 13, 2013 at 11:41:44PM -0300, Fabio Estevam wrote:
> On Sun, Oct 13, 2013 at 11:38 PM, Luka Perkov <luka@openwrt.org> wrote:
> >  /*
> > - * Machine type
> > + * Enable device tree support
> >   */
> > -#define CONFIG_MACH_TYPE       MACH_TYPE_NAS6210
> > +#define CONFIG_OF_LIBFDT
> 
> I am not familiar with this platform, but couldn't you also keep
> CONFIG_MACH_TYPE ?
> 
> This way people have the option to load both dt and non-dt kernels.

Upstream uses only DT. When uboot support was pushed we had non-DT
kernel patches that were never merged upstream. IMO we should just drop
CONFIG_MACH_TYPE and use CONFIG_OF_LIBFDT.

Luka
Marek Vasut - Oct. 21, 2013, 10:28 p.m.
Dear Luka Perkov,

> Hi Fabio,
> 
> On Sun, Oct 13, 2013 at 11:41:44PM -0300, Fabio Estevam wrote:
> > On Sun, Oct 13, 2013 at 11:38 PM, Luka Perkov <luka@openwrt.org> wrote:
> > >  /*
> > > 
> > > - * Machine type
> > > + * Enable device tree support
> > > 
> > >   */
> > > 
> > > -#define CONFIG_MACH_TYPE       MACH_TYPE_NAS6210
> > > +#define CONFIG_OF_LIBFDT
> > 
> > I am not familiar with this platform, but couldn't you also keep
> > CONFIG_MACH_TYPE ?
> > 
> > This way people have the option to load both dt and non-dt kernels.
> 
> Upstream uses only DT. When uboot support was pushed we had non-DT
> kernel patches that were never merged upstream. IMO we should just drop
> CONFIG_MACH_TYPE and use CONFIG_OF_LIBFDT.

You are breaking compatibility here, so you should keep the machine ID .

Best regards,
Marek Vasut

Patch

diff --git a/include/configs/ib62x0.h b/include/configs/ib62x0.h
index 7fa0c53..90ed0fb 100644
--- a/include/configs/ib62x0.h
+++ b/include/configs/ib62x0.h
@@ -23,9 +23,9 @@ 
 #define CONFIG_SKIP_LOWLEVEL_INIT	/* disable board lowlevel_init */
 
 /*
- * Machine type
+ * Enable device tree support
  */
-#define CONFIG_MACH_TYPE	MACH_TYPE_NAS6210
+#define CONFIG_OF_LIBFDT
 
 /*
  * Compression configuration
@@ -41,6 +41,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 +67,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 +75,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"
-
-#define CONFIG_EXTRA_ENV_SETTINGS					\
+	"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 \
 	"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