All of lore.kernel.org
 help / color / mirror / Atom feed
From: Derald D. Woods <woods.technical@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] omap3: evm: Explicitly use DISTRO_DEFAULTS features at startup
Date: Wed, 29 Nov 2017 03:28:55 +0000	[thread overview]
Message-ID: <20171129032855.4920-1-woods.technical@gmail.com> (raw)

[primary] Check MMC 0:1 for /extlinux/extlinux.conf and boot
[fallback 1] Check MMC 0:1 zImage and run mmcbootz
[fallback 2] Check MMC 0:1 uImage and run mmcboot
[fallback 3] Check NAND partitions and run nandboot

If 'extlinux.conf' is not found on MMC 0, the previous boot behavior is
followed.

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
---
 configs/omap3_evm_defconfig |  2 +-
 include/configs/omap3_evm.h | 94 ++++++++++++++++++++++++++++++++-------------
 2 files changed, 68 insertions(+), 28 deletions(-)

diff --git a/configs/omap3_evm_defconfig b/configs/omap3_evm_defconfig
index f67bcb1895..0c513664fe 100644
--- a/configs/omap3_evm_defconfig
+++ b/configs/omap3_evm_defconfig
@@ -6,8 +6,8 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
 CONFIG_SYS_MPUCLK=720
 CONFIG_TARGET_OMAP3_EVM=y
 CONFIG_DISTRO_DEFAULTS=y
-# CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_BOOTDELAY=3
+CONFIG_USE_BOOTCOMMAND=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_DEFAULT_FDT_FILE="omap3-evm.dtb"
 CONFIG_VERSION_VARIABLE=y
diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
index df50325ab6..42f2153637 100644
--- a/include/configs/omap3_evm.h
+++ b/include/configs/omap3_evm.h
@@ -86,8 +86,49 @@
 /* Environment */
 #define CONFIG_PREBOOT                  "usb start"
 
+#if !defined(CONFIG_SPL_BUILD)
+
+#include <config_distro_defaults.h>
+
+#define MEM_LAYOUT_ENV_SETTINGS \
+	DEFAULT_LINUX_BOOT_ENV
+
+#if defined(CONFIG_NAND)
+#define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
+	"bootcmd_" #devtypel #instance "=" \
+	"run nandboot\0"
+
+#define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
+	#devtypel #instance " "
+#endif /* CONFIG_NAND */
+
+#define BOOTENV_DEV_UIMAGE_MMC(devtypeu, devtypel, instance) \
+	"bootcmd_" #devtypel #instance "=" \
+		"setenv mmcdev " #instance"; " \
+		"run mmcboot\0"
+
+#define BOOTENV_DEV_NAME_UIMAGE_MMC(devtypeu, devtypel, instance) \
+	#devtypel #instance " "
+
+#define BOOTENV_DEV_ZIMAGE_MMC(devtypeu, devtypel, instance) \
+	"bootcmd_" #devtypel #instance "=" \
+		"setenv mmcdev " #instance"; " \
+		"run mmcbootz\0"
+
+#define BOOTENV_DEV_NAME_ZIMAGE_MMC(devtypeu, devtypel, instance) \
+	#devtypel #instance " "
+
+#define BOOT_TARGET_DEVICES(func) \
+	func(MMC, mmc, 0) \
+	func(ZIMAGE_MMC, zimage_mmc, 0) \
+	func(UIMAGE_MMC, uimage_mmc, 0) \
+	func(NAND, nand, 0)
+
+#include <config_distro_bootcmd.h>
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
-	DEFAULT_LINUX_BOOT_ENV \
+	MEM_LAYOUT_ENV_SETTINGS \
+	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
 	"mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \
 	"mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
 	"bootenv=uEnv.txt\0" \
@@ -107,40 +148,39 @@
 	"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
 	"importbootenv=echo Importing environment from mmc ...; " \
 		"env import -t ${loadaddr} ${filesize}\0" \
-	"bootscript=echo Running bootscript from mmc ...; " \
-		"source ${loadaddr}\0" \
+	"mmcbootenv=" \
+		"mmc dev ${mmcdev}; " \
+		"if mmc rescan && run loadbootenv; then " \
+			"run importbootenv; " \
+			"if test -n $uenvcmd; then " \
+				"echo Running uenvcmd ...; " \
+				"run uenvcmd; " \
+			"fi; " \
+		"fi\0" \
 	"loaduimage=setenv bootfile uImage; " \
 		"fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
 	"loadzimage=setenv bootfile zImage; " \
 		"fatload mmc ${mmcdev} ${loadaddr} zImage\0" \
-	"loaddtb=fatload mmc ${mmcdev} ${fdtaddr} " CONFIG_DEFAULT_FDT_FILE "\0" \
-	"mmcboot=echo Booting ${bootfile} from mmc ...; " \
-		"run mmcargs; " \
-		"bootm ${loadaddr} - ${fdtaddr}\0" \
-	"mmcbootz=echo Booting ${bootfile} from mmc ...; " \
-		"run mmcargs; " \
-		"bootz ${loadaddr} - ${fdtaddr}\0" \
+	"loaddtb=fatload mmc ${mmcdev} ${fdtaddr} ${fdtfile}\0" \
+	"mmcboot=run mmcbootenv; " \
+		"if run loaduimage && run loaddtb; then " \
+			"echo Booting ${bootfile} from mmc ...; " \
+			"run mmcargs; " \
+			"bootm ${loadaddr} - ${fdtaddr}; " \
+		"fi\0" \
+	"mmcbootz=run mmcbootenv; " \
+		"if run loadzimage && run loaddtb; then " \
+			"echo Booting ${bootfile} from mmc ...; " \
+			"run mmcargs; " \
+			"bootz ${loadaddr} - ${fdtaddr};" \
+		"fi\0" \
 	"nandboot=echo Booting uImage from nand ...; " \
 		"run nandargs; " \
 		"nand read ${loadaddr} kernel; " \
 		"nand read ${fdtaddr} dtb; " \
-		"bootm ${loadaddr} - ${fdtaddr}\0"
+		"bootm ${loadaddr} - ${fdtaddr}\0" \
+	BOOTENV
 
-#define CONFIG_BOOTCOMMAND \
-	"mmc dev ${mmcdev}; if mmc rescan; then " \
-		"if run loadbootenv; then " \
-			"run importbootenv; " \
-			"if test -n $uenvcmd; then " \
-				"echo Running uenvcmd ...; " \
-				"run uenvcmd; " \
-			"fi; " \
-		"else " \
-			"if run loadzimage && run loaddtb; then " \
-				"run mmcbootz; fi; " \
-			"if run loaduimage && run loaddtb; then " \
-				"run mmcboot; fi; " \
-			"run nandboot; " \
-		"fi; " \
-	"else run nandboot; fi"
+#endif /* !CONFIG_SPL_BUILD */
 
 #endif /* __CONFIG_H */
-- 
2.14.2

             reply	other threads:[~2017-11-29  3:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-29  3:28 Derald D. Woods [this message]
2017-12-04 18:36 ` [U-Boot] omap3: evm: Explicitly use DISTRO_DEFAULTS features at startup Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171129032855.4920-1-woods.technical@gmail.com \
    --to=woods.technical@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.