aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ramips/patches-4.4/997-ralink-Introduce-fw_passed_dtb-to-arch-mips-ralink.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/ramips/patches-4.4/997-ralink-Introduce-fw_passed_dtb-to-arch-mips-ralink.patch b/target/linux/ramips/patches-4.4/997-ralink-Introduce-fw_passed_dtb-to-arch-mips-ralink.patch
new file mode 100644
index 0000000000..fb5fd98d13
--- /dev/null
+++ b/target/linux/ramips/patches-4.4/997-ralink-Introduce-fw_passed_dtb-to-arch-mips-ralink.patch
@@ -0,0 +1,28 @@
+--- 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)