]> git.kernelconcepts.de Git - karo-tx-uboot.git/commit
arm/km: define fdt_high env variable and allow backwards compatibility
authorGerlando Falauto <gerlando.falauto@keymile.com>
Mon, 27 Jan 2014 15:58:28 +0000 (16:58 +0100)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Thu, 13 Feb 2014 15:18:13 +0000 (16:18 +0100)
commitb1c2a7ae32b6c5dd1dcb7cb29c862af01523ba36
tree21a3b3d3f230342ef08055258472862fad708fa1
parent7b2268b88fb9a67b13563fa61b8ae282b9aa6e00
arm/km: define fdt_high env variable and allow backwards compatibility

Add set_fdthigh subcommand to "subbootcmds" (release) so to set "fdt_high"
This is necessary on Kirkwood so that the FDT does not get relocated
above the memory limit that the kernel cannot access
(that is the memory part reserved for the switch).
This was tested on NUSA1, where it is necessary, and on ETER1, where it
doesn't seem to hurt.

We want the scripts to also work with older versions of u-boot, where:
a) set_fdthigh is not defined (will be default env for newer u-boots)
b) the fdt will not be available

For this reason, we use "set_fdthigh" to tell whether we are running
a newer (FDT-aware) u-boot or not.
So if "set_fdthigh" runs successfully or arch != arm we try loading
the fdt; otherwise we proceed normally.

Notice how, contrary to release mode, set_fdthigh will _not_ be part of
subbootcmds for develop and ramfs, but will be executed as part of
"tftpfdt".

Since this is only needed for kirkwood cards, and it prevents the kernel
from booting on QorIQ (though it seemed to work on ETER1), we change
its definition in the default env for powerpc so that the value is only
set on ARM.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
board/keymile/scripts/develop-common.txt
board/keymile/scripts/ramfs-common.txt
include/configs/km/keymile-common.h
include/configs/km/km-powerpc.h
include/configs/km/km_arm.h
include/configs/km/kmp204x-common.h