CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
-CONFIG_DT_EASY50712=y
+# CONFIG_DT_EASY50712 is not set
CONFIG_EARLY_PRINTK=y
CONFIG_ETHERNET_PACKET_MANGLE=y
CONFIG_GENERIC_ATOMIC64=y
CONFIG_IRQ_MIPS_CPU=y
CONFIG_IRQ_WORK=y
CONFIG_LANTIQ=y
+CONFIG_LANTIQ_DT_NONE=y
CONFIG_LANTIQ_ETOP=y
# CONFIG_LANTIQ_PHY is not set
CONFIG_LANTIQ_WDT=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_MIPS_MACHINE is not set
# CONFIG_MIPS_MT_SMP is not set
-CONFIG_MIPS_NO_APPENDED_DTB=y
-# CONFIG_MIPS_RAW_APPENDED_DTB is not set
+# CONFIG_MIPS_NO_APPENDED_DTB is not set
+CONFIG_MIPS_RAW_APPENDED_DTB=y
CONFIG_MIPS_SPRAM=y
# CONFIG_MIPS_VPE_LOADER is not set
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_SPI_LANTIQ=y
CONFIG_SPI_MASTER=y
CONFIG_SRCU=y
-# CONFIG_SUNXI_SRAM is not set
CONFIG_SWAP_IO_SPACE=y
CONFIG_SWCONFIG=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
define PatchKernelLzma
cp $(KDIR)/vmlinux$(2) $(KDIR)/vmlinux$(2)-$(1)
$(LINUX_DIR)/scripts/dtc/dtc -O dtb -o $(KDIR)/$(1).dtb ../dts/$(1).dts
- $(STAGING_DIR_HOST)/bin/patch-dtb $(KDIR)/vmlinux$(2)-$(1) $(KDIR)/$(1).dtb
- $(call CompressLzma,$(KDIR)/vmlinux$(2)-$(1),$(KDIR)/vmlinux$(2)-$(1).lzma)
+ cat $(KDIR)/vmlinux$(2)-$(1) $(KDIR)/$(1).dtb > $(KDIR)/vmlinux$(2)-$(1).tmp
+ $(call CompressLzma,$(KDIR)/vmlinux$(2)-$(1).tmp,$(KDIR)/vmlinux$(2)-$(1).lzma)
endef
define MkBrnImage
+++ /dev/null
-From 17348293f7f8103c97c8d2a6b0ef36eae06ec371 Mon Sep 17 00:00:00 2001
-From: John Crispin <blogic@openwrt.org>
-Date: Wed, 13 Mar 2013 09:36:16 +0100
-Subject: [PATCH 02/36] MIPS: lantiq: dtb image hack
-
-Signed-off-by: John Crispin <blogic@openwrt.org>
----
- arch/mips/lantiq/Makefile | 2 --
- arch/mips/lantiq/prom.c | 4 +++-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
---- a/arch/mips/lantiq/prom.c
-+++ b/arch/mips/lantiq/prom.c
-@@ -63,6 +63,8 @@ static void __init prom_init_cmdline(voi
- }
- }
-
-+extern struct boot_param_header __image_dtb;
-+
- void __init plat_mem_setup(void)
- {
- ioport_resource.start = IOPORT_RESOURCE_START;
-@@ -76,7 +78,7 @@ void __init plat_mem_setup(void)
- * Load the builtin devicetree. This causes the chosen node to be
- * parsed resulting in our memory appearing
- */
-- __dt_setup_arch(__dtb_start);
-+ __dt_setup_arch(&__image_dtb);
- }
-
- void __init device_tree_init(void)
+++ /dev/null
-From dba8578e06aedf1e67312ebfc6162e2fadc9448d Mon Sep 17 00:00:00 2001
-From: John Crispin <blogic@openwrt.org>
-Date: Thu, 7 Aug 2014 18:32:12 +0200
-Subject: [PATCH 36/36] owrt: generic dtb image hack
-
-Signed-off-by: John Crispin <blogic@openwrt.org>
----
- arch/mips/kernel/head.S | 3 +++
- 1 file changed, 3 insertions(+)
-
---- a/arch/mips/kernel/head.S
-+++ b/arch/mips/kernel/head.S
-@@ -86,6 +86,9 @@ EXPORT(__image_cmdline)
- .fill 0x400
- #endif /* CONFIG_IMAGE_CMDLINE_HACK */
-
-+ .ascii "OWRTDTB:"
-+ EXPORT(__image_dtb)
-+ .fill 0x4000
- __REF
-
- NESTED(kernel_entry, 16, sp) # kernel entry point
---- a/arch/mips/lantiq/Kconfig
-+++ b/arch/mips/lantiq/Kconfig
-@@ -32,7 +32,6 @@ choice
- config DT_EASY50712
- bool "Easy50712"
- depends on SOC_XWAY
-- select BUILTIN_DTB
- endchoice
-
- config PCI_LANTIQ
--- /dev/null
+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)
--- /dev/null
+From 8cfe01de7d5c974165c1383fcc9e1dad6953341d Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sat, 19 Mar 2016 17:06:00 +0100
+Subject: [PATCH 2/2] MIPS: lantiq: make it possible to build in no device tree
+
+Now it is possible to build in no device tree at all and depend on the
+boot loader providing one or someone concatenating a device tree to the
+end of the image.
+
+This was copied from arch/mips/bmips/Kconfig
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ arch/mips/lantiq/Kconfig | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+--- a/arch/mips/lantiq/Kconfig
++++ b/arch/mips/lantiq/Kconfig
+@@ -27,7 +27,17 @@ config SOC_FALCON
+ endchoice
+
+ choice
+- prompt "Devicetree"
++ prompt "Built-in device tree"
++ help
++ Legacy bootloaders do not pass a DTB pointer to the kernel, so
++ if a "wrapper" is not being used, the kernel will need to include
++ a device tree that matches the target board.
++
++ The builtin DTB will only be used if the firmware does not supply
++ a valid DTB.
++
++config LANTIQ_DT_NONE
++ bool "None"
+
+ config DT_EASY50712
+ bool "Easy50712"