[U-Boot] [PATCH 0/3] add libfdt bootz support and change nand partition table

This patch series implement following feature: - Add libfdt support - Add bootz support - Change nand partition table
Bo Shen (1): ARM: at91: change nand flash table
Nicolas Ferre (2): arm: at91/configs: add libfdt to configuration arm: at91/configs: add bootz to configuration
include/configs/at91rm9200ek.h | 3 +++ include/configs/at91sam9260ek.h | 21 ++++++++++++--------- include/configs/at91sam9261ek.h | 19 +++++++++---------- include/configs/at91sam9263ek.h | 20 ++++++++++++-------- include/configs/at91sam9m10g45ek.h | 17 +++++++++-------- include/configs/at91sam9rlek.h | 3 +++ include/configs/at91sam9x5ek.h | 12 +++++++----- 7 files changed, 55 insertions(+), 40 deletions(-)

From: Nicolas Ferre nicolas.ferre@atmel.com
support to boot device tree Linux kernel
Signed-off-by: Nicolas Ferre nicolas.ferre@atmel.com [Add libftd for at91rm9200, at91sam9263, at91sam9rl] Signed-off-by: Bo Shen voice.shen@atmel.com --- include/configs/at91rm9200ek.h | 2 ++ include/configs/at91sam9260ek.h | 2 ++ include/configs/at91sam9263ek.h | 2 ++ include/configs/at91sam9rlek.h | 2 ++ 4 files changed, 8 insertions(+)
diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h index bf20065..4b526c2 100644 --- a/include/configs/at91rm9200ek.h +++ b/include/configs/at91rm9200ek.h @@ -75,6 +75,8 @@
#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_OF_LIBFDT + /* * Memory Configuration */ diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h index 02696b3..3db6cc8 100644 --- a/include/configs/at91sam9260ek.h +++ b/include/configs/at91sam9260ek.h @@ -62,6 +62,8 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_OF_LIBFDT + /* general purpose I/O */ #define CONFIG_ATMEL_LEGACY /* required until (g)pio is fixed */ #define CONFIG_AT91_GPIO diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h index 3503822..005d1af 100644 --- a/include/configs/at91sam9263ek.h +++ b/include/configs/at91sam9263ek.h @@ -62,6 +62,8 @@
#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_OF_LIBFDT + /* * Hardware drivers */ diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h index 8178b32..be084b2 100644 --- a/include/configs/at91sam9rlek.h +++ b/include/configs/at91sam9rlek.h @@ -48,6 +48,8 @@
#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_OF_LIBFDT + #define CONFIG_ATMEL_LEGACY #define CONFIG_AT91_GPIO 1 #define CONFIG_AT91_GPIO_PULLUP 1

Dear Bo Shen,
Bo Shen voice.shen@atmel.com writes:
From: Nicolas Ferre nicolas.ferre@atmel.com
support to boot device tree Linux kernel
Signed-off-by: Nicolas Ferre nicolas.ferre@atmel.com [Add libftd for at91rm9200, at91sam9263, at91sam9rl] Signed-off-by: Bo Shen voice.shen@atmel.com
include/configs/at91rm9200ek.h | 2 ++ include/configs/at91sam9260ek.h | 2 ++ include/configs/at91sam9263ek.h | 2 ++ include/configs/at91sam9rlek.h | 2 ++ 4 files changed, 8 insertions(+)
applied to u-boot-atmel/master, thanks!
Best regards, Andreas Bießmann

From: Nicolas Ferre nicolas.ferre@atmel.com
Support to boot zImage
Signed-off-by: Nicolas Ferre nicolas.ferre@atmel.com [Add bootz for at91rm9200, at91sam9263, at91sam9rl] Signed-off-by: Bo Shen voice.shen@atmel.com --- include/configs/at91rm9200ek.h | 1 + include/configs/at91sam9260ek.h | 1 + include/configs/at91sam9263ek.h | 1 + include/configs/at91sam9m10g45ek.h | 1 + include/configs/at91sam9rlek.h | 1 + include/configs/at91sam9x5ek.h | 1 + 6 files changed, 6 insertions(+)
diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h index 4b526c2..7352113 100644 --- a/include/configs/at91rm9200ek.h +++ b/include/configs/at91rm9200ek.h @@ -75,6 +75,7 @@
#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_CMD_BOOTZ #define CONFIG_OF_LIBFDT
/* diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h index 3db6cc8..392a818 100644 --- a/include/configs/at91sam9260ek.h +++ b/include/configs/at91sam9260ek.h @@ -62,6 +62,7 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_CMD_BOOTZ #define CONFIG_OF_LIBFDT
/* general purpose I/O */ diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h index 005d1af..da2a931 100644 --- a/include/configs/at91sam9263ek.h +++ b/include/configs/at91sam9263ek.h @@ -62,6 +62,7 @@
#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_CMD_BOOTZ #define CONFIG_OF_LIBFDT
/* diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h index e988d81..f1a4db3 100644 --- a/include/configs/at91sam9m10g45ek.h +++ b/include/configs/at91sam9m10g45ek.h @@ -47,6 +47,7 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_CMD_BOOTZ #define CONFIG_OF_LIBFDT
/* general purpose I/O */ diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h index be084b2..aa359b1 100644 --- a/include/configs/at91sam9rlek.h +++ b/include/configs/at91sam9rlek.h @@ -48,6 +48,7 @@
#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_CMD_BOOTZ #define CONFIG_OF_LIBFDT
#define CONFIG_ATMEL_LEGACY diff --git a/include/configs/at91sam9x5ek.h b/include/configs/at91sam9x5ek.h index 6fac5ac..1bc56a5 100644 --- a/include/configs/at91sam9x5ek.h +++ b/include/configs/at91sam9x5ek.h @@ -42,6 +42,7 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_CMD_BOOTZ #define CONFIG_OF_LIBFDT
/* general purpose I/O */

Dear Bo Shen,
Bo Shen voice.shen@atmel.com writes:
From: Nicolas Ferre nicolas.ferre@atmel.com
Support to boot zImage
Signed-off-by: Nicolas Ferre nicolas.ferre@atmel.com [Add bootz for at91rm9200, at91sam9263, at91sam9rl] Signed-off-by: Bo Shen voice.shen@atmel.com
include/configs/at91rm9200ek.h | 1 + include/configs/at91sam9260ek.h | 1 + include/configs/at91sam9263ek.h | 1 + include/configs/at91sam9m10g45ek.h | 1 + include/configs/at91sam9rlek.h | 1 + include/configs/at91sam9x5ek.h | 1 + 6 files changed, 6 insertions(+)
applied to u-boot-atmel/master, thanks!
Best regards, Andreas Bießmann

Change nand flash partition tablke according to www.at91.com/linux4sam
more information: http://www.at91.com/linux4sam/bin/view/Linux4SAM/GettingStarted#Linux4SAM_Na...
Signed-off-by: Bo Shen voice.shen@atmel.com --- include/configs/at91sam9260ek.h | 18 +++++++++--------- include/configs/at91sam9261ek.h | 19 +++++++++---------- include/configs/at91sam9263ek.h | 17 +++++++++-------- include/configs/at91sam9m10g45ek.h | 16 ++++++++-------- include/configs/at91sam9x5ek.h | 11 ++++++----- 5 files changed, 41 insertions(+), 40 deletions(-)
diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h index 392a818..ebcc69a 100644 --- a/include/configs/at91sam9260ek.h +++ b/include/configs/at91sam9260ek.h @@ -215,16 +215,16 @@
/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND 1 -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000 #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro," \ - "256k(uboot)ro,128k(env1)ro," \ - "128k(env2)ro,2M(linux),-(root) " \ - "rw rootfstype=jffs2" +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro," \ + "256k(env),256k(env_redundant),256k(spare)," \ + "512k(dtb),6M(kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock7 rw rootfstype=jffs2"
#endif
diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h index 611e3e2..cabff9a 100644 --- a/include/configs/at91sam9261ek.h +++ b/include/configs/at91sam9261ek.h @@ -212,17 +212,16 @@
/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000 #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro," \ - "256k(uboot)ro,128k(env1)ro," \ - "128k(env2)ro,2M(linux),-(root) " \ - "rw rootfstype=jffs2" - +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro," \ + "256k(env),256k(env_redundant),256k(spare)," \ + "512k(dtb),6M(kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock7 rw rootfstype=jffs2" #endif
#define CONFIG_SYS_PROMPT "U-Boot> " diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h index da2a931..1ab9c30 100644 --- a/include/configs/at91sam9263ek.h +++ b/include/configs/at91sam9263ek.h @@ -327,15 +327,16 @@
/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND 1 -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000 #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ -#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm" -#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) " \ - "rw rootfstype=jffs2" - +#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x300000; bootm" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro," \ + "256k(env),256k(env_redundant),256k(spare)," \ + "512k(dtb),6M(kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock7 rw rootfstype=jffs2" #endif
#define CONFIG_SYS_PROMPT "U-Boot> " diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h index f1a4db3..07e1c9f 100644 --- a/include/configs/at91sam9m10g45ek.h +++ b/include/configs/at91sam9m10g45ek.h @@ -150,19 +150,19 @@
/* bootstrap + u-boot + env in nandflash */ #define CONFIG_ENV_IS_IN_NAND -#define CONFIG_ENV_OFFSET 0x60000 -#define CONFIG_ENV_OFFSET_REDUND 0x80000 +#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET_REDUND 0x100000 #define CONFIG_ENV_SIZE 0x20000
-#define CONFIG_BOOTCOMMAND "nand read 0x70000000 0x100000 0x200000;" \ +#define CONFIG_BOOTCOMMAND \ + "nand read 0x70000000 0x200000 0x300000;" \ "bootm 0x70000000" #define CONFIG_BOOTARGS \ "console=ttyS0,115200 earlyprintk " \ - "root=/dev/mtdblock5 " \ - "mtdparts=atmel_nand:128k(bootstrap)ro," \ - "256k(uboot)ro,128k(env1)ro,128k(env2)ro," \ - "2M@1M(linux),-(root) " \ - "rw rootfstype=jffs2" + "mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro," \ + "256k(env),256k(env_redundant),256k(spare)," \ + "512k(dtb),6M(kernel)ro,-(rootfs) " \ + "root=/dev/mtdblock7 rw rootfstype=jffs2"
#define CONFIG_BAUDRATE 115200
diff --git a/include/configs/at91sam9x5ek.h b/include/configs/at91sam9x5ek.h index 1bc56a5..ee6e3fc 100644 --- a/include/configs/at91sam9x5ek.h +++ b/include/configs/at91sam9x5ek.h @@ -232,11 +232,12 @@ "root=/dev/mmcblk0p2 " \ "rw rootfstype=ext4 rootwait" #else -#define CONFIG_BOOTARGS "mem=128M console=ttyS0,115200 " \ - "mtdparts=atmel_nand:" \ - "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ - "root=/dev/mtdblock1 rw " \ - "rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs" +#define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ + "mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro," \ + "256k(env),256k(env_redundant),256k(spare)," \ + "512k(dtb),6M(kernel)ro,-(rootfs) " \ + "rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw" #endif
#define CONFIG_BAUDRATE 115200

On Wed, Feb 20, 2013 at 06:16:25PM +0800, Bo Shen wrote:
Change nand flash partition tablke according to www.at91.com/linux4sam
more information: http://www.at91.com/linux4sam/bin/view/Linux4SAM/GettingStarted#Linux4SAM_Na...
Signed-off-by: Bo Shen voice.shen@atmel.com
Question. Is there a reason to not being doing the MTDIDS / MTDPARTS and adding CONFIG_CMD_MTDPARTS ? Doing that should also "just" enable the nand info to be passed in the device tree.

Hi Tom,
On 2/21/2013 10:05, Tom Rini wrote:
On Wed, Feb 20, 2013 at 06:16:25PM +0800, Bo Shen wrote:
Change nand flash partition tablke according to www.at91.com/linux4sam
more information: http://www.at91.com/linux4sam/bin/view/Linux4SAM/GettingStarted#Linux4SAM_Na...
Signed-off-by: Bo Shen voice.shen@atmel.com
Question. Is there a reason to not being doing the MTDIDS / MTDPARTS and adding CONFIG_CMD_MTDPARTS ?
Yes, MTDIDS/MTDPARTS is missing, however, we can set mtdids and mtdpart environment to use mtdparts command. (Maybe this is not a good idea, will consider to add MTDIDS / MTDPARTS later, not in this patch series.)
Doing that should also "just" enable the nand info to be passed in the device tree.
I am not fully understand this. You means add MTDIDS / MTDPARTS, it can automatically pass the nand info to device tree, not through the command line, am I right?
Best Regards, Bo Shen

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/21/2013 01:58 AM, Bo Shen wrote:
Hi Tom,
On 2/21/2013 10:05, Tom Rini wrote:
On Wed, Feb 20, 2013 at 06:16:25PM +0800, Bo Shen wrote:
Change nand flash partition tablke according to www.at91.com/linux4sam
more information: http://www.at91.com/linux4sam/bin/view/Linux4SAM/GettingStarted#Linux4SAM_Na...
Signed-off-by: Bo Shen voice.shen@atmel.com
Question. Is there a reason to not being doing the MTDIDS / MTDPARTS and adding CONFIG_CMD_MTDPARTS ?
Yes, MTDIDS/MTDPARTS is missing, however, we can set mtdids and mtdpart environment to use mtdparts command. (Maybe this is not a good idea, will consider to add MTDIDS / MTDPARTS later, not in this patch series.)
Right. But without CONFIG_CMD_MTDPARTS you don't have the mtdparts commands / infrastructure in U-Boot :)
Doing that should also "just" enable the nand info to be passed in the device tree.
I am not fully understand this. You means add MTDIDS / MTDPARTS, it can automatically pass the nand info to device tree, not through the command line, am I right?
I was mis-remembering the code. If you have CONFIG_FDT_FIXUP_PARTITIONS set and the board support code calls fdt_fixup_mtdparts then yes, the mtdparts info will be put into the device tree and then CONFIG_MTD_OF_PARTS in the kernel should take that and run with it. At least I think that's all there is to it, I've meant to, but not had a chance, to try that all out again. Perhaps soon tho.
- -- Tom

Dear Bo Shen,
Bo Shen voice.shen@atmel.com writes:
Change nand flash partition tablke according to www.at91.com/linux4sam
more information: http://www.at91.com/linux4sam/bin/view/Linux4SAM/GettingStarted#Linux4SAM_Na...
Signed-off-by: Bo Shen voice.shen@atmel.com Signed-off-by: Bo Shen voice.shen@atmel.com
include/configs/at91sam9260ek.h | 18 +++++++++--------- include/configs/at91sam9261ek.h | 19 +++++++++---------- include/configs/at91sam9263ek.h | 17 +++++++++-------- include/configs/at91sam9m10g45ek.h | 16 ++++++++-------- include/configs/at91sam9x5ek.h | 11 ++++++----- 5 files changed, 41 insertions(+), 40 deletions(-)
applied with some minor changes in commit message to u-boot-atmel/master, thanks!
Best regards, Andreas Bießmann
participants (3)
-
andreas.devel@googlemail.com
-
Bo Shen
-
Tom Rini