Patchwork [U-Boot] fdt: allow bootdelay to be specified via device tree

login
register
mail settings
Submitter Stephen Warren
Date May 14, 2013, 6:02 p.m.
Message ID <1368554576-19733-1-git-send-email-swarren@wwwdotorg.org>
Download mbox | patch
Permalink /patch/243794/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Stephen Warren - May 14, 2013, 6:02 p.m.
From: Stephen Warren <swarren@nvidia.com>

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>
---
 common/main.c |    5 +++++
 1 file changed, 5 insertions(+)
Simon Glass - May 14, 2013, 7:08 p.m.
Hi Stephen,

On Tue, May 14, 2013 at 11:02 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> From: Stephen Warren <swarren@nvidia.com>
>
> 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>

Nice idea.

Acked-by: Simon Glass <sjg@chromium.org>

Regards,
Simon
Stephen Warren - June 2, 2013, 5:24 a.m.
On 05/14/2013 12:02 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
> 
> 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.

Jerry, does this patch look OK, or do you have comments on it? Thanks.
Jerry Van Baren - June 2, 2013, 12:44 p.m.
Hi Stephen,

On 06/02/2013 01:24 AM, Stephen Warren wrote:
> On 05/14/2013 12:02 PM, Stephen Warren wrote:
>> From: Stephen Warren <swarren@nvidia.com>
>>
>> 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.
>
> Jerry, does this patch look OK, or do you have comments on it? Thanks.

I'm good with the patch.

Acked-by: Gerald Van Baren <vanbaren@cideas.com>

Thanks,
gvb
Stephen Warren - June 3, 2013, 3:05 p.m.
On 06/02/2013 06:44 AM, Gerald Van Baren wrote:
> Hi Stephen,
> 
> On 06/02/2013 01:24 AM, Stephen Warren wrote:
>> On 05/14/2013 12:02 PM, Stephen Warren wrote:
>>> From: Stephen Warren <swarren@nvidia.com>
>>>
>>> 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.
>>
>> Jerry, does this patch look OK, or do you have comments on it? Thanks.
> 
> I'm good with the patch.
> 
> Acked-by: Gerald Van Baren <vanbaren@cideas.com>

Oh, I'm not sure who you're expecting to apply this then; I assume since
it was a DT-related feature it'd be applied to your DT tree. Are you
expecting Tom Rini to apply it to the main U-Boot repo?
Jerry Van Baren - June 3, 2013, 4:34 p.m.
On 06/03/2013 11:05 AM, Stephen Warren wrote:
> On 06/02/2013 06:44 AM, Gerald Van Baren wrote:
>> Hi Stephen,
>>
>> On 06/02/2013 01:24 AM, Stephen Warren wrote:
>>> On 05/14/2013 12:02 PM, Stephen Warren wrote:
>>>> From: Stephen Warren <swarren@nvidia.com>
>>>>
>>>> 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.
>>>
>>> Jerry, does this patch look OK, or do you have comments on it? Thanks.
>>
>> I'm good with the patch.
>>
>> Acked-by: Gerald Van Baren <vanbaren@cideas.com>
>
> Oh, I'm not sure who you're expecting to apply this then; I assume since
> it was a DT-related feature it'd be applied to your DT tree. Are you
> expecting Tom Rini to apply it to the main U-Boot repo?

Ahh, one of those fuzzy gray areas... the patch is to main.c, I mostly 
focus on files in the libfdt subdirectory.  I can apply it via the FDT repo.

Tom Rini, do you have any preference?

The merge window closed May 11 and the original patch was emailed on May 
14... is it a candidate to go into the July 15 release?  It is a simple 
patch arguably fixing a bug, but it did miss the window.

Thanks,
gvb
Tom Rini - June 5, 2013, 12:34 p.m.
On Tue, May 14, 2013 at 08:02:56AM -0000, Stephen Warren wrote:

> From: Stephen Warren <swarren@nvidia.com>
> 
> 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>

Applied to u-boot/master, thanks!

Patch

diff --git a/common/main.c b/common/main.c
index 953ef29..6bfd9f0 100644
--- a/common/main.c
+++ b/common/main.c
@@ -429,6 +429,11 @@  void main_loop (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)