29 lines
687 B
Diff
29 lines
687 B
Diff
|
--- a/arch/mips/ralink/of.c
|
||
|
+++ b/arch/mips/ralink/of.c
|
||
|
@@ -81,13 +81,23 @@
|
||
|
|
||
|
void __init plat_mem_setup(void)
|
||
|
{
|
||
|
+ void *dtb = NULL;
|
||
|
+
|
||
|
set_io_port_base(KSEG1);
|
||
|
|
||
|
/*
|
||
|
* Load the builtin devicetree. This causes the chosen node to be
|
||
|
- * parsed resulting in our memory appearing
|
||
|
+ * parsed resulting in our memory appearing. fw_passed_dtb is used
|
||
|
+ * by CONFIG_MIPS_APPENDED_RAW_DTB as well.
|
||
|
*/
|
||
|
- __dt_setup_arch(&__image_dtb);
|
||
|
+ if (fw_passed_dtb)
|
||
|
+ dtb = (void *)fw_passed_dtb;
|
||
|
+ else if (__dtb_start != __dtb_end)
|
||
|
+ dtb = (void *)__dtb_start;
|
||
|
+ else
|
||
|
+ dtb = &__image_dtb;
|
||
|
+
|
||
|
+ __dt_setup_arch(dtb);
|
||
|
|
||
|
of_scan_flat_dt(early_init_dt_find_chosen, NULL);
|
||
|
if (chosen_dtb)
|