]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
MIPS: Lantiq: Add support for device tree file from boot loader
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 19 Mar 2016 17:28:51 +0000 (18:28 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 13 May 2016 12:01:44 +0000 (14:01 +0200)
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>
Acked-by: John Crispin <john@phrozen.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12898/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/lantiq/prom.c

index 297bcaa6b5d32b346c25fc9414a1e4690094c092..a5c7fec92a975dc472ac5a41223b751d34929e6a 100644 (file)
@@ -65,6 +65,8 @@ static void __init prom_init_cmdline(void)
 
 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)