diff --git a/arch/arm/include/asm/arch-at91/at91_pmc.h b/arch/arm/include/asm/arch-at91/at91_pmc.h
index 2f9ad96003c0ff1e473f98fbfa12eab5cf88e7bd..fb8bb17c159e2cdf1d20d90d0c3334fe6a924ec3 100644
--- a/arch/arm/include/asm/arch-at91/at91_pmc.h
+++ b/arch/arm/include/asm/arch-at91/at91_pmc.h
@@ -91,10 +91,18 @@ typedef struct at91_pmc {
 #define AT91_PMC_MCKR_PRES_64		0x00000018
 #define AT91_PMC_MCKR_PRES_MASK		0x0000001C
 
+#ifdef CONFIG_AT91RM9200
+#define AT91_PMC_MCKR_MDIV_1		0x00000000
+#define AT91_PMC_MCKR_MDIV_2		0x00000100
+#define AT91_PMC_MCKR_MDIV_3		0x00000200
+#define AT91_PMC_MCKR_MDIV_4		0x00000300
+#define AT91_PMC_MCKR_MDIV_MASK		0x00000300
+#else
 #define AT91_PMC_MCKR_MDIV_1		0x00000000
 #define AT91_PMC_MCKR_MDIV_2		0x00000100
 #define AT91_PMC_MCKR_MDIV_4		0x00000200
 #define AT91_PMC_MCKR_MDIV_MASK		0x00000300
+#endif
 
 #define AT91_PMC_MCKR_PLLADIV_1		0x00001000
 #define AT91_PMC_MCKR_PLLADIV_2		0x00002000
diff --git a/board/emk/top9000/Makefile b/board/emk/top9000/Makefile
index 9b280482a9e2c35c56c26f6bf0adbc3bfaff8c83..3ac6f14f843b17ad3f3d38714b905d20364b125d 100644
--- a/board/emk/top9000/Makefile
+++ b/board/emk/top9000/Makefile
@@ -26,9 +26,9 @@
 
 include $(TOPDIR)/config.mk
 
-LIB	= $(obj)lib$(BOARD).a
+LIB	= $(obj)lib$(BOARD).o
 
-COBJS-y	+= top9000.o
+COBJS-y	+= $(BOARD).o
 COBJS-$(CONFIG_ATMEL_SPI)	+= spi.o
 
 SRCS	:= $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
@@ -36,7 +36,7 @@ OBJS	:= $(addprefix $(obj),$(COBJS-y))
 SOBJS	:= $(addprefix $(obj),$(SOBJS))
 
 $(LIB):	$(obj).depend $(OBJS) $(SOBJS)
-	$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+	$(call cmd_link_o_target, $(OBJS) $(SOBJS))
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/emk/top9000/top9000.c b/board/emk/top9000/top9000.c
index b0fe2d68a83358f37d957dfb0dd6280b1808e341..73dd7062070b25ba03d9e7cb56474a309ed7df2c 100644
--- a/board/emk/top9000/top9000.c
+++ b/board/emk/top9000/top9000.c
@@ -120,7 +120,7 @@ int board_mmc_getcd(u8 *cd, struct mmc *mmc)
 
 int board_early_init_f(void)
 {
-	at91_shdwn_t *shdwn = (at91_shdwn_t *)AT91_SHDWN_BASE;
+	struct at91_shdwn *shdwn = (struct at91_shdwn *)AT91_SHDWN_BASE;
 
 	/*
 	 * make sure the board can be powered on by
diff --git a/include/configs/top9000.h b/include/configs/top9000.h
index 5db3d1ba354b1d3d8292456beb182a4883adfcf5..5f0160dcb6ebd43f27b70e24375ed5ac150a0e04 100644
--- a/include/configs/top9000.h
+++ b/include/configs/top9000.h
@@ -40,9 +40,9 @@
 
 /*
  * Warning: changing CONFIG_SYS_TEXT_BASE requires
- * adapting the initial boot program
+ * adapting the initial boot program.
  */
-#define CONFIG_SYS_TEXT_BASE		0x21f00000	/* 31 MB into RAM */
+#define CONFIG_SYS_TEXT_BASE		0x20000000	/* start of SDRAM */
 
 /* Command line configuration */
 #include <config_cmd_default.h>