Skip to content
Snippets Groups Projects
  • Rasmus Villemoes's avatar
    95fd9772
    env: allow environment to be amended from control dtb · 95fd9772
    Rasmus Villemoes authored and Tom Rini's avatar Tom Rini committed
    
    It can be useful to use the same U-Boot binary for multiple purposes,
    say the normal one, one for developers that allow breaking into the
    U-Boot shell, and one for use during bootstrapping which runs a
    special-purpose bootcmd. Or one can have several board variants that
    can share almost all boot logic, but just needs a few tweaks in the
    variables used by the boot script.
    
    To that end, allow the control dtb to contain a /config/enviroment
    node (or whatever one puts in fdt_env_path variable), whose
    property/value pairs are used to update the run-time environment after
    it has been loaded from its persistent location.
    
    The indirection via fdt_env_path is for maximum flexibility - for
    example, should the user wish (or board logic dictate) that the values
    in the DTB should no longer be applied, one simply needs to delete the
    fdt_env_path variable; that can even be done automatically by
    including a
    
      fdt_env_path = "";
    
    property in the DTB node.
    
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
    Acked-by: Joe Hershberger's avatarJoe Hershberger <joe.hershberger@ni.com>
    95fd9772
    History
    env: allow environment to be amended from control dtb
    Rasmus Villemoes authored and Tom Rini's avatar Tom Rini committed
    
    It can be useful to use the same U-Boot binary for multiple purposes,
    say the normal one, one for developers that allow breaking into the
    U-Boot shell, and one for use during bootstrapping which runs a
    special-purpose bootcmd. Or one can have several board variants that
    can share almost all boot logic, but just needs a few tweaks in the
    variables used by the boot script.
    
    To that end, allow the control dtb to contain a /config/enviroment
    node (or whatever one puts in fdt_env_path variable), whose
    property/value pairs are used to update the run-time environment after
    it has been loaded from its persistent location.
    
    The indirection via fdt_env_path is for maximum flexibility - for
    example, should the user wish (or board logic dictate) that the values
    in the DTB should no longer be applied, one simply needs to delete the
    fdt_env_path variable; that can even be done automatically by
    including a
    
      fdt_env_path = "";
    
    property in the DTB node.
    
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
    Acked-by: Joe Hershberger's avatarJoe Hershberger <joe.hershberger@ni.com>