1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 08:42:12 +02:00

common/image.c: align usage of fdt_high with initrd_high

The commit message of a28afca (Add uboot "fdt_high" enviroment variable)
states that fdt_high behaves similarly to the existing initrd_high.
But fdt_high actually has an outstanding difference from initrd_high.
The former specifies the start address, while the later specifies the
end address.

As fdt_high and initrd_high will likely be used together, it'd be nice
to have them behave same.  The patch changes the behavior of fdt_high
to have it aligned with initrd_high.

The document of fdt_high in README is updated with an example to
demonstrate the usage of this environment variable.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Shawn Guo
2012-01-09 21:54:08 +00:00
committed by Albert ARIBAUD
parent ba901df41b
commit fa34f6b25b
2 changed files with 13 additions and 7 deletions

View File

@@ -1289,16 +1289,14 @@ int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size)
if (((ulong) desired_addr) == ~0UL) {
/* All ones means use fdt in place */
desired_addr = fdt_blob;
of_start = fdt_blob;
lmb_reserve(lmb, (ulong)of_start, of_len);
disable_relocation = 1;
}
if (desired_addr) {
} else if (desired_addr) {
of_start =
(void *)(ulong) lmb_alloc_base(lmb, of_len, 0x1000,
((ulong)
desired_addr)
+ of_len);
if (desired_addr && of_start != desired_addr) {
(ulong)desired_addr);
if (of_start == 0) {
puts("Failed using fdt_high value for Device Tree");
goto error;
}