diff --git a/CHANGELOG b/CHANGELOG
index fa6c8843691d2c02477a0e042a7ae19e77c9de2e..a18bb06511db907a079e4da4c4f41c07b7d5c420 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,43 @@
+commit 6923565db12af34fd5e02d354ee65a8c78ac460f
+Author: Detlev Zundel <dzu@denx.de>
+Date:	Fri Apr 20 12:01:47 2007 +0200
+
+    Fix breakage of NC650 board with respect to nand support.
+
+    Signed-off-by: Detlev Zundel <dzu@denx.de>
+
+commit 39f23cd90947639ac278a18ff277ec786b5ac167
+Author: Domen Puncer <domen.puncer@telargo.com>
+Date:	Fri Apr 20 11:13:16 2007 +0200
+
+    [RFC PATCH] icecube/lite5200b: fix OF_TBCLK (timebase-frequency) calculation
+
+    G2 core reference manual says decrementer and time base
+    are decreasing/increasing once every 4 bus clock cycles.
+    Lets fix it, so time in Linux won't run twice as fast
+
+    Signed-off-by: Domen Puncer <domen.puncer@telargo.com>
+    Acked-by: Grant Likely <grant.likely@secretlab.ca>
+
+commit 7651f8bdbba03bb0b4f241e2d2c4cb65b230bd56
+Author: Gerald Van Baren <vanbaren@cideas.com>
+Date:	Thu Apr 19 23:14:39 2007 -0400
+
+    Fix serious pointer bug with bootm and reserve map.
+
+    What was suppose to be a stack variable was declared as a pointer,
+      overwriting random memory.
+    Also moved the libfdt.a requirement into the main Makefile.  That is
+      The U-Boot Way.
+
+commit 37837828d89084879bee2f2b8c7c68d4695940df
+Author: Wolfgang Denk <wd@denx.de>
+Date:	Wed Apr 18 17:49:29 2007 +0200
+
+    Clenaup, update CHANGELOG
+
+    Signed-off-by: Wolfgang Denk <wd@denx.de>
+
 commit fd094c6379e2ef8a4d0ceb5640b24cb0c8d04449
 Author: Wolfgang Denk <wd@denx.de>
 Date:	Wed Apr 18 17:20:58 2007 +0200
@@ -62,6 +102,14 @@ Date:	Wed Apr 18 12:05:59 2007 +0200
 
     Signed-off-by: Stefan Roese <sr@denx.de>
 
+commit 9c00dfb0bf89c8c23e8af5b5bdf49cf66d769f85
+Author: Peter Pearse <peter.pearse@arm.com>
+Date:	Tue Apr 17 13:30:33 2007 +0100
+
+    Move ppearse to ARM board list
+    Add Konstantin Kletschke for scb9328.
+    Signed-off-by: Peter Pearse <peter.pearse@arm.com>
+
 commit d3832e8fe1b214ec62424eac36cfda9fc56d21b3
 Author: Domen Puncer <domen.puncer@telargo.com>
 Date:	Mon Apr 16 14:00:13 2007 +0200
diff --git a/MAINTAINERS b/MAINTAINERS
index 2a43848fc992b70a6a9f06c222be12b77c071a09..c3c73da4f77bb96df63d2cea5d2645b5f42e8838 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -257,15 +257,6 @@ Frank Panno <fpanno@delphintech.com>
 
 	ep8260			MPC8260
 
-Peter Pearse <peter.pearse@arm.com>
-	integratorcp		All current ARM supplied &
-				supported core modules
-				- see http://www.arm.com
-				/products/DevTools
-				/Hardware_Platforms.html
-	versatile		ARM926EJ-S
-	versatile		ARM926EJ-S
-
 Denis Peter <d.peter@mpl.ch>
 
 	MIP405			PPC4xx
@@ -444,6 +435,9 @@ Gary Jennejohn <gj@denx.de>
 	smdk2400		ARM920T
 	trab			ARM920T
 
+Konstantin Kletschke <kletschke@synertronixx.de>
+	scb9328			ARM920T
+
 Nishant Kamat <nskamat@ti.com>
 
 	omap1610h2		ARM926EJS
@@ -461,6 +455,15 @@ Rolf Offermanns <rof@sysgo.de>
 
 	shannon			SA1100
 
+Peter Pearse <peter.pearse@arm.com>
+	integratorcp		All current ARM supplied &
+				supported core modules
+				-see http://www.arm.com
+				/products/DevTools
+				/Hardware_Platforms.html
+	versatile		ARM926EJ-S
+	versatile		ARM926EJ-S
+
 Dave Peverley <dpeverley@mpc-data.co.uk>
 
 	omap730p2		ARM926EJS
diff --git a/Makefile b/Makefile
index 15dec1749ce2aa18298df1a7ed63dfbf275e360a..42a65a0ec708141ba25f27e71da05f2b4addfcfd 100644
--- a/Makefile
+++ b/Makefile
@@ -222,6 +222,7 @@ LIBS += $(shell if [ -d post/cpu/$(CPU) ]; then echo \
 LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
 	"post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
 LIBS += common/libcommon.a
+LIBS += libfdt/libfdt.a
 
 LIBS := $(addprefix $(obj),$(LIBS))
 .PHONY : $(LIBS)
diff --git a/board/nc650/config.mk b/board/nc650/config.mk
index b5c9df2898fbcf7f58abf79a9748447054aa71c1..9d9b892600aeb41908928616640e88af06474bec 100644
--- a/board/nc650/config.mk
+++ b/board/nc650/config.mk
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2006 Detlev Zundel, dzu@denx.de
+# (C) Copyright 2006, 2007 Detlev Zundel, dzu@denx.de
 # (C) Copyright 2004
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
diff --git a/board/nc650/nc650.c b/board/nc650/nc650.c
index 8a6b5b00a9cbf9b59e61a51299de540d0b86ab75..707e4b97d1713099d258cc732dc22c4beeac0560 100644
--- a/board/nc650/nc650.c
+++ b/board/nc650/nc650.c
@@ -177,16 +177,14 @@ long int initdram (int board_type)
 	 *
 	 * try 8 column mode
 	 */
-	size8 = dram_size (CFG_MAMR_8COL, (ulong *) SDRAM_BASE3_PRELIM,
-					   SDRAM_MAX_SIZE);
+	size8 = dram_size (CFG_MAMR_8COL, SDRAM_BASE3_PRELIM, SDRAM_MAX_SIZE);
 
 	udelay (1000);
 
 	/*
 	 * try 9 column mode
 	 */
-	size9 = dram_size (CFG_MAMR_9COL, (ulong *) SDRAM_BASE3_PRELIM,
-					  SDRAM_MAX_SIZE);
+	size9 = dram_size (CFG_MAMR_9COL, SDRAM_BASE3_PRELIM, SDRAM_MAX_SIZE);
 
 	udelay (1000);
 
diff --git a/common/fdt_support.c b/common/fdt_support.c
index 91b729f37a0c77eff313eff8158926f88dfa61d4..69099c4275ccb925cce7b7c69afc5ab4f76cfe6f 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -56,7 +56,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
 	}
 
 	if (initrd_start && initrd_end) {
-		struct fdt_reserve_entry *re;
+		struct fdt_reserve_entry re;
 		int  used;
 		int  total;
 		int  j;
@@ -77,7 +77,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
 		 */
 		for (j = 0; j < used; j++) {
 			err = fdt_get_reservemap(fdt, j, &re);
-			if (re->address == initrd_start) {
+			if (re.address == initrd_start) {
 				break;
 			}
 		}
diff --git a/include/configs/IceCube.h b/include/configs/IceCube.h
index 0d3825413eac04421ab77264ca1552543266f52d..598811240a7ffe4f7359243e261d30f369fdc839 100644
--- a/include/configs/IceCube.h
+++ b/include/configs/IceCube.h
@@ -182,7 +182,7 @@
 
 #define OF_CPU			"PowerPC,5200@0"
 #define OF_SOC			"soc5200@f0000000"
-#define OF_TBCLK		(bd->bi_busfreq / 8)
+#define OF_TBCLK		(bd->bi_busfreq / 4)
 #define OF_STDOUT_PATH		"/soc5200@f0000000/serial@2000"
 
 /*
diff --git a/include/configs/NC650.h b/include/configs/NC650.h
index 8da29c4afc01659c54fc730f976c76114aed3142..a12c8da13eccfde105145355259467446aabf199 100644
--- a/include/configs/NC650.h
+++ b/include/configs/NC650.h
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2006 Detlev Zundel, dzu@denx.de
+ * (C) Copyright 2006, 2007 Detlev Zundel, dzu@denx.de
  * (C) Copyright 2005
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
@@ -237,18 +237,8 @@
 /*
  * NAND flash support
  */
-#define CFG_NAND_LEGACY
-
 #define CFG_MAX_NAND_DEVICE	1
-#define NAND_ChipID_UNKNOWN	0x00
-#define SECTORSIZE		512
-#define NAND_MAX_FLOORS		1
 #define NAND_MAX_CHIPS		1
-#define ADDR_PAGE		2
-#define ADDR_COLUMN_PAGE	3
-#define ADDR_COLUMN		1
-#define NAND_NO_RB
-
 
 /*-----------------------------------------------------------------------
  * SYPCR - System Protection Control					11-9
diff --git a/lib_ppc/extable.c b/lib_ppc/extable.c
index fe856ffbb527a4e5dd62d1925d39f0fe14fc8ada..b14d661bbea885ff1d24925aeb3686fbc84a451c 100644
--- a/lib_ppc/extable.c
+++ b/lib_ppc/extable.c
@@ -57,25 +57,25 @@ search_one_table(const struct exception_table_entry *first,
 		long diff;
 
 		mid = (last - first) / 2 + first;
-		if (mid > CFG_MONITOR_BASE) {
-		/* exception occurs in FLASH, before u-boot relocation.
-		 * No relocation offset is needed.
-		 */
+		if ((ulong) mid > CFG_MONITOR_BASE) {
+			/* exception occurs in FLASH, before u-boot relocation.
+			 * No relocation offset is needed.
+			 */
 			diff = mid->insn - value;
 			if (diff == 0)
 				return mid->fixup;
 		} else {
-		/* exception occurs in RAM, after u-boot relocation.
-		 * A relocation offset should be added.
-		 */
+			/* exception occurs in RAM, after u-boot relocation.
+			 * A relocation offset should be added.
+			 */
 			diff = (mid->insn + gd->reloc_off) - value;
 			if (diff == 0)
 				return (mid->fixup + gd->reloc_off);
 		}
 		if (diff < 0)
-			first = mid+1;
+			first = mid + 1;
 		else
-			last = mid-1;
+			last = mid - 1;
 	}
 	return 0;
 }