diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/ramips/patches-4.4/997-ralink-Introduce-fw_passed_dtb-to-arch-mips-ralink.patch | 28 |
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) |