summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/karo-tx53
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-12 16:47:02 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-10-17 20:22:58 +0200
commit73e56c348954246a1f633d10335d10fe605f586f (patch)
treef156e15bc40e1f04da090532e0d28a35ff023e8e /arch/arm/boards/karo-tx53
parent7b84676763a16167ce141cbb693d441664ffbb23 (diff)
downloadbarebox-73e56c348954246a1f633d10335d10fe605f586f.tar.gz
barebox-73e56c348954246a1f633d10335d10fe605f586f.tar.xz
ARM i.MX Karo tx53: Add env depending on bootsource
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/karo-tx53')
-rw-r--r--arch/arm/boards/karo-tx53/board.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/arch/arm/boards/karo-tx53/board.c b/arch/arm/boards/karo-tx53/board.c
index 28840ffed3..99ddcec95a 100644
--- a/arch/arm/boards/karo-tx53/board.c
+++ b/arch/arm/boards/karo-tx53/board.c
@@ -224,8 +224,25 @@ device_initcall(tx53_devices_init);
static int tx53_part_init(void)
{
- devfs_add_partition("disk0", 0x00000, SZ_512K, DEVFS_PARTITION_FIXED, "self0");
- devfs_add_partition("disk0", SZ_512K, SZ_1M, DEVFS_PARTITION_FIXED, "env0");
+ const char *envdev;
+
+ switch (imx_bootsource()) {
+ case bootsource_mmc:
+ devfs_add_partition("disk0", 0x00000, SZ_512K, DEVFS_PARTITION_FIXED, "self0");
+ devfs_add_partition("disk0", SZ_512K, SZ_1M, DEVFS_PARTITION_FIXED, "env0");
+ envdev = "MMC";
+ break;
+ case bootsource_nand:
+ default:
+ devfs_add_partition("nand0", 0x00000, 0x80000, DEVFS_PARTITION_FIXED, "self_raw");
+ dev_add_bb_dev("self_raw", "self0");
+ devfs_add_partition("nand0", 0x80000, 0x100000, DEVFS_PARTITION_FIXED, "env_raw");
+ dev_add_bb_dev("env_raw", "env0");
+ envdev = "NAND";
+ break;
+ }
+
+ printf("Using environment in %s\n", envdev);
return 0;
}