]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
libfdt: Add option to disable arch_fixup_fdt() calls
authorMichal Simek <michal.simek@xilinx.com>
Thu, 9 Jun 2016 14:00:30 +0000 (16:00 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 15 Jul 2016 07:04:58 +0000 (09:04 +0200)
Disable arch_fixup_fdt() calls for cases where U-Boot shouldn't update
memory setup in DTB file.
One example of usage of this option is to boot OS with different memory
setup than U-Boot use.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Kconfig
arch/arm/lib/bootm-fdt.c
common/image-fdt.c

diff --git a/Kconfig b/Kconfig
index 3ceff250321e2d3c50575939f100317369247d49..f25dd7b717478f4417d6b2aca45d0a5967102cef 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -319,6 +319,14 @@ config SYS_CLK_FREQ
        help
          TODO: Move CONFIG_SYS_CLK_FREQ for all the architecture
 
+config DISABLE_ARCH_FIXUP_FDT
+       bool "Disable arch_fixup_fdt() call"
+       depends on ARM
+       help
+         Disable FDT memory map syncup before OS boot. This feature can be
+         used for booting OS with different memory setup where the part of
+         the memory location should be used for different purpose.
+
 endmenu                # Boot images
 
 source "common/Kconfig"
index 76b75d8e4643ee9a018c216c15301de2ae15f3d4..6e87b59ad4c6bdea1a46617cdfe98647e64c7b02 100644 (file)
@@ -24,6 +24,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifndef CONFIG_DISABLE_ARCH_FIXUP_FDT
 int arch_fixup_fdt(void *blob)
 {
        bd_t *bd = gd->bd;
@@ -53,3 +54,4 @@ int arch_fixup_fdt(void *blob)
 
        return 0;
 }
+#endif
index 6cac7dbb7f8b2ff0fe5114b9d65ba655e3bf2fc3..9e05becd464a576e8ee0006e6b7c5ab6f1394566 100644 (file)
@@ -460,6 +460,9 @@ __weak int ft_verify_fdt(void *fdt)
 
 __weak int arch_fixup_fdt(void *blob)
 {
+#ifdef CONFIG_DISABLE_ARCH_FIXUP_FDT
+       printf("## Disable arch_fixup_fdt()\n");
+#endif
        return 0;
 }