Merge pull request #23 from brain-hackers/env

Improve env for richer boot procedure
This commit is contained in:
Takumi Sueda 2022-11-08 05:25:27 +09:00 committed by GitHub
commit 7ac8a7a8a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 101 additions and 51 deletions

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWA7200=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwa7200.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWG4200=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwg4200.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWG5300=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwg5300.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWSH1=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwsh1.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWSH2=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwsh2.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWSH3=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwsh3.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWSH4=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwsh4.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWSH5=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwsh5.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWSH6=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwsh6.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x40000
CONFIG_SPL_TEXT_BASE=0x00001000
CONFIG_TARGET_PWSH7=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_USE_PREBOOT=y
CONFIG_DEFAULT_FDT_FILE="imx28-pwsh7.dtb"
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@ -25,7 +25,6 @@ CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
CONFIG_CMD_FS_GENERIC=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_NET is not set
CONFIG_MXS_GPIO=y

View File

@ -57,43 +57,103 @@
"stdin=serial\0" \
"stdout=serial,vga\0" \
"stderr=serial,vga\0" \
"videomode=video=ctfb:x:" CONFIG_LCD_X ",y:" CONFIG_LCD_Y ",depth:16,pclk:30857,le:0,ri:0,up:0,lo:0,hs:0,vs:0,sync:0,vmode:0\0" \
"bootdelay=0\0" \
"videomode=video=ctfb:x:" CONFIG_LCD_X ",y:" CONFIG_LCD_Y ",depth:16,pclk:30857,le:0,ri:0,up:0,lo:0,hs:0,vs:0,sync:0,vmode:0\0" \
"image=zImage\0" \
"console_mainline=ttyAMA0\0" \
"bootargs_custom=fbcon=font:ProFont6x11\0" \
"bootorder=emmc sd\0" \
"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
"fdt_addr=0x41000000\0" \
"boot_fdt=try\0" \
"mmcdev=1\0" \
"mmcpart=1\0" \
"mmcroot=/dev/mmcblk1p2 rw rootwait\0" \
"mmcargs=setenv bootargs console=${console_mainline},${baudrate} console=tty1 " \
"root=${mmcroot} fbcon=font:ProFont6x11\0" \
"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if run loadfdt; then " \
"bootz ${loadaddr} - ${fdt_addr}; " \
"else " \
"if test ${boot_fdt} = try; then " \
"bootz; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi; " \
"else " \
"bootz; " \
"fi;\0" \
#define CONFIG_BOOTCOMMAND \
"mmc dev ${mmcdev}; if mmc rescan; then " \
"if run loadimage; then " \
"run mmcboot; " \
"else run netboot; " \
"verbose=no\0" \
"printfail=echo failed to ${fail}\0" \
"quiet=" \
"if test $verbose = no; then " \
"setenv stdout_orig ${stdout}; " \
"setenv stdout nulldev; " \
"fi\0" \
"unquiet=" \
"setenv returncode $?; " \
"if test -n $stdout_orig; then " \
"setenv stdout ${stdout_orig}; " \
"fi; " \
"else run netboot; fi"
"exit $returncode\0" \
"sddev=1\0" \
"sdpart=1\0" \
"sdroot=/dev/mmcblk1p2 rw rootwait\0" \
"selectsd=" \
"setenv dev ${sddev}; " \
"setenv part ${sdpart}; " \
"setenv root ${sdroot}; " \
"setenv devname SD; " \
"run quiet; " \
"mmc dev ${dev}; " \
"run unquiet\0" \
"emmcdev=0\0" \
"emmcpart=1\0" \
"emmcroot=/dev/mmcblk0p3 rw rootwait\0" \
"selectemmc=" \
"setenv dev ${emmcdev}; " \
"setenv part ${emmcpart}; " \
"setenv root ${emmcroot}; " \
"setenv devname eMMC; " \
"run quiet; " \
"mmc dev ${dev}; " \
"run unquiet\0" \
"loadimage=" \
"run quiet; " \
"fatload mmc ${dev}:${part} ${loadaddr} ${image}; " \
"run unquiet\0" \
"loadfdt=" \
"run quiet; " \
"fatload mmc ${dev}:${part} ${fdt_addr} ${fdt_file}; " \
"run unquiet\0" \
"checkenvexists=" \
"run quiet; " \
"test -e mmc ${dev}:${part} uEnv.txt; " \
"run unquiet\0" \
"loadenv=" \
"run quiet; " \
"fatload mmc ${dev}:${part} ${loadaddr} uEnv.txt; " \
"run unquiet\0" \
"importenv=" \
"run quiet; " \
"env import -t ${loadaddr} ${filesize}; " \
"run unquiet\0" \
"loadandimportenv=" \
"if run checkenvexists; then " \
"echo -n \"Loading environment from ${devname} ... \"; " \
"if setenv fail load && run loadenv && setenv fail parse && run importenv; then " \
"echo OK; " \
"else " \
"run printfail; " \
"fi; " \
"fi\0" \
"setargs=setenv bootargs console=${console_mainline},${baudrate} console=tty1 " \
"root=${root} ${bootargs_custom}\0" \
"mmcboot=" \
"echo -n \"Loading kernel and device tree from ${devname} ... \"; " \
"if setenv fail load image && run loadimage && setenv fail load DT && run loadfdt; then " \
"echo OK; " \
"echo \"Booting from ${devname} ... \"; " \
"setenv fail bootz; " \
"run setargs; " \
"bootz ${loadaddr} - ${fdt_addr}; " \
"fi; " \
"run printfail\0" \
"preboot=" \
"for choice in emmc sd; do " /* Env in SD must have higher priority */ \
"if run select$choice; then " \
"run loadandimportenv; " \
"fi; " \
"done\0" \
"bootcmd=" \
"for choice in $bootorder; do " \
"if run select$choice; then " \
"run mmcboot; " \
"fi; " \
"done; " \
"echo Failed to boot (X_X)"
/* The rest of the configuration is shared */
#include <configs/mxs.h>