diff options
author | Wolfgang Denk <wd@denx.de> | 2010-10-05 14:37:25 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-10-05 14:37:25 +0200 |
commit | db682a0b59b2e97b24275214f1837197a73fdb03 (patch) | |
tree | 6e5f5c445023a71f78c8f166358339c3b72085f4 /post/board/lwmon5/dsp.c | |
parent | bbf2abc0f5a5be0b8081ae8587fa90b376160444 (diff) | |
parent | 709d9481e99f9f42625a48d0517a8877382995a3 (diff) | |
download | u-boot-imx-db682a0b59b2e97b24275214f1837197a73fdb03.zip u-boot-imx-db682a0b59b2e97b24275214f1837197a73fdb03.tar.gz u-boot-imx-db682a0b59b2e97b24275214f1837197a73fdb03.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Diffstat (limited to 'post/board/lwmon5/dsp.c')
-rw-r--r-- | post/board/lwmon5/dsp.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/post/board/lwmon5/dsp.c b/post/board/lwmon5/dsp.c index 0e6d908..913cd97 100644 --- a/post/board/lwmon5/dsp.c +++ b/post/board/lwmon5/dsp.c @@ -33,20 +33,37 @@ DECLARE_GLOBAL_DATA_PTR; -#define DSP_STATUS_REG 0xC4000008 +#define DSP_STATUS_REG 0xC4000008 +#define FPGA_STATUS_REG 0xC400000C int dsp_post_test(int flags) { + uint old_value; uint read_value; int ret; + /* momorize fpga status */ + old_value = in_be32((void *)FPGA_STATUS_REG); + /* enable outputs */ + out_be32((void *)FPGA_STATUS_REG, 0x30); + + /* generate sync signal */ + out_be32((void *)DSP_STATUS_REG, 0x300); + udelay(5); + out_be32((void *)DSP_STATUS_REG, 0); + udelay(500); + + /* read status */ ret = 0; read_value = in_be32((void *)DSP_STATUS_REG) & 0x3; - if (read_value != 0x3) { + if (read_value != 0x03) { post_log("\nDSP status read %08X\n", read_value); ret = 1; } + /* restore fpga status */ + out_be32((void *)FPGA_STATUS_REG, old_value); + return ret; } |