[U-Boot] [PATCH 6/6] igep00x0: generate default mtdparts according NAND chip used

Ladislav Michl ladis at linux-mips.org
Sun Jun 5 19:43:52 CEST 2016


Just a sample implementation. Eventually become part of of UBI SPL
patch series.

Signed-off-by: Ladislav Michl <ladis at linux-mips.org>
---
 board/isee/igep00x0/igep00x0.c   | 16 ++++++++++++++++
 include/configs/omap3_igep00x0.h |  1 +
 2 files changed, 17 insertions(+)

diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c
index 759daef..beaab79 100644
--- a/board/isee/igep00x0/igep00x0.c
+++ b/board/isee/igep00x0/igep00x0.c
@@ -18,6 +18,7 @@
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/mach-types.h>
+#include <linux/mtd/mtd.h>
 #include "igep00x0.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -184,6 +185,21 @@ int misc_init_r(void)
 	return 0;
 }
 
+void board_mtdparts_default(const char **mtdids, const char **mtdparts)
+{
+	struct mtd_info *mtd = get_mtd_device(NULL, 0);
+	if (mtd) {
+		static char ids[24];
+		static char parts[48];
+		const char *linux_name = "omap2-nand";
+		snprintf(ids, sizeof(ids), "%s=%s", mtd->name, linux_name);
+		snprintf(parts, sizeof(parts), "mtdparts=%s:%dk(SPL),-(UBI)",
+		         linux_name, 4 * mtd->erasesize >> 10);
+		*mtdids = ids;
+		*mtdparts = parts;
+	}
+}
+
 /*
  * Routine: set_muxconf_regs
  * Description: Setting up the configuration Mux registers specific to the
diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h
index 364d759..41782e3 100644
--- a/include/configs/omap3_igep00x0.h
+++ b/include/configs/omap3_igep00x0.h
@@ -146,6 +146,7 @@
 
 #define CONFIG_RBTREE
 #define CONFIG_MTD_PARTITIONS
+#define CONFIG_SYS_MTDPARTS_DEFAULT_RUNTIME
 
 /* OneNAND boot config */
 #ifdef CONFIG_BOOT_ONENAND
-- 
2.1.4



More information about the U-Boot mailing list