imx6: engicam: Add nandboot env support
authorJagan Teki <jagan@amarulasolutions.com>
Wed, 21 Dec 2016 11:00:25 +0000 (12:00 +0100)
committerStefano Babic <sbabic@denx.de>
Mon, 2 Jan 2017 16:30:51 +0000 (17:30 +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>
include/configs/imx6qdl_icore.h
include/configs/imx6ul_geam.h

index 55eb100eefb042019f4c064a62e81182dcc0466e..9d5951fbfbb8eb85300bad8157449242ae341b66 100644 (file)
        "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" \
+       "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 ...; " \
                        "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"
 
-#define CONFIG_BOOTCOMMAND \
+#ifdef CONFIG_NAND_MXS
+# define CONFIG_BOOTCOMMAND            "run nandboot"
+#else
+# define CONFIG_BOOTCOMMAND \
           "mmc dev ${mmcdev};" \
           "mmc dev ${mmcdev}; if mmc rescan; then " \
                   "if run loadbootscript; then " \
@@ -83,6 +99,7 @@
                        "fi; " \
                   "fi; " \
           "fi"
+#endif
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_MEMTEST_START       0x80000000
index 3e26a810e480187d4b5336c8a91e6280467fc946..507e74348841b15818f1c64c3693f311d76bacd0 100644 (file)
        "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" \
+       "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 ...; " \
                        "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"
 
-#define CONFIG_BOOTCOMMAND \
+#ifdef CONFIG_NAND_MXS
+# define CONFIG_BOOTCOMMAND            "run nandboot"
+#else
+# define CONFIG_BOOTCOMMAND \
           "mmc dev ${mmcdev};" \
           "mmc dev ${mmcdev}; if mmc rescan; then " \
                   "if run loadbootscript; then " \
@@ -82,6 +98,7 @@
                        "fi; " \
                   "fi; " \
           "fi"
+#endif
 
 /* Miscellaneous configurable options */
 #define CONFIG_SYS_MEMTEST_START       0x80000000