* Patches by Pantelis Antoniou, 30 Mar 2004:
  - add support for the Epson 156x series of graphical displays
    (These displays are serial and not suitable for using a normal
    framebuffer console on them)
  - add infrastructure needed in order to POST any DSPs in a board
diff --git a/post/Makefile b/post/Makefile
index e0ce902..ec49156 100644
--- a/post/Makefile
+++ b/post/Makefile
@@ -27,7 +27,9 @@
 LIB	= libpost.a
 
 AOBJS	= cache_8xx.o
-COBJS	= post.o tests.o cpu.o rtc.o watchdog.o memory.o i2c.o cache.o sysmon.o
-COBJS	+= uart.o ether.o usb.o spr.o
+COBJS	= cache.o cpu.o dsp.o ether.o
+COBJS  += i2c.o memory.o post.o rtc.o
+COBJS  += spr.o sysmon.o tests.o uart.o
+COBJS  += usb.o watchdog.o
 
 include $(TOPDIR)/post/rules.mk
diff --git a/post/dsp.c b/post/dsp.c
new file mode 100644
index 0000000..63531a2
--- /dev/null
+++ b/post/dsp.c
@@ -0,0 +1,48 @@
+/*
+ * (C) Copyright 2004
+ * Pantelis Antoniou, Intracom S.A. , panto@intracom.gr
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+
+/*
+ * DSP test
+ *
+ * This test verifies the connection and performs a memory test
+ * on any connected DSP(s). The meat of the work is done
+ * in the board specific function.
+ */
+
+#ifdef CONFIG_POST
+
+#include <post.h>
+
+#if CONFIG_POST & CFG_POST_DSP
+
+extern int board_post_dsp(int flags);
+
+int dsp_post_test (int flags)
+{
+	return board_post_dsp(flags);
+}
+
+#endif /* CONFIG_POST & CFG_POST_DSP */
+#endif /* CONFIG_POST */
diff --git a/post/tests.c b/post/tests.c
index 02506c0..bce5330 100644
--- a/post/tests.c
+++ b/post/tests.c
@@ -43,6 +43,7 @@
 extern int usb_post_test (int flags);
 extern int spr_post_test (int flags);
 extern int sysmon_post_test (int flags);
+extern int dsp_post_test (int flags);
 
 extern int sysmon_init_f (void);
 
@@ -196,6 +197,18 @@
 	CFG_POST_SYSMON
     },
 #endif
+#if CONFIG_POST & CFG_POST_DSP
+    {
+	"DSP test",
+	"dsp",
+	"This test checks any connected DSP(s).",
+	POST_RAM | POST_MANUAL,
+	&dsp_post_test,
+	NULL,
+	NULL,
+	CFG_POST_DSP
+    },
+#endif
 };
 
 unsigned int post_list_size = sizeof (post_list) / sizeof (struct post_test);