From 4e2531378f03957d7306e940e0bc21de103f40d3 Mon Sep 17 00:00:00 2001
From: Kumar Gala <galak@kernel.crashing.org>
Date: Wed, 11 Jan 2006 13:54:17 -0600
Subject: [PATCH] Allow board code to fixup the flat device tree before booting
 a kernel Patch by Kumar Gala 11 Jan 2006

---
 CHANGELOG          | 4 ++++
 README             | 5 +++++
 common/ft_build.c  | 5 ++++-
 include/ft_build.h | 2 ++
 4 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG b/CHANGELOG
index 2bdaa0cbc0..a2c01fbb38 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Allow board code to fixup the flat device tree before booting a
+  kernel
+  Patch by Kumar Gala 11 Jan 2006
+
 * Added CONFIG_ options for bd_t and env in flat dev tree
 
 	CONFIG_OF_HAS_BD_T will put a copy of the bd_t
diff --git a/README b/README
index 21f5bf049e..3b64fe20a1 100644
--- a/README
+++ b/README
@@ -423,6 +423,11 @@ The following options need to be configured:
 		The resulting flat device tree will have a copy of u-boot's
 		environment variables
 
+		CONFIG_OF_BOARD_SETUP
+
+		Board code has addition modification that it wants to make
+		to the flat device tree before handing it off to the kernel
+
 - Serial Ports:
 		CFG_PL010_SERIAL
 
diff --git a/common/ft_build.c b/common/ft_build.c
index 57194581a1..2cecbcf966 100644
--- a/common/ft_build.c
+++ b/common/ft_build.c
@@ -698,9 +698,12 @@ void ft_setup(void *blob, int size, bd_t * bd)
 	if (p != NULL)
 		*p = cpu_to_be32(clock);
 #endif
-
 #endif				/* __powerpc__ */
 
+#ifdef CONFIG_OF_BOARD_SETUP
+	ft_board_setup(blob, bd);
+#endif
+
 	/*
 	   printf("final OF-tree\n");
 	   ft_dump_blob(blob);
diff --git a/include/ft_build.h b/include/ft_build.h
index 9104b1a555..a276867c5d 100644
--- a/include/ft_build.h
+++ b/include/ft_build.h
@@ -63,4 +63,6 @@ void ft_dump_blob(const void *bphp);
 void ft_merge_blob(struct ft_cxt *cxt, void *blob);
 void *ft_get_prop(void *bphp, const char *propname, int *szp);
 
+void ft_board_setup(void *blob, bd_t *bd);
+
 #endif
-- 
GitLab