fdt: allow bootdelay to be specified via device tree
authorStephen Warren <swarren@nvidia.com>
Tue, 14 May 2013 08:02:56 +0000 (08:02 +0000)
committerTom Rini <trini@ti.com>
Tue, 4 Jun 2013 20:06:32 +0000 (16:06 -0400)
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>
common/main.c

index f6b9dc212f1b62f96d94d4c85095c749c5df5535..56da214b2660a2cae8bbe012c82d0339536fe880 100644 (file)
@@ -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)