OMAP3: overo: add command support for mtd and ubi
authorAsh Charles <ashcharles@gmail.com>
Wed, 21 May 2014 21:04:48 +0000 (14:04 -0700)
committerTom Rini <trini@ti.com>
Fri, 23 May 2014 20:12:02 +0000 (16:12 -0400)
The NAND linux partition format default was changed from jffs2 to ubi in
254973e6df0e48f1a72b67905185c774dcd9f394 but the corresponding commands were
not enabled.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Tested-by: Ash Charles <ash@gumstix.com>
include/configs/omap3_overo.h

index f26d06937cecf191535ff8bccff4da1ad38b3646..7823aa1999b00b1a6bcd677efa9d71126891d390 100644 (file)
 /*
  * Size of malloc() pool
  */
-#define CONFIG_ENV_SIZE                (128 << 10)     /* 128 KiB */
-                                               /* Sector */
-#define CONFIG_SYS_MALLOC_LEN  (CONFIG_ENV_SIZE + (128 << 10))
+#define CONFIG_ENV_SIZE                (128 << 10)     /* 128 KiB sector */
+
+/* Shift 128 << 15 provides 4 MiB heap to support UBI commands.
+ * Shift 128 << 10 provides 128 KiB heap for limited-memory devices. */
+#define CONFIG_SYS_MALLOC_LEN  (CONFIG_ENV_SIZE + (128 << 15))
 
 /*
  * Hardware drivers
 #undef CONFIG_CMD_NFS          /* NFS support                  */
 #define CONFIG_CMD_NET         /* bootp, tftpboot, rarpboot    */
 
+#ifdef CONFIG_CMD_NAND
+
+#define CONFIG_CMD_MTDPARTS    /* MTD partition support */
+#define CONFIG_CMD_UBI         /* UBI-formated MTD partition support */
+#define CONFIG_CMD_UBIFS       /* Read-only UBI volume operations */
+
+#define CONFIG_RBTREE          /* required by CONFIG_CMD_UBI */
+#define CONFIG_LZO             /* required by CONFIG_CMD_UBIFS */
+
+#define CONFIG_MTD_DEVICE      /* required by CONFIG_CMD_MTDPARTS   */
+#define CONFIG_MTD_PARTITIONS  /* required for UBI partition support */
+
+/* NAND block size is 128 KiB.  Synchronize these values with
+ * overo_nand_partitions in mach-omap2/board-overo.c in Linux:
+ *  xloader              4 * NAND_BLOCK_SIZE = 512 KiB
+ *  uboot               14 * NAND_BLOCK_SIZE = 1792 KiB
+ *  uboot environtment   2 * NAND_BLOCK_SIZE = 256 KiB
+ *  linux               32 * NAND_BLOCK_SIE = 4 MiB
+ *  rootfs              remainder
+ */
+#define MTDIDS_DEFAULT "nand0=omap2-nand.0"
+#define MTDPARTS_DEFAULT "mtdparts=omap2-nand.0:"      \
+       "512k(xloader),"                                \
+       "1792k(u-boot),"                                \
+       "256k(environ),"                                \
+       "4m(linux),"                                    \
+       "-(rootfs)"
+#else /* CONFIG_CMD_NAND */
+#define MTDPARTS_DEFAULT
+#endif /* CONFIG_CMD_NAND */
+
 #define CONFIG_SYS_NO_FLASH
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_OMAP24_I2C_SPEED    100000
        "mmcrootfstype=ext3 rootwait\0" \
        "nandroot=ubi0:rootfs ubi.mtd=4\0" \
        "nandrootfstype=ubifs\0" \
+       "mtdparts=" MTDPARTS_DEFAULT "\0" \
        "mmcargs=setenv bootargs console=${console} " \
                "${optargs} " \
                "mpurate=${mpurate} " \