summaryrefslogtreecommitdiff
path: root/post
diff options
context:
space:
mode:
Diffstat (limited to 'post')
-rw-r--r--post/Makefile2
-rw-r--r--post/codec.c48
-rw-r--r--post/tests.c13
3 files changed, 62 insertions, 1 deletions
diff --git a/post/Makefile b/post/Makefile
index ec49156..4ee429d 100644
--- a/post/Makefile
+++ b/post/Makefile
@@ -27,7 +27,7 @@ SUBDIRS = cpu
LIB = libpost.a
AOBJS = cache_8xx.o
-COBJS = cache.o cpu.o dsp.o ether.o
+COBJS = cache.o codec.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
diff --git a/post/codec.c b/post/codec.c
new file mode 100644
index 0000000..e881752
--- /dev/null
+++ b/post/codec.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>
+
+/*
+ * CODEC test
+ *
+ * This test verifies the connection and performs a memory test
+ * on any connected codec(s). The meat of the work is done
+ * in the board specific function.
+ */
+
+#ifdef CONFIG_POST
+
+#include <post.h>
+
+#if CONFIG_POST & CFG_POST_CODEC
+
+extern int board_post_codec(int flags);
+
+int codec_post_test (int flags)
+{
+ return board_post_codec(flags);
+}
+
+#endif /* CONFIG_POST & CFG_POST_CODEC */
+#endif /* CONFIG_POST */
diff --git a/post/tests.c b/post/tests.c
index bce5330..3bccd1a 100644
--- a/post/tests.c
+++ b/post/tests.c
@@ -44,6 +44,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 codec_post_test (int flags);
extern int sysmon_init_f (void);
@@ -209,6 +210,18 @@ struct post_test post_list[] =
CFG_POST_DSP
},
#endif
+#if CONFIG_POST & CFG_POST_DSP
+ {
+ "CODEC test",
+ "codec",
+ "This test checks any connected codec(s).",
+ POST_RAM | POST_MANUAL,
+ &codec_post_test,
+ NULL,
+ NULL,
+ CFG_POST_CODEC
+ },
+#endif
};
unsigned int post_list_size = sizeof (post_list) / sizeof (struct post_test);