aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2015-04-24 13:44:28 -0400
committerTom Rini <trini@konsulko.com>2015-04-24 13:44:28 -0400
commit08442ec7633c69c882a4a6bd70831226d7a81556 (patch)
tree04f7338e2d71001c46c6481d12fa686f9de9b32e /arch
parent3f6dcdb9cd4dbda226a1474f1e9398413e906b41 (diff)
parent90b1c9fad7bde21e3f0d388d0ba0ac5ee1f2e976 (diff)
downloadu-boot-08442ec7633c69c882a4a6bd70831226d7a81556.zip
u-boot-08442ec7633c69c882a4a6bd70831226d7a81556.tar.gz
u-boot-08442ec7633c69c882a4a6bd70831226d7a81556.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot-mips
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/Kconfig9
-rw-r--r--arch/mips/lib/bootm.c6
2 files changed, 8 insertions, 7 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index bc4283d..b0a8a43 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -141,15 +141,12 @@ config MIPS_BOOT_ENV_LEGACY
The address of the enviroment is stored in register $a2.
config MIPS_BOOT_FDT
- bool "Hand over a flattened device tree to Linux kernel (INCOMPLETE)"
+ bool "Hand over a flattened device tree to Linux kernel"
default n
help
Enable this option if you want U-Boot to hand over a flattened
- device tree to the kernel.
-
- Note: the final hand over to the kernel is not yet implemented. After
- the community agreed on the MIPS boot interface for device trees,
- the corresponding code will be added.
+ device tree to the kernel. According to UHI register $a0 will be set
+ to -2 and the FDT address is stored in $a1.
endmenu
diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
index d9d8396..e289799 100644
--- a/arch/mips/lib/bootm.c
+++ b/arch/mips/lib/bootm.c
@@ -317,7 +317,11 @@ static void boot_jump_linux(bootm_headers_t *images)
bootstage_report();
#endif
- kernel(linux_argc, (ulong)linux_argv, (ulong)linux_env, linux_extra);
+ if (images->ft_len)
+ kernel(-2, (ulong)images->ft_addr, 0, 0);
+ else
+ kernel(linux_argc, (ulong)linux_argv, (ulong)linux_env,
+ linux_extra);
}
int do_bootm_linux(int flag, int argc, char * const argv[],