diff options
author | Ashish Kumar | 2014-10-07 18:02:23 +0530 |
---|---|---|
committer | York Sun | 2014-11-14 11:12:14 -0800 |
commit | 7ac1a24a85b9e961f8f26a9c2a23a438a849f183 (patch) | |
tree | 644f47b50e84ae6ca70a245d3a244ce701c32a3c | |
parent | 42a9e2fe1be0f8879ad0928e05116e5a4c7cea1a (diff) |
powerpc/BSC9131RDB: Enable creation of dynamic partitions for NAND
* fdt_fixup_mtdparts is called from ft_board_setup
* Run "mtdparts default" to create NAND partition on uboot
* Use mtdparts to create partitions dynamically rather
than using static partitions in device tree
Signed-off-by: Ashish Kumar <Ashish.Kumar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
-rw-r--r-- | board/freescale/bsc9131rdb/bsc9131rdb.c | 11 | ||||
-rw-r--r-- | include/configs/BSC9131RDB.h | 17 |
2 files changed, 28 insertions, 0 deletions
diff --git a/board/freescale/bsc9131rdb/bsc9131rdb.c b/board/freescale/bsc9131rdb/bsc9131rdb.c index 7fe4ae74ea0..9146f492626 100644 --- a/board/freescale/bsc9131rdb/bsc9131rdb.c +++ b/board/freescale/bsc9131rdb/bsc9131rdb.c @@ -15,6 +15,9 @@ #include <fdt_support.h> #include <fsl_mdio.h> #include <tsec.h> +#include <jffs2/load_kernel.h> +#include <mtd_node.h> +#include <flash.h> #include <netdev.h> @@ -50,6 +53,11 @@ int checkboard(void) } #if defined(CONFIG_OF_BOARD_SETUP) +#ifdef CONFIG_FDT_FIXUP_PARTITIONS +struct node_info nodes[] = { + { "fsl,ifc-nand", MTD_DEV_TYPE_NAND, }, +}; +#endif void ft_board_setup(void *blob, bd_t *bd) { phys_addr_t base; @@ -61,6 +69,9 @@ void ft_board_setup(void *blob, bd_t *bd) size = getenv_bootm_size(); fdt_fixup_memory(blob, (u64)base, (u64)size); +#ifdef CONFIG_FDT_FIXUP_PARTITIONS + fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes)); +#endif fdt_fixup_dr_usb(blob, bd); } diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h index bc5af526c5f..adb81461dd6 100644 --- a/include/configs/BSC9131RDB.h +++ b/include/configs/BSC9131RDB.h @@ -400,6 +400,23 @@ extern unsigned long get_sdram_size(void); #endif /* + * Dynamic MTD Partition support with mtdparts + */ +#define CONFIG_MTD_DEVICE +#define CONFIG_MTD_PARTITIONS +#define CONFIG_CMD_MTDPARTS +#define MTDIDS_DEFAULT "nand0=ff800000.flash," +#define MTDPARTS_DEFAULT "mtdparts=ff800000.flash:1m(uboot)," \ + "8m(kernel),512k(dtb),-(fs)" +/* + * Override partitions in device tree using info + * in "mtdparts" environment variable + */ +#ifdef CONFIG_CMD_MTDPARTS +#define CONFIG_FDT_FIXUP_PARTITIONS +#endif + +/* * Environment Configuration */ |