Pārlūkot izejas kodu

ARM: uniphier: allow to source boot script before distro-boot

Some users might need additional setups before booting the kernel.
If there is found a file 'boot.scr', run it before invoking the
distro boot command.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Masahiro Yamada 5 gadi atpakaļ
vecāks
revīzija
9f9edb6fe3

+ 1 - 1
configs/uniphier_ld4_sld8_defconfig

@@ -9,7 +9,7 @@ CONFIG_ARCH_UNIPHIER_LD4_SLD8=y
 CONFIG_MICRO_SUPPORT_CARD=y
 CONFIG_NR_DRAM_BANKS=3
 # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
-CONFIG_BOOTCOMMAND="run ${bootdev}boot"
+CONFIG_BOOTCOMMAND="run ${bootdev}script; run ${bootdev}boot"
 CONFIG_LOGLEVEL=6
 CONFIG_SPL_NAND_SUPPORT=y
 CONFIG_SPL_NOR_SUPPORT=y

+ 1 - 1
configs/uniphier_v7_defconfig

@@ -8,7 +8,7 @@ CONFIG_SPL=y
 CONFIG_MICRO_SUPPORT_CARD=y
 CONFIG_NR_DRAM_BANKS=3
 # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
-CONFIG_BOOTCOMMAND="run ${bootdev}boot"
+CONFIG_BOOTCOMMAND="run ${bootdev}script; run ${bootdev}boot"
 CONFIG_LOGLEVEL=6
 CONFIG_SPL_NAND_SUPPORT=y
 CONFIG_SPL_NOR_SUPPORT=y

+ 1 - 1
configs/uniphier_v8_defconfig

@@ -7,7 +7,7 @@ CONFIG_ARCH_UNIPHIER_V8_MULTI=y
 CONFIG_MICRO_SUPPORT_CARD=y
 CONFIG_NR_DRAM_BANKS=3
 # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
-CONFIG_BOOTCOMMAND="run ${bootdev}boot"
+CONFIG_BOOTCOMMAND="run ${bootdev}script; run ${bootdev}boot"
 CONFIG_LOGLEVEL=6
 CONFIG_CMD_CONFIG=y
 CONFIG_CMD_IMLS=y

+ 20 - 0
include/configs/uniphier.h

@@ -169,12 +169,32 @@
 #define	CONFIG_EXTRA_ENV_SETTINGS				\
 	"netdev=eth0\0"						\
 	"initrd_high=0xffffffffffffffff\0"			\
+	"script=boot.scr\0" \
 	"scriptaddr=0x85000000\0"				\
 	"nor_base=0x42000000\0"					\
 	"emmcboot=mmcsetn && run bootcmd_mmc${mmc_first_dev}\0" \
 	"nandboot=run bootcmd_ubifs0\0" \
 	"norboot=run tftpboot\0" \
 	"usbboot=run bootcmd_usb0\0" \
+	"emmcscript=setenv devtype mmc && " \
+		"mmcsetn && " \
+		"setenv devnum ${mmc_first_dev} && " \
+		"run loadscript_fat\0" \
+	"nandscript=echo Running ${script} from ubi ... && " \
+		"ubi part UBI && " \
+		"ubifsmount ubi0:boot && " \
+		"ubifsload ${loadaddr} ${script} && " \
+		"source\0" \
+	"norscript=echo Running ${script} from tftp ... && " \
+		"tftpboot ${script} &&" \
+		"source\0" \
+	"usbscript=usb start && " \
+		"setenv devtype usb && " \
+		"setenv devnum 0 && " \
+		"run loadscript_fat\0" \
+	"loadscript_fat=echo Running ${script} from ${devtype}${devnum} ... && " \
+		"load ${devtype} ${devnum}:1 ${loadaddr} ${script} && " \
+		"source\0" \
 	"sramupdate=setexpr tmp_addr $nor_base + 0x50000 &&"	\
 		"tftpboot $tmp_addr $second_image && " \
 		"setexpr tmp_addr $nor_base + 0x70000 && " \