Commit eea63e05 authored by Simon Glass's avatar Simon Glass Committed by Wolfgang Denk
Browse files

fdt: ARM: Add fdtcontroladdr to set device tree address in environment

This adds support for a new environment variable called 'fdtcontroladdr'. If
defined, the hex address is used as the address of the control fdt for U-Boot.

Note: I have not changed CONFIG_PRAM section as I already have an
outstanding patch on that.
Signed-off-by: default avatarSimon Glass <>
parent f5437ad1
......@@ -3499,6 +3499,10 @@ List of environment variables (most likely not complete):
add the information it needs into it, and the memory
must be accessible by the kernel.
fdtcontroladdr- if set this is the address of the control flattened
device tree used by U-Boot when CONFIG_OF_CONTROL is
i2cfast - (PPC405GP|PPC405EP only)
if set to 'y' configures Linux I2C driver for fast
mode (400kHZ). This environment variable is used in
......@@ -286,6 +286,9 @@ void board_init_f(ulong bootflag)
/* FDT is at end of image */
gd->fdt_blob = (void *)(_end_ofs + _TEXT_BASE);
/* Allow the early environment to override the fdt address */
gd->fdt_blob = (void *)getenv_ulong("fdtcontroladdr", 16,
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
if ((*init_fnc_ptr)() != 0) {
......@@ -144,6 +144,18 @@ and then flash image.bin onto your board.
You cannot use both of these options at the same time.
If you wish to put the fdt at a different address in memory, you can
define the "fdtcontroladdr" environment variable. This is the hex
address of the fdt binary blob, and will override either of the options.
Be aware that this environment variable is checked prior to relocation,
when only the compiled-in environment is available. Therefore it is not
possible to define this variable in the saved SPI/NAND flash
environment, for example (it will be ignored).
To use this, put something like this in your board header file:
#define CONFIG_EXTRA_ENV_SETTINGS "fdtcontroladdr=10000\0"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment