]> git.ipfire.org Git - people/ms/u-boot.git/commitdiff
imx6: isiotmx6ul: Add nandboot env support
authorJagan Teki <jagan@amarulasolutions.com>
Fri, 24 Feb 2017 10:03:00 +0000 (15:33 +0530)
committerStefano Babic <sbabic@denx.de>
Fri, 17 Mar 2017 08:27:08 +0000 (09:27 +0100)
Add config options for booting Linux from NAND in UBI format.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
configs/imx6ul_isiot_nand_defconfig
include/configs/imx6ul_isiot.h

index 2af146f405d123d67e060b9c34b5351e8223d461..d1a9fad5c464ee816b3f0a20282dcc48db00d1e4 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_SYS_PROMPT="isiotmx6ul> "
 CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_NAND=y
+CONFIG_CMD_UBI=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
index b1378485fe9cc95a34c2007bae66c8c2ac7a2127..10311d04dd71395fa0845b74c297e38a220e5d0a 100644 (file)
        "mmcdev=0\0" \
        "mmcpart=1\0" \
        "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
        "mmcdev=0\0" \
        "mmcpart=1\0" \
        "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
+       "nandroot=ubi0:rootfs rootfstype=ubifs\0" \
        "mmcautodetect=yes\0" \
        "mmcargs=setenv bootargs console=${console},${baudrate} " \
                "root=${mmcroot}\0" \
        "mmcautodetect=yes\0" \
        "mmcargs=setenv bootargs console=${console},${baudrate} " \
                "root=${mmcroot}\0" \
+       "ubiargs=setenv bootargs console=${console},${baudrate} " \
+               "ubi.mtd=5 root=${nandroot} ${mtdparts}\0" \
        "loadbootscript=" \
                "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
        "bootscript=echo Running bootscript from mmc ...; " \
        "loadbootscript=" \
                "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
        "bootscript=echo Running bootscript from mmc ...; " \
                        "fi; " \
                "else " \
                        "bootm; " \
                        "fi; " \
                "else " \
                        "bootm; " \
-               "fi\0"
+               "fi\0" \
+       "nandboot=echo Booting from nand ...; " \
+               "if mtdparts; then " \
+                       "echo Starting nand boot ...; " \
+               "else " \
+                       "mtdparts default; " \
+               "fi; " \
+               "run ubiargs; " \
+               "nand read ${loadaddr} kernel 0x800000; " \
+               "nand read ${fdt_addr} dtb 0x100000; " \
+               "bootm ${loadaddr} - ${fdt_addr}\0"
 
 
+#ifdef CONFIG_NAND_MXS
+# define CONFIG_BOOTCOMMAND            "run nandboot"
+#else
 # define CONFIG_BOOTCOMMAND \
        "if mmc rescan; then " \
                "if run loadbootscript; then " \
 # define CONFIG_BOOTCOMMAND \
        "if mmc rescan; then " \
                "if run loadbootscript; then " \
                        "fi; " \
                "fi; " \
        "fi"
                        "fi; " \
                "fi; " \
        "fi"
+#endif
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_MEMTEST_START       0x80000000
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_MEMTEST_START       0x80000000
 # define CONFIG_SYS_NAND_U_BOOT_START  CONFIG_SYS_TEXT_BASE
 # define CONFIG_SYS_NAND_U_BOOT_OFFS   0x200000
 
 # define CONFIG_SYS_NAND_U_BOOT_START  CONFIG_SYS_TEXT_BASE
 # define CONFIG_SYS_NAND_U_BOOT_OFFS   0x200000
 
+/* MTD device */
+# define CONFIG_MTD_DEVICE
+# define CONFIG_CMD_MTDPARTS
+# define CONFIG_MTD_PARTITIONS
+# define MTDIDS_DEFAULT                        "nand0=gpmi-nand"
+# define MTDPARTS_DEFAULT              "mtdparts=gpmi-nand:2m(spl),2m(uboot)," \
+                                       "1m(env),8m(kernel),1m(dtb),-(rootfs)"
+
+/* UBI */
+# define CONFIG_CMD_UBIFS
+# define CONFIG_RBTREE
+# define CONFIG_LZO
+
 /* APBH DMA */
 # define CONFIG_APBH_DMA
 # define CONFIG_APBH_DMA_BURST
 /* APBH DMA */
 # define CONFIG_APBH_DMA
 # define CONFIG_APBH_DMA_BURST