mpc5121: add common post_word_load/store code
authorAnatolij Gustschin <agust@denx.de>
Sat, 24 Apr 2010 17:27:10 +0000 (19:27 +0200)
committerWolfgang Denk <wd@denx.de>
Sat, 24 Apr 2010 20:56:39 +0000 (22:56 +0200)
Add common post_word_load/post_word_store routines
for all mpc5121 boards. pdm360ng board POST support
added by subsequent patch needs them.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
arch/powerpc/cpu/mpc512x/Makefile
arch/powerpc/cpu/mpc512x/common.c [new file with mode: 0644]

index 1719c66..9cfdb0f 100644 (file)
@@ -29,6 +29,7 @@ LIB   = $(obj)lib$(CPU).a
 START  = start.o
 COBJS-y        := cpu.o
 COBJS-y        += traps.o
+COBJS-y += common.o
 COBJS-y += cpu_init.o
 COBJS-y += fixed_sdram.o
 COBJS-y += i2c.o
diff --git a/arch/powerpc/cpu/mpc512x/common.c b/arch/powerpc/cpu/mpc512x/common.c
new file mode 100644 (file)
index 0000000..180d323
--- /dev/null
@@ -0,0 +1,25 @@
+#include <common.h>
+#include <asm/io.h>
+
+#if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
+
+#if defined(CONFIG_SYS_POST_WORD_ADDR)
+# define _POST_ADDR    (CONFIG_SYS_POST_WORD_ADDR)
+#else
+#error echo "No POST word address defined"
+#endif
+
+void post_word_store(ulong a)
+{
+       volatile void *save_addr = (volatile void *)(_POST_ADDR);
+
+       out_be32(save_addr, a);
+}
+
+ulong post_word_load(void)
+{
+       volatile void *save_addr = (volatile void *)(_POST_ADDR);
+
+       return in_be32(save_addr);
+}
+#endif  /* CONFIG_POST || CONFIG_LOGBUFFER */