From: Stephen Warren <swarren@nvidia.com>
Date: Tue, 14 May 2013 08:02:56 +0000 (+0000)
Subject: fdt: allow bootdelay to be specified via device tree
X-Git-Tag: v2025.01-rc5-pxa1908~16206
X-Git-Url: http://git.dujemihanovic.xyz/%7B%7B%20.Permalink%20%7D%7D?a=commitdiff_plain;h=99bd544ee76af3302b8421eaaddfe61f56915fc6;p=u-boot.git

fdt: allow bootdelay to be specified via device tree

This can be useful to force bootcmd to execute as soon as U-Boot has
started.

My use-case is: An SoC-specific tool pushes U-Boot into RAM, along with
an image to be written to device boot flash, with the DT config property
"bootcmd" set to contain a command to write that image to flash. In this
scenario, we don't want to allow any stale bootdelay value taken from
the current flash content to affect how long it takes before the
flashing process starts.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Gerald Van Baren <vanbaren@cideas.com>
---

diff --git a/common/main.c b/common/main.c
index f6b9dc212f..56da214b26 100644
--- a/common/main.c
+++ b/common/main.c
@@ -358,6 +358,11 @@ static void process_boot_delay(void)
 	s = getenv ("bootdelay");
 	bootdelay = s ? (int)simple_strtol(s, NULL, 10) : CONFIG_BOOTDELAY;
 
+#ifdef CONFIG_OF_CONTROL
+	bootdelay = fdtdec_get_config_int(gd->fdt_blob, "bootdelay",
+			bootdelay);
+#endif
+
 	debug ("### main_loop entered: bootdelay=%d\n\n", bootdelay);
 
 #if defined(CONFIG_MENU_SHOW)