49 lines
1.4 KiB
Diff
49 lines
1.4 KiB
Diff
|
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)
|