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: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
This commit is contained in:
parent
d8c1d5d5fb
commit
90b1c9fad7
@ -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[],
|
||||
|
Loading…
Reference in New Issue
Block a user