i.MX6: engicam: Add nandboot env and FIT support
cover i.MX6: engicam: Add nandboot env and FIT support
From: Jagan Teki <[email protected]>
This patchset, add support for
- legacy image boot, with bootm
- NAND boot env support, with UBIFS as rootfs
- FIT image boot support
on i.MX6 based Engicam Quad/DualLite/Dual/Solo module kits.
Jagan Teki (10):
configs: engicam: Increase nand kernel partition size
imx6: engicam: Use bootm instead of bootz
configs: engicam: Rename nand with gpmi-name in mtdparts
defconfigs: engicam: Enable MMC commands in nand
defconfigs: engicam: Enable UBI commands
imx6: engicam: Add nandboot env support
defconfigs: imx6: engicam: Enable FIT
configs: engicam: Enable CONFIG_IMAGE_FORMAT_LEGACY
configs: engicam: Cleanup on mmcboot env
configs: engicam: Add fitboot env support
configs/imx6dl_icore_mmc_defconfig | 4 +- configs/imx6dl_icore_nand_defconfig | 10 ++++- configs/imx6dl_icore_rqs_mmc_defconfig | 4 +- configs/imx6q_icore_mmc_defconfig | 4 +- configs/imx6q_icore_nand_defconfig | 10 ++++- configs/imx6q_icore_rqs_mmc_defconfig | 4 +- configs/imx6ul_geam_mmc_defconfig | 4 +- configs/imx6ul_geam_nand_defconfig | 10 ++++- include/configs/imx6qdl_icore.h | 77 +++++++++++++++++++++++++--------- include/configs/imx6qdl_icore_rqs.h | 43 +++++++++++++------ include/configs/imx6ul_geam.h | 76 ++++++++++++++++++++++++--------- 11 files changed, 187 insertions(+), 59 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/10 configs: engicam: Increase nand kernel partition size
From: Jagan Teki <[email protected]>
Increase the nand kernel partition size, for supporting large uImage files, maximum 8MiB.
--- include/configs/imx6qdl_icore.h | 2 +- include/configs/imx6ul_geam.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
include/configs/imx6qdl_icore.h +1 -1
@@ -131,7 +131,7 @@# define CONFIG_MTD_PARTITIONS # define MTDIDS_DEFAULT "nand0=nand"# define MTDPARTS_DEFAULT "mtdparts=nand:2m(spl),2m(uboot)," \ - "1m(env),4m(kernel),1m(dtb),-(rootfs)" + "1m(env),8m(kernel),1m(dtb),-(rootfs)"# define CONFIG_APBH_DMA # define CONFIG_APBH_DMA_BURST
include/configs/imx6ul_geam.h +1 -1
@@ -130,7 +130,7 @@# define CONFIG_MTD_PARTITIONS # define MTDIDS_DEFAULT "nand0=nand"# define MTDPARTS_DEFAULT "mtdparts=nand:2m(spl),2m(uboot)," \ - "1m(env),4m(kernel),1m(dtb),-(rootfs)" + "1m(env),8m(kernel),1m(dtb),-(rootfs)"# define CONFIG_APBH_DMA # define CONFIG_APBH_DMA_BURST
Signature · 1 line
1.9.1
PATCH 2/10 imx6: engicam: Use bootm instead of bootz
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Boot Linux with uImage instead of zImage, so update bootz with bootm.
--- configs/imx6dl_icore_mmc_defconfig | 1 - configs/imx6dl_icore_nand_defconfig | 1 - configs/imx6dl_icore_rqs_mmc_defconfig | 1 - configs/imx6q_icore_mmc_defconfig | 1 - configs/imx6q_icore_nand_defconfig | 1 - configs/imx6q_icore_rqs_mmc_defconfig | 1 - configs/imx6ul_geam_mmc_defconfig | 1 - configs/imx6ul_geam_nand_defconfig | 1 - include/configs/imx6qdl_icore.h | 8 ++++---- include/configs/imx6qdl_icore_rqs.h | 8 ++++---- include/configs/imx6ul_geam.h | 8 ++++---- 11 files changed, 12 insertions(+), 20 deletions(-)
configs/imx6dl_icore_mmc_defconfig +0 -1
@@ -15,7 +15,6 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MII=y
configs/imx6dl_icore_nand_defconfig +0 -1
@@ -13,7 +13,6 @@ CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MII=y
configs/imx6dl_icore_rqs_mmc_defconfig +0 -1
@@ -15,7 +15,6 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MII=y
configs/imx6q_icore_mmc_defconfig +0 -1
@@ -15,7 +15,6 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MII=y
configs/imx6q_icore_nand_defconfig +0 -1
@@ -13,7 +13,6 @@ CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MII=y
configs/imx6q_icore_rqs_mmc_defconfig +0 -1
@@ -15,7 +15,6 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MII=y
configs/imx6ul_geam_mmc_defconfig +0 -1
@@ -15,7 +15,6 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MII=y
configs/imx6ul_geam_nand_defconfig +0 -1
@@ -15,7 +15,6 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set -CONFIG_CMD_BOOTZ=y CONFIG_CMD_GPIO=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MII=y
include/configs/imx6qdl_icore.h +4 -4
@@ -38,7 +38,7 @@#define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "splashpos=m,m\0" \ - "image=zImage\0" \ + "image=uImage\0" \ "console=ttymxc3\0" \ "fdt_high=0xffffffff\0" \ "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
@@ -60,16 +60,16 @@"run mmcargs; " \"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \"if run loadfdt; then " \ -"bootz ${loadaddr} - ${fdt_addr}; " \ +"bootm ${loadaddr} - ${fdt_addr}; " \"else " \"if test ${boot_fdt} = try; then " \ -"bootz; " \ +"bootm; " \"else " \"echo WARN: Cannot load the DT; " \"fi; " \"fi; " \"else " \ -"bootz; " \ +"bootm; " \"fi\0" #define CONFIG_BOOTCOMMAND \
include/configs/imx6qdl_icore_rqs.h +4 -4
@@ -33,7 +33,7 @@/* Default environment */ #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ - "image=zImage\0" \ + "image=uImage\0" \ "console=ttymxc3\0" \ "fdt_high=0xffffffff\0" \ "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
@@ -55,16 +55,16 @@"run mmcargs; " \"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \"if run loadfdt; then " \ -"bootz ${loadaddr} - ${fdt_addr}; " \ +"bootm ${loadaddr} - ${fdt_addr}; " \"else " \"if test ${boot_fdt} = try; then " \ -"bootz; " \ +"bootm; " \"else " \"echo WARN: Cannot load the DT; " \"fi; " \"fi; " \"else " \ -"bootz; " \ +"bootm; " \"fi\0" #define CONFIG_BOOTCOMMAND \
include/configs/imx6ul_geam.h +4 -4
@@ -37,7 +37,7 @@/* Default environment */ #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ - "image=zImage\0" \ + "image=uImage\0" \ "console=ttymxc0\0" \ "fdt_high=0xffffffff\0" \ "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
@@ -59,16 +59,16 @@"run mmcargs; " \"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \"if run loadfdt; then " \ -"bootz ${loadaddr} - ${fdt_addr}; " \ +"bootm ${loadaddr} - ${fdt_addr}; " \"else " \"if test ${boot_fdt} = try; then " \ -"bootz; " \ +"bootm; " \"else " \"echo WARN: Cannot load the DT; " \"fi; " \"fi; " \"else " \ -"bootz; " \ +"bootm; " \"fi\0" #define CONFIG_BOOTCOMMAND \
Signature · 1 line
1.9.1
PATCH 3/10 configs: engicam: Rename nand with gpmi-name in mtdparts
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
gpmi-nand is the proper name used in nand driver from Linux for all imx related nand boards, so rename mtdparts name as gpmi-nand instead of nand, this will eventually reflects all nand info to Linux from u-boot like mtdparts.
--- include/configs/imx6qdl_icore.h | 4 ++-- include/configs/imx6ul_geam.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
include/configs/imx6qdl_icore.h +2 -2
@@ -129,8 +129,8 @@# define CONFIG_MTD_DEVICE # define CONFIG_CMD_MTDPARTS # define CONFIG_MTD_PARTITIONS -# define MTDIDS_DEFAULT "nand0=nand" -# define MTDPARTS_DEFAULT "mtdparts=nand:2m(spl),2m(uboot)," \ +# define MTDIDS_DEFAULT "nand0=gpmi-nand" +# define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:2m(spl),2m(uboot)," \ "1m(env),8m(kernel),1m(dtb),-(rootfs)"# define CONFIG_APBH_DMA
include/configs/imx6ul_geam.h +2 -2
@@ -128,8 +128,8 @@# define CONFIG_MTD_DEVICE # define CONFIG_CMD_MTDPARTS # define CONFIG_MTD_PARTITIONS -# define MTDIDS_DEFAULT "nand0=nand" -# define MTDPARTS_DEFAULT "mtdparts=nand:2m(spl),2m(uboot)," \ +# define MTDIDS_DEFAULT "nand0=gpmi-nand" +# define MTDPARTS_DEFAULT "mtdparts=gpmi-nand:2m(spl),2m(uboot)," \ "1m(env),8m(kernel),1m(dtb),-(rootfs)"# define CONFIG_APBH_DMA
Signature · 1 line
1.9.1
PATCH 4/10 defconfigs: engicam: Enable MMC commands in nand
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
For writing Linux or rootfs on to NAND, the best suitable way is to use MMC commands since MMC driver by default enabled by mx6_common.h, hence enabled MMC commands in nand defconfigs.
--- configs/imx6dl_icore_nand_defconfig | 5 +++++ configs/imx6q_icore_nand_defconfig | 5 +++++ configs/imx6ul_geam_nand_defconfig | 5 +++++ 3 files changed, 15 insertions(+)
configs/imx6dl_icore_nand_defconfig +5 -0
@@ -18,8 +18,13 @@ CONFIG_CMD_I2C=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_MEMTEST=y +CONFIG_CMD_MMC=y CONFIG_CMD_NAND=y CONFIG_CMD_CACHE=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y CONFIG_OF_LIBFDT=y CONFIG_FEC_MXC=y CONFIG_MXC_UART=y
configs/imx6q_icore_nand_defconfig +5 -0
@@ -18,8 +18,13 @@ CONFIG_CMD_I2C=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_MEMTEST=y +CONFIG_CMD_MMC=y CONFIG_CMD_NAND=y CONFIG_CMD_CACHE=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y CONFIG_OF_LIBFDT=y CONFIG_FEC_MXC=y CONFIG_MXC_UART=y
configs/imx6ul_geam_nand_defconfig +5 -0
@@ -17,10 +17,15 @@ CONFIG_SYS_MAXARGS=32 # CONFIG_DM_MMC_OPS is not set CONFIG_CMD_GPIO=y CONFIG_CMD_MEMTEST=y +CONFIG_CMD_MMC=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_NAND=y CONFIG_CMD_CACHE=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y CONFIG_OF_LIBFDT=y CONFIG_FEC_MXC=y CONFIG_MXC_UART=y
Signature · 1 line
1.9.1
PATCH 5/10 defconfigs: engicam: Enable UBI commands
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Create ubifs.img:
$ mkfs.ubifs -q -r /rootfs -m 4096 -e 253952 -c 7936 -o ubifs.img
Write ubifs.img:
---------------
icorem6qdl> nand erase.part rootfs
icorem6qdl> ubi part rootfs
icorem6qdl> ubi create rootfs
icorem6qdl> ext4load mmc 0:2 ${loadaddr} ubifs.img 166592512 bytes read in 8091 ms (19.6 MiB/s) icorem6qdl> ubi write ${loadaddr} rootfs ${filesize} 166592512 bytes written to volume rootfs icorem6qdl> ubifsmount ubi0:rootfs
--- configs/imx6dl_icore_nand_defconfig | 1 + configs/imx6q_icore_nand_defconfig | 1 + configs/imx6ul_geam_nand_defconfig | 1 + include/configs/imx6qdl_icore.h | 5 +++++ include/configs/imx6ul_geam.h | 5 +++++ 5 files changed, 13 insertions(+)
configs/imx6dl_icore_nand_defconfig +1 -0
@@ -20,6 +20,7 @@ CONFIG_CMD_PING=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MMC=y CONFIG_CMD_NAND=y +CONFIG_CMD_UBI=y CONFIG_CMD_CACHE=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y
configs/imx6q_icore_nand_defconfig +1 -0
@@ -20,6 +20,7 @@ CONFIG_CMD_PING=y CONFIG_CMD_MEMTEST=y CONFIG_CMD_MMC=y CONFIG_CMD_NAND=y +CONFIG_CMD_UBI=y CONFIG_CMD_CACHE=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y
configs/imx6ul_geam_nand_defconfig +1 -0
@@ -21,6 +21,7 @@ CONFIG_CMD_MMC=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_CMD_NAND=y +CONFIG_CMD_UBI=y CONFIG_CMD_CACHE=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y
include/configs/imx6qdl_icore.h +5 -0
@@ -133,6 +133,11 @@# 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 +# define CONFIG_APBH_DMA # define CONFIG_APBH_DMA_BURST # define CONFIG_APBH_DMA_BURST8
include/configs/imx6ul_geam.h +5 -0
@@ -132,6 +132,11 @@# 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 +# define CONFIG_APBH_DMA # define CONFIG_APBH_DMA_BURST # define CONFIG_APBH_DMA_BURST8
Signature · 1 line
1.9.1
PATCH 6/10 imx6: engicam: Add nandboot env support
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add config options for booting Linux from NAND in UBI format.
--- include/configs/imx6qdl_icore.h | 21 +++++++++++++++++++-- include/configs/imx6ul_geam.h | 21 +++++++++++++++++++-- 2 files changed, 38 insertions(+), 4 deletions(-)
include/configs/imx6qdl_icore.h +19 -2
@@ -47,9 +47,12 @@"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 ...; " \
@@ -70,9 +73,22 @@"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
include/configs/imx6ul_geam.h +19 -2
@@ -46,9 +46,12 @@"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 ...; " \
@@ -69,9 +72,22 @@"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
Signature · 1 line
1.9.1
PATCH 7/10 defconfigs: imx6: engicam: Enable FIT
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Enable Flattened Image Tree support for all Engicam boards.
--- configs/imx6dl_icore_mmc_defconfig | 3 +++ configs/imx6dl_icore_nand_defconfig | 3 +++ configs/imx6dl_icore_rqs_mmc_defconfig | 3 +++ configs/imx6q_icore_mmc_defconfig | 3 +++ configs/imx6q_icore_nand_defconfig | 3 +++ configs/imx6q_icore_rqs_mmc_defconfig | 3 +++ configs/imx6ul_geam_mmc_defconfig | 3 +++ configs/imx6ul_geam_nand_defconfig | 3 +++ include/configs/imx6qdl_icore.h | 7 +++++++ include/configs/imx6qdl_icore_rqs.h | 7 +++++++ include/configs/imx6ul_geam.h | 7 +++++++ 11 files changed, 45 insertions(+)
configs/imx6dl_icore_mmc_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set
configs/imx6dl_icore_nand_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y
configs/imx6dl_icore_rqs_mmc_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set
configs/imx6q_icore_mmc_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set
configs/imx6q_icore_nand_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y
configs/imx6q_icore_rqs_mmc_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set
configs/imx6ul_geam_mmc_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set
configs/imx6ul_geam_nand_defconfig +3 -0
@@ -12,6 +12,9 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_HUSH_PARSER=y CONFIG_AUTO_COMPLETE=y CONFIG_SYS_MAXARGS=32 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_FIT_SIGNATURE=y # CONFIG_CMD_IMLS is not set # CONFIG_BLK is not set # CONFIG_DM_MMC_OPS is not set
include/configs/imx6qdl_icore.h +7 -0
@@ -121,6 +121,13 @@#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ CONFIG_SYS_INIT_SP_OFFSET) +/* FIT */ +#ifdef CONFIG_FIT +# define CONFIG_HASH_VERIFY +# define CONFIG_SHA1 +# define CONFIG_SHA256 +#endif +/* UART */ #ifdef CONFIG_MXC_UART # define CONFIG_MXC_UART_BASE UART4_BASE
include/configs/imx6qdl_icore_rqs.h +7 -0
@@ -99,6 +99,13 @@#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ CONFIG_SYS_INIT_SP_OFFSET) +/* FIT */ +#ifdef CONFIG_FIT +# define CONFIG_HASH_VERIFY +# define CONFIG_SHA1 +# define CONFIG_SHA256 +#endif +/* UART */ #ifdef CONFIG_MXC_UART # define CONFIG_MXC_UART_BASE UART4_BASE
include/configs/imx6ul_geam.h +7 -0
@@ -120,6 +120,13 @@#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \ CONFIG_SYS_INIT_SP_OFFSET) +/* FIT */ +#ifdef CONFIG_FIT +# define CONFIG_HASH_VERIFY +# define CONFIG_SHA1 +# define CONFIG_SHA256 +#endif +/* UART */ #ifdef CONFIG_MXC_UART # define CONFIG_MXC_UART_BASE UART1_BASE
Signature · 1 line
1.9.1
PATCH 8/10 configs: engicam: Enable CONFIG_IMAGE_FORMAT_LEGACY
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Enabling FIT along with Signature will make bootm to not-understanding u-boot legacy image formats like uImage, etc. So this patch enabling legacy image format for backward compatibility.
--- include/configs/imx6qdl_icore.h | 1 + include/configs/imx6qdl_icore_rqs.h | 1 + include/configs/imx6ul_geam.h | 1 + 3 files changed, 3 insertions(+)
include/configs/imx6qdl_icore.h +1 -0
@@ -126,6 +126,7 @@# define CONFIG_HASH_VERIFY # define CONFIG_SHA1 # define CONFIG_SHA256 +# define CONFIG_IMAGE_FORMAT_LEGACY #endif /* UART */
include/configs/imx6qdl_icore_rqs.h +1 -0
@@ -104,6 +104,7 @@# define CONFIG_HASH_VERIFY # define CONFIG_SHA1 # define CONFIG_SHA256 +# define CONFIG_IMAGE_FORMAT_LEGACY #endif /* UART */
include/configs/imx6ul_geam.h +1 -0
@@ -125,6 +125,7 @@# define CONFIG_HASH_VERIFY # define CONFIG_SHA1 # define CONFIG_SHA256 +# define CONFIG_IMAGE_FORMAT_LEGACY #endif /* UART */
Signature · 1 line
1.9.1
PATCH 9/10 configs: engicam: Cleanup on mmcboot env
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
- Add tab space
- remove exctra 'mmc dev ${mmcdev}'
--- include/configs/imx6qdl_icore.h | 14 +++++++------- include/configs/imx6qdl_icore_rqs.h | 14 +++++++------- include/configs/imx6ul_geam.h | 13 ++++++------- 3 files changed, 20 insertions(+), 21 deletions(-)
include/configs/imx6qdl_icore.h +7 -7
@@ -89,16 +89,16 @@# define CONFIG_BOOTCOMMAND "run nandboot"#else # define CONFIG_BOOTCOMMAND \ - "mmc dev ${mmcdev};" \ - "mmc dev ${mmcdev}; if mmc rescan; then " \ - "if run loadbootscript; then " \ - "run bootscript; " \ - "else " \ + "mmc dev ${mmcdev};" \ + "if mmc rescan; then " \ + "if run loadbootscript; then " \ + "run bootscript; " \ + "else " \ "if run loadimage; then " \ "run mmcboot; " \ "fi; " \ - "fi; " \ - "fi" + "fi; " \ + "fi"#endif /* Miscellaneous configurable options */
include/configs/imx6qdl_icore_rqs.h +7 -7
@@ -68,16 +68,16 @@ "fi\0"#define CONFIG_BOOTCOMMAND \ - "mmc dev ${mmcdev};" \ - "mmc dev ${mmcdev}; if mmc rescan; then " \ - "if run loadbootscript; then " \ - "run bootscript; " \ - "else " \ + "mmc dev ${mmcdev};" \ + "if mmc rescan; then " \ + "if run loadbootscript; then " \ + "run bootscript; " \ + "else " \ "if run loadimage; then " \ "run mmcboot; " \ "fi; " \ - "fi; " \ - "fi" + "fi; " \ + "fi"/* Miscellaneous configurable options */ #define CONFIG_SYS_MEMTEST_START 0x80000000
include/configs/imx6ul_geam.h +6 -7
@@ -88,16 +88,15 @@# define CONFIG_BOOTCOMMAND "run nandboot"#else # define CONFIG_BOOTCOMMAND \ - "mmc dev ${mmcdev};" \ - "mmc dev ${mmcdev}; if mmc rescan; then " \ - "if run loadbootscript; then " \ - "run bootscript; " \ - "else " \ + "if mmc rescan; then " \ + "if run loadbootscript; then " \ + "run bootscript; " \ + "else " \ "if run loadimage; then " \ "run mmcboot; " \ "fi; " \ - "fi; " \ - "fi" + "fi; " \ + "fi"#endif /* Miscellaneous configurable options */
Signature · 1 line
1.9.1
PATCH 10/10 configs: engicam: Add fitboot env support
In reply to Jagan TekiFrom: Jagan Teki <[email protected]>
Add FIT image booting from MMC device, during MMC bootcmd u-boot env script look for bootscript, else fit image or else finally look for legacy image uImage.
--- include/configs/imx6qdl_icore.h | 13 +++++++++++-- include/configs/imx6qdl_icore_rqs.h | 13 +++++++++++-- include/configs/imx6ul_geam.h | 13 +++++++++++-- 3 files changed, 33 insertions(+), 6 deletions(-)
include/configs/imx6qdl_icore.h +11 -2
@@ -39,6 +39,7 @@"script=boot.scr\0" \"splashpos=m,m\0" \"image=uImage\0" \ +"fit_image=fit.itb\0" \"console=ttymxc3\0" \"fdt_high=0xffffffff\0" \"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
@@ -59,6 +60,10 @@"source\0" \"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ +"loadfit=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${fit_image}\0" \ +"fitboot=echo Booting FIT image from mmc ...; " \ +"run mmcargs; " \ +"bootm ${loadaddr}\0" \"mmcboot=echo Booting from mmc ...; " \"run mmcargs; " \"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
@@ -94,8 +99,12 @@"if run loadbootscript; then " \"run bootscript; " \"else " \ -"if run loadimage; then " \ -"run mmcboot; " \ +"if run loadfit; then " \ +"run fitboot; " \ +"else " \ +"if run loadimage; then " \ +"run mmcboot; " \ +"fi; " \"fi; " \"fi; " \"fi"
include/configs/imx6qdl_icore_rqs.h +11 -2
@@ -34,6 +34,7 @@#define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=uImage\0" \ + "fit_image=fit.itb\0" \ "console=ttymxc3\0" \ "fdt_high=0xffffffff\0" \ "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
@@ -51,6 +52,10 @@"source\0" \"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ +"loadfit=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${fit_image}\0" \ +"fitboot=echo Booting FIT image from mmc ...; " \ +"run mmcargs; " \ +"bootm ${loadaddr}\0" \"mmcboot=echo Booting from mmc ...; " \"run mmcargs; " \"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
@@ -73,8 +78,12 @@"if run loadbootscript; then " \"run bootscript; " \"else " \ -"if run loadimage; then " \ -"run mmcboot; " \ +"if run loadfit; then " \ +"run fitboot; " \ +"else " \ +"if run loadimage; then " \ +"run mmcboot; " \ +"fi; " \"fi; " \"fi; " \"fi"
include/configs/imx6ul_geam.h +11 -2
@@ -38,6 +38,7 @@#define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=uImage\0" \ + "fit_image=fit.itb\0" \ "console=ttymxc0\0" \ "fdt_high=0xffffffff\0" \ "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
@@ -58,6 +59,10 @@"source\0" \"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ +"loadfit=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${fit_image}\0" \ +"fitboot=echo Booting FIT image from mmc ...; " \ +"run mmcargs; " \ +"bootm ${loadaddr}\0" \"mmcboot=echo Booting from mmc ...; " \"run mmcargs; " \"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
@@ -92,8 +97,12 @@"if run loadbootscript; then " \"run bootscript; " \"else " \ -"if run loadimage; then " \ -"run mmcboot; " \ +"if run loadfit; then " \ +"run fitboot; " \ +"else " \ +"if run loadimage; then " \ +"run mmcboot; " \ +"fi; " \"fi; " \"fi; " \"fi"
Signature · 1 line
1.9.1
cover i.MX6: engicam: Add nandboot env and FIT support
In reply to Jagan TekiHi Stefano,
Quoted 9 lines · Jagan Teki
From: Jagan Teki <[email protected]>
This patchset, add support for
- legacy image boot, with bootm
- NAND boot env support, with UBIFS as rootfs
- FIT image boot supporton i.MX6 based Engicam Quad/DualLite/Dual/Solo module kits.
Quoted 11 lines
Jagan Teki (10):
configs: engicam: Increase nand kernel partition size
imx6: engicam: Use bootm instead of bootz
configs: engicam: Rename nand with gpmi-name in mtdparts
defconfigs: engicam: Enable MMC commands in nand
defconfigs: engicam: Enable UBI commands
imx6: engicam: Add nandboot env support
defconfigs: imx6: engicam: Enable FIT
configs: engicam: EnableCONFIG_IMAGE_FORMAT_LEGACY
configs: engicam: Cleanup on mmcboot env
configs: engicam: Add fitboot env support
Please pick this series, buildman works fine.
thanks!
Signature · 4 lines
Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India.
cover i.MX6: engicam: Add nandboot env and FIT support
Hi Stefano,
Quoted 24 lines · Jagan Teki
Hi Stefano,
Quoted 9 lines · Jagan Teki
From: Jagan Teki <[email protected]>
This patchset, add support for
- legacy image boot, with bootm
- NAND boot env support, with UBIFS as rootfs
- FIT image boot supporton i.MX6 based Engicam Quad/DualLite/Dual/Solo module kits.
Quoted 11 lines
Jagan Teki (10):
configs: engicam: Increase nand kernel partition size
imx6: engicam: Use bootm instead of bootz
configs: engicam: Rename nand with gpmi-name in mtdparts
defconfigs: engicam: Enable MMC commands in nand
defconfigs: engicam: Enable UBI commands
imx6: engicam: Add nandboot env support
defconfigs: imx6: engicam: Enable FIT
configs: engicam: EnableCONFIG_IMAGE_FORMAT_LEGACY
configs: engicam: Cleanup on mmcboot env
configs: engicam: Add fitboot env support
Quoted 1 line
Please pick this series, buildman works fine.
Since these changes related to engicam doesn't effect any other, is it OK if I send PR for this?
thanks!
Signature · 4 lines
Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India.
cover i.MX6: engicam: Add nandboot env and FIT support
Quoted 27 lines · Jagan Teki
Hi Stefano,
Quoted 24 lines · Jagan Teki
Hi Stefano,
Quoted 20 lines · Jagan Teki
From: Jagan Teki <[email protected]>
This patchset, add support for
- legacy image boot, with bootm
- NAND boot env support, with UBIFS as rootfs
- FIT image boot supporton i.MX6 based Engicam Quad/DualLite/Dual/Solo module kits.
Jagan Teki (10):
configs: engicam: Increase nand kernel partition size
imx6: engicam: Use bootm instead of bootz
configs: engicam: Rename nand with gpmi-name in mtdparts
defconfigs: engicam: Enable MMC commands in nand
defconfigs: engicam: Enable UBI commands
imx6: engicam: Add nandboot env support
defconfigs: imx6: engicam: Enable FIT
configs: engicam: EnableCONFIG_IMAGE_FORMAT_LEGACY
configs: engicam: Cleanup on mmcboot env
configs: engicam: Add fitboot env support
Quoted 5 lines
Quoted 1 line
Please pick this series, buildman works fine.
Since these changes related to engicam doesn't effect any other, is it OK if I send PR for this?
Generally speaking, the series should flow into -next because it was sent after merge window is closed. But I agree, the series touches just files for engicam - I will apply it before my (last) PR for this release.
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================
cover i.MX6: engicam: Add nandboot env and FIT support
In reply to Jagan TekiQuoted 21 lines · Jagan Teki
From: Jagan Teki <[email protected]>
This patchset, add support for
- legacy image boot, with bootm
- NAND boot env support, with UBIFS as rootfs
- FIT image boot supporton i.MX6 based Engicam Quad/DualLite/Dual/Solo module kits.
Jagan Teki (10):
configs: engicam: Increase nand kernel partition size
imx6: engicam: Use bootm instead of bootz
configs: engicam: Rename nand with gpmi-name in mtdparts
defconfigs: engicam: Enable MMC commands in nand
defconfigs: engicam: Enable UBI commands
imx6: engicam: Add nandboot env support
defconfigs: imx6: engicam: Enable FIT
configs: engicam: EnableCONFIG_IMAGE_FORMAT_LEGACY
configs: engicam: Cleanup on mmcboot env
configs: engicam: Add fitboot env support
Quoted 13 lines
configs/imx6dl_icore_mmc_defconfig | 4 +- configs/imx6dl_icore_nand_defconfig | 10 ++++- configs/imx6dl_icore_rqs_mmc_defconfig | 4 +- configs/imx6q_icore_mmc_defconfig | 4 +- configs/imx6q_icore_nand_defconfig | 10 ++++- configs/imx6q_icore_rqs_mmc_defconfig | 4 +- configs/imx6ul_geam_mmc_defconfig | 4 +- configs/imx6ul_geam_nand_defconfig | 10 ++++- include/configs/imx6qdl_icore.h | 77 +++++++++++++++++++++++++--------- include/configs/imx6qdl_icore_rqs.h | 43 +++++++++++++------ include/configs/imx6ul_geam.h | 76 ++++++++++++++++++++++++--------- 11 files changed, 187 insertions(+), 59 deletions(-)
Applied (after small rebasing) to u-boot-imx, -master, thanks !
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================
cover i.MX6: engicam: Add nandboot env and FIT support
Quoted 36 lines · Stefano Babic
Quoted 21 lines · Jagan Teki
From: Jagan Teki <[email protected]>
This patchset, add support for
- legacy image boot, with bootm
- NAND boot env support, with UBIFS as rootfs
- FIT image boot supporton i.MX6 based Engicam Quad/DualLite/Dual/Solo module kits.
Jagan Teki (10):
configs: engicam: Increase nand kernel partition size
imx6: engicam: Use bootm instead of bootz
configs: engicam: Rename nand with gpmi-name in mtdparts
defconfigs: engicam: Enable MMC commands in nand
defconfigs: engicam: Enable UBI commands
imx6: engicam: Add nandboot env support
defconfigs: imx6: engicam: Enable FIT
configs: engicam: EnableCONFIG_IMAGE_FORMAT_LEGACY
configs: engicam: Cleanup on mmcboot env
configs: engicam: Add fitboot env supportQuoted 13 lines
configs/imx6dl_icore_mmc_defconfig | 4 +- configs/imx6dl_icore_nand_defconfig | 10 ++++- configs/imx6dl_icore_rqs_mmc_defconfig | 4 +- configs/imx6q_icore_mmc_defconfig | 4 +- configs/imx6q_icore_nand_defconfig | 10 ++++- configs/imx6q_icore_rqs_mmc_defconfig | 4 +- configs/imx6ul_geam_mmc_defconfig | 4 +- configs/imx6ul_geam_nand_defconfig | 10 ++++- include/configs/imx6qdl_icore.h | 77 +++++++++++++++++++++++++--------- include/configs/imx6qdl_icore_rqs.h | 43 +++++++++++++------ include/configs/imx6ul_geam.h | 76 ++++++++++++++++++++++++--------- 11 files changed, 187 insertions(+), 59 deletions(-)
Quoted 1 line
Applied (after small rebasing) to u-boot-imx, -master, thanks !
Thanks.
Signature · 4 lines
Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India.