summaryrefslogtreecommitdiff
path: root/post
diff options
context:
space:
mode:
Diffstat (limited to 'post')
-rw-r--r--post/Makefile6
-rw-r--r--post/dsp.c48
-rw-r--r--post/tests.c13
3 files changed, 65 insertions, 2 deletions
diff --git a/post/Makefile b/post/Makefile
index e0ce902..ec49156 100644
--- a/post/Makefile
+++ b/post/Makefile
@@ -27,7 +27,9 @@ SUBDIRS = cpu
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 spi_post_test (int flags);
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 @@ struct post_test post_list[] =
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);