diff --git a/board/amcc/acadia/config.mk b/board/amcc/acadia/config.mk
index af5a46c2a5d9c86f082d4b8b8ea5b784888e86f2..290415c9d0318f13802efe17223892cfd0c57668 100644
--- a/board/amcc/acadia/config.mk
+++ b/board/amcc/acadia/config.mk
@@ -28,7 +28,7 @@
 sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
 
 ifndef TEXT_BASE
-TEXT_BASE = 0xFFFC0000
+TEXT_BASE = 0xFFF80000
 endif
 
 ifeq ($(debug),1)
diff --git a/include/configs/acadia.h b/include/configs/acadia.h
index 3cd5ad62c02aafab1ae9ea321bcbd5a258125ece..bbf726dc62549ce59dd799c60b061b2160f771c5 100644
--- a/include/configs/acadia.h
+++ b/include/configs/acadia.h
@@ -59,16 +59,16 @@
  * Base addresses -- Note these are effective addresses where the
  * actual resources get mapped (not physical addresses)
  *----------------------------------------------------------------------*/
-#define CFG_MONITOR_LEN		(256 * 1024)/* Reserve 256 kB for Monitor	*/
-#define CFG_MALLOC_LEN		(512 * 1024)/* Reserve 512 kB for malloc()	*/
-
 #define CFG_SDRAM_BASE		0x00000000
 #define CFG_FLASH_BASE		0xfe000000
-#define CFG_MONITOR_BASE	TEXT_BASE
 #define CFG_CPLD_BASE		0x80000000
 #define CFG_NAND_ADDR		0xd0000000
 #define CFG_USB_HOST		0xef603000	/* USB OHCI 1.1 controller	*/
 
+#define CFG_MONITOR_BASE	TEXT_BASE
+#define CFG_MONITOR_LEN		(0xFFFFFFFF - CFG_MONITOR_BASE + 1)
+#define CFG_MALLOC_LEN		(512 * 1024)/* Reserve 512 kB for malloc()	*/
+
 /*-----------------------------------------------------------------------
  * Initial RAM & stack pointer
  *----------------------------------------------------------------------*/
@@ -237,6 +237,7 @@
 #define	CONFIG_PHY_ADDR		0	/* PHY address			*/
 #define CONFIG_NET_MULTI	1
 #define CFG_RX_ETH_BUFFER	16	/* # of rx buffers & descriptors*/
+#define CONFIG_HAS_ETH0		1
 
 #define CONFIG_NETCONSOLE		/* include NetConsole support	*/
 
@@ -246,6 +247,9 @@
 
 #undef	CONFIG_BOOTARGS
 
+#define xstr(s) str(s)
+#define str(s) #s
+
 #define	CONFIG_EXTRA_ENV_SETTINGS					\
 	"netdev=eth0\0"							\
 	"hostname=acadia\0"						\
@@ -268,8 +272,9 @@
 	"ramdisk_addr=fff20000\0"					\
 	"initrd_high=30000000\0"					\
 	"load=tftp 200000 acadia/u-boot.bin\0"				\
-	"update=protect off fffc0000 ffffffff;era fffc0000 ffffffff;"	\
-		"cp.b ${fileaddr} fffc0000 ${filesize};"		\
+	"update=protect off " xstr(CFG_MONITOR_BASE) " FFFFFFFF;"	\
+		"era " xstr(CFG_MONITOR_BASE) " FFFFFFFF;"		\
+		"cp.b ${fileaddr} " xstr(CFG_MONITOR_BASE) " ${filesize};" \
 		"setenv filesize;saveenv\0"				\
 	"upd=run load update\0"						\
 	"nload=tftp 200000 acadia/u-boot-nand.bin\0"			\
@@ -501,4 +506,8 @@
   #define CONFIG_KGDB_SER_INDEX	2	/* which serial port to use */
 #endif
 
+/* pass open firmware flat tree */
+#define CONFIG_OF_LIBFDT	1
+#define CONFIG_OF_BOARD_SETUP	1
+
 #endif	/* __CONFIG_H */