aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-4.4/0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/patches-4.4/0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch')
-rw-r--r--target/linux/lantiq/patches-4.4/0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches-4.4/0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch b/target/linux/lantiq/patches-4.4/0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch
new file mode 100644
index 0000000000..3c6fa238b2
--- /dev/null
+++ b/target/linux/lantiq/patches-4.4/0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch
@@ -0,0 +1,48 @@
+From a32285ed4ba970b868b7fb49b716d776f4410ef6 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sat, 19 Mar 2016 16:52:46 +0100
+Subject: [PATCH] MIPS: lantiq: add support for device tree file from boot
+ loader
+
+This fetches the device tree file like it is specified in the MIPS UHI
+interface if one was found. This is also used when the device tree file
+was appended to the kernel image with cat.
+This code is copied from arch/mips/bmips/setup.c.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ arch/mips/lantiq/prom.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+--- a/arch/mips/lantiq/prom.c
++++ b/arch/mips/lantiq/prom.c
+@@ -65,6 +65,8 @@ static void __init prom_init_cmdline(voi
+
+ void __init plat_mem_setup(void)
+ {
++ void *dtb;
++
+ ioport_resource.start = IOPORT_RESOURCE_START;
+ ioport_resource.end = IOPORT_RESOURCE_END;
+ iomem_resource.start = IOMEM_RESOURCE_START;
+@@ -72,11 +74,18 @@ void __init plat_mem_setup(void)
+
+ set_io_port_base((unsigned long) KSEG1);
+
++ if (fw_arg0 == -2) /* UHI interface */
++ dtb = (void *)fw_arg1;
++ else if (__dtb_start != __dtb_end)
++ dtb = (void *)__dtb_start;
++ else
++ panic("no dtb found");
++
+ /*
+- * Load the builtin devicetree. This causes the chosen node to be
++ * Load the devicetree. This causes the chosen node to be
+ * parsed resulting in our memory appearing
+ */
+- __dt_setup_arch(__dtb_start);
++ __dt_setup_arch(dtb);
+ }
+
+ void __init device_tree_init(void)