Skip to content
Snippets Groups Projects
Commit 90b1c9fa authored by Daniel Schwierzeck's avatar Daniel Schwierzeck
Browse files

MIPS: implement device-tree handover to Linux kernel

Add device-tree handover to Linux kernel conforming with MIPS UHI [1].
Register $a0 will be set to the reserved value -2. The address of
the device-tree blob will be stored as KSEG0 address in $a1. $a2 and
$a3 are set to zero.

[1] http://prplfoundation.org/wiki/MIPS_documentation



Signed-off-by: default avatarDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
parent d8c1d5d5
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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[],
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment