summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/at91sam9m10g45ek
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-03-02 03:14:03 +0800
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-03-12 18:47:15 +0800
commitf52461431aa981434605f16e4009c653d90ac414 (patch)
treea355998d6286f6f77f53dae436413a4b6428238f /arch/arm/boards/at91sam9m10g45ek
parent3558cd06b5a76fd6043759f8c2e459ef01728d00 (diff)
downloadbarebox-f52461431aa981434605f16e4009c653d90ac414.tar.gz
barebox-f52461431aa981434605f16e4009c653d90ac414.tar.xz
at91sam9m10g45ek: update partition layout
This will allow to boot from nand with the bootstrap. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'arch/arm/boards/at91sam9m10g45ek')
-rw-r--r--arch/arm/boards/at91sam9m10g45ek/env/config4
-rw-r--r--arch/arm/boards/at91sam9m10g45ek/init.c9
2 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/boards/at91sam9m10g45ek/env/config b/arch/arm/boards/at91sam9m10g45ek/env/config
index 3dea7247f5..9be63313a6 100644
--- a/arch/arm/boards/at91sam9m10g45ek/env/config
+++ b/arch/arm/boards/at91sam9m10g45ek/env/config
@@ -25,8 +25,8 @@ kernelimage=uImage
#kernelimage=Image.lzo
nand_device=atmel_nand
-nand_parts="256k(barebox)ro,64k(bareboxenv),1536k(kernel),-(root)"
-rootfs_mtdblock_nand=3
+nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),4M(kernel),120M(rootfs),-(data)"
+rootfs_mtdblock_nand=5
autoboot_timeout=3
diff --git a/arch/arm/boards/at91sam9m10g45ek/init.c b/arch/arm/boards/at91sam9m10g45ek/init.c
index eff2769de5..15257953eb 100644
--- a/arch/arm/boards/at91sam9m10g45ek/init.c
+++ b/arch/arm/boards/at91sam9m10g45ek/init.c
@@ -33,6 +33,7 @@
#include <io.h>
#include <asm/hardware.h>
#include <nand.h>
+#include <sizes.h>
#include <linux/mtd/nand.h>
#include <mach/at91_pmc.h>
#include <mach/board.h>
@@ -141,10 +142,14 @@ static int at91sam9m10g45ek_devices_init(void)
at91_add_device_eth(&macb_pdata);
ek_add_device_mci();
- devfs_add_partition("nand0", 0x00000, 0x80000, PARTITION_FIXED, "self_raw");
+ devfs_add_partition("nand0", 0x00000, SZ_128K, PARTITION_FIXED, "at91bootstrap_raw");
+ dev_add_bb_dev("at91bootstrap_raw", "at91bootstrap");
+ devfs_add_partition("nand0", SZ_128K, SZ_256K, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
- devfs_add_partition("nand0", 0x80000, 0x20000, PARTITION_FIXED, "env_raw");
+ devfs_add_partition("nand0", SZ_256K + SZ_128K, SZ_128K, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
+ devfs_add_partition("nand0", SZ_512K, SZ_128K, PARTITION_FIXED, "env_raw1");
+ dev_add_bb_dev("env_raw1", "env1");
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_6 + 0x100));
armlinux_set_architecture(MACH_TYPE_AT91SAM9M10G45EK);