diff options
author | Marian Balakowicz <m8@semihalf.com> | 2008-02-21 17:18:01 +0100 |
---|---|---|
committer | Marian Balakowicz <m8@semihalf.com> | 2008-02-21 17:18:01 +0100 |
commit | 20c93959330aba8b5bbdbfde1ef319e99eba235d (patch) | |
tree | ef82297e3aeb904f94584e6d136fac55ec32c317 /lib_blackfin/bf533_string.c | |
parent | 5cf746c303710329f8040d9c62ee354313e3e91f (diff) | |
parent | 928d1d77f8623c120d8763e20e1ca58df9c5c4c6 (diff) |
Merge branch 'master' of /home/git/u-boot
Diffstat (limited to 'lib_blackfin/bf533_string.c')
-rw-r--r-- | lib_blackfin/bf533_string.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/lib_blackfin/bf533_string.c b/lib_blackfin/bf533_string.c index 1553f1b5ac4..9ceeeef80c4 100644 --- a/lib_blackfin/bf533_string.c +++ b/lib_blackfin/bf533_string.c @@ -26,11 +26,11 @@ */ #include <common.h> -#include <asm/setup.h> #include <config.h> #include <asm/blackfin.h> #include <asm/io.h> #include "cache.h" +#include <asm/mach-common/bits/dma.h> char *strcpy(char *dest, const char *src) { @@ -112,6 +112,19 @@ int strncmp(const char *cs, const char *ct, size_t count) return __res1; } +#ifndef pMDMA_D0_IRQ_STATUS +# define pMDMA_D0_IRQ_STATUS pMDMA1_D0_IRQ_STATUS +# define pMDMA_D0_START_ADDR pMDMA1_D0_START_ADDR +# define pMDMA_D0_X_COUNT pMDMA1_D0_X_COUNT +# define pMDMA_D0_X_MODIFY pMDMA1_D0_X_MODIFY +# define pMDMA_D0_CONFIG pMDMA1_D0_CONFIG +# define pMDMA_S0_IRQ_STATUS pMDMA1_S0_IRQ_STATUS +# define pMDMA_S0_START_ADDR pMDMA1_S0_START_ADDR +# define pMDMA_S0_X_COUNT pMDMA1_S0_X_COUNT +# define pMDMA_S0_X_MODIFY pMDMA1_S0_X_MODIFY +# define pMDMA_S0_CONFIG pMDMA1_S0_CONFIG +#endif + static void *dma_memcpy(void *dest, const void *src, size_t count) { *pMDMA_D0_IRQ_STATUS = DMA_DONE | DMA_ERR; @@ -133,7 +146,7 @@ static void *dma_memcpy(void *dest, const void *src, size_t count) /* Enable source DMA */ *pMDMA_S0_CONFIG = (DMAEN); - sync(); + SSYNC(); *pMDMA_D0_CONFIG = (WNR | DMAEN); @@ -164,11 +177,11 @@ void *memcpy(void *dest, const void *src, size_t count) if (dcache_status()) { blackfin_dcache_flush_range(src, src+count); } - /* L1_ISRAM can only be accessed via dma */ - if ((tmp >= (char *)L1_ISRAM) && (tmp < (char *)L1_ISRAM_END)) { + /* L1_INST_SRAM can only be accessed via dma */ + if ((tmp >= (char *)L1_INST_SRAM) && (tmp < (char *)L1_INST_SRAM_END)) { /* L1 is the destination */ dma_memcpy(dest,src,count); - } else if ((s >= (char *)L1_ISRAM) && (s < (char *)L1_ISRAM_END)) { + } else if ((s >= (char *)L1_INST_SRAM) && (s < (char *)L1_INST_SRAM_END)) { /* L1 is the source */ dma_memcpy(dest,src,count); |