summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/freescale-mx35-3ds
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2014-02-27 21:39:07 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-02-28 11:19:10 +0100
commit9c872ba3d37a8c3e4e12ff97375d316ac3912e42 (patch)
treec79a9bf00b527437556a38975d5105fe2a92457b /arch/arm/boards/freescale-mx35-3ds
parentd2333f6bcc276f4e0db6b9c4490d17eb6091e6e7 (diff)
downloadbarebox-9c872ba3d37a8c3e4e12ff97375d316ac3912e42.tar.gz
barebox-9c872ba3d37a8c3e4e12ff97375d316ac3912e42.tar.xz
ARM: freescale-mx35-3-stack: convert to devfs_create_partitions
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/freescale-mx35-3ds')
-rw-r--r--arch/arm/boards/freescale-mx35-3ds/3stack.c42
1 files changed, 36 insertions, 6 deletions
diff --git a/arch/arm/boards/freescale-mx35-3ds/3stack.c b/arch/arm/boards/freescale-mx35-3ds/3stack.c
index dbd1c7adcb..2be1554b68 100644
--- a/arch/arm/boards/freescale-mx35-3ds/3stack.c
+++ b/arch/arm/boards/freescale-mx35-3ds/3stack.c
@@ -129,6 +129,40 @@ static void set_board_rev(int rev)
imx35_3ds_system_rev = (imx35_3ds_system_rev & ~(0xF << 8)) | (rev & 0xF) << 8;
}
+static const struct devfs_partition f3s_nand0_partitions[] = {
+ {
+ .offset = 0,
+ .size = 0x40000,
+ .flags = DEVFS_PARTITION_FIXED,
+ .name = "self_raw",
+ .bbname = "self0",
+ }, {
+ .offset = DEVFS_PARTITION_APPEND, /* 0x40000 */
+ .size = 0x80000,
+ .flags = DEVFS_PARTITION_FIXED,
+ .name = "env_raw",
+ .bbname = "env0",
+ }, {
+ /* sentinel */
+ }
+};
+
+static const struct devfs_partition f3s_nor0_partitions[] = {
+ {
+ .offset = 0,
+ .size = 0x40000,
+ .flags = DEVFS_PARTITION_FIXED,
+ .name = "self0",
+ }, {
+ .offset = DEVFS_PARTITION_APPEND, /* 0x40000 */
+ .size = 0x80000,
+ .flags = DEVFS_PARTITION_FIXED,
+ .name = "env0",
+ }, {
+ /* sentinel */
+ }
+};
+
static int f3s_devices_init(void)
{
uint32_t reg;
@@ -151,15 +185,11 @@ static int f3s_devices_init(void)
switch ((reg >> 25) & 0x3) {
case 0x01: /* NAND is the source */
- devfs_add_partition("nand0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self_raw");
- dev_add_bb_dev("self_raw", "self0");
- devfs_add_partition("nand0", 0x40000, 0x80000, DEVFS_PARTITION_FIXED, "env_raw");
- dev_add_bb_dev("env_raw", "env0");
+ devfs_create_partitions("nand0", f3s_nand0_partitions);
break;
case 0x00: /* NOR is the source */
- devfs_add_partition("nor0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self0");
- devfs_add_partition("nor0", 0x40000, 0x80000, DEVFS_PARTITION_FIXED, "env0");
+ devfs_create_partitions("nor0", f3s_nor0_partitions);
protect_file("/dev/env0", 1);
break;
}