summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/nds/libnds/include/nds/dma.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/nds/libnds/include/nds/dma.h')
-rw-r--r--c/src/lib/libbsp/arm/nds/libnds/include/nds/dma.h151
1 files changed, 0 insertions, 151 deletions
diff --git a/c/src/lib/libbsp/arm/nds/libnds/include/nds/dma.h b/c/src/lib/libbsp/arm/nds/libnds/include/nds/dma.h
deleted file mode 100644
index e7b7f3ab7c..0000000000
--- a/c/src/lib/libbsp/arm/nds/libnds/include/nds/dma.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/*---------------------------------------------------------------------------------
- Copyright (C) 2005
- Jason Rogers (dovoto)
- Dave Murphy (WinterMute)
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any
- damages arising from the use of this software.
-
- Permission is granted to anyone to use this software for any
- purpose, including commercial applications, and to alter it and
- redistribute it freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you
- must not claim that you wrote the original software. If you use
- this software in a product, an acknowledgment in the product
- documentation would be appreciated but is not required.
-
- 2. Altered source versions must be plainly marked as such, and
- must not be misrepresented as being the original software.
-
- 3. This notice may not be removed or altered from any source
- distribution.
-
----------------------------------------------------------------------------------*/
-
-#ifndef NDS_DMA_INCLUDE
-#define NDS_DMA_INCLUDE
-
-
-#define DMA0_SRC (*(vuint32*)0x040000B0)
-#define DMA0_DEST (*(vuint32*)0x040000B4)
-#define DMA0_CR (*(vuint32*)0x040000B8)
-
-#define DMA1_SRC (*(vuint32*)0x040000BC)
-#define DMA1_DEST (*(vuint32*)0x040000C0)
-#define DMA1_CR (*(vuint32*)0x040000C4)
-
-#define DMA2_SRC (*(vuint32*)0x040000C8)
-#define DMA2_DEST (*(vuint32*)0x040000CC)
-#define DMA2_CR (*(vuint32*)0x040000D0)
-
-#define DMA3_SRC (*(vuint32*)0x040000D4)
-#define DMA3_DEST (*(vuint32*)0x040000D8)
-#define DMA3_CR (*(vuint32*)0x040000DC)
-
-#define DMA_SRC(n) (*(vuint32*)(0x040000B0+(n*12)))
-#define DMA_DEST(n) (*(vuint32*)(0x040000B4+(n*12)))
-#define DMA_CR(n) (*(vuint32*)(0x040000B8+(n*12)))
-
-
-// DMA control register contents
-// The defaults are 16-bit, increment source/dest addresses, no irq
-#define DMA_ENABLE BIT(31)
-#define DMA_BUSY BIT(31)
-#define DMA_IRQ_REQ BIT(30)
-
-#define DMA_START_NOW 0
-#define DMA_START_CARD (5<<27)
-
-#ifdef ARM7
-#define DMA_START_VBL BIT(27)
-#endif
-
-#ifdef ARM9
-#define DMA_START_HBL BIT(28)
-#define DMA_START_VBL BIT(27)
-#define DMA_START_FIFO (7<<27)
-#define DMA_DISP_FIFO (4<<27)
-#endif
-
-#define DMA_16_BIT 0
-#define DMA_32_BIT BIT(26)
-
-
-#define DMA_REPEAT BIT(25)
-
-#define DMA_SRC_INC (0)
-#define DMA_SRC_DEC BIT(23)
-#define DMA_SRC_FIX BIT(24)
-
-#define DMA_DST_INC (0)
-#define DMA_DST_DEC BIT(21)
-#define DMA_DST_FIX BIT(22)
-#define DMA_DST_RESET (3<<21)
-
-#define DMA_COPY_WORDS (DMA_ENABLE | DMA_32_BIT | DMA_START_NOW)
-#define DMA_COPY_HALFWORDS (DMA_ENABLE | DMA_16_BIT | DMA_START_NOW)
-#define DMA_FIFO (DMA_ENABLE | DMA_32_BIT | DMA_DST_FIX | DMA_START_FIFO)
-
-static inline void dmaCopyWords(uint8 channel, const void* src, void* dest, uint32 size) {
- DMA_SRC(channel) = (uint32)src;
- DMA_DEST(channel) = (uint32)dest;
- DMA_CR(channel) = DMA_COPY_WORDS | (size>>2);
- while(DMA_CR(channel) & DMA_BUSY);
-}
-
-static inline void dmaCopyHalfWords(uint8 channel, const void* src, void* dest, uint32 size) {
- DMA_SRC(channel) = (uint32)src;
- DMA_DEST(channel) = (uint32)dest;
- DMA_CR(channel) = DMA_COPY_HALFWORDS | (size>>1);
- while(DMA_CR(channel) & DMA_BUSY);
-}
-
-static inline void dmaCopy(const void * source, void * dest, uint32 size) {
- DMA_SRC(3) = (uint32)source;
- DMA_DEST(3) = (uint32)dest;
- DMA_CR(3) = DMA_COPY_HALFWORDS | (size>>1);
- while(DMA_CR(3) & DMA_BUSY);
-}
-
-static inline void dmaCopyWordsAsynch(uint8 channel, const void* src, void* dest, uint32 size) {
- DMA_SRC(channel) = (uint32)src;
- DMA_DEST(channel) = (uint32)dest;
- DMA_CR(channel) = DMA_COPY_WORDS | (size>>2);
-
-}
-
-static inline void dmaCopyHalfWordsAsynch(uint8 channel, const void* src, void* dest, uint32 size) {
- DMA_SRC(channel) = (uint32)src;
- DMA_DEST(channel) = (uint32)dest;
- DMA_CR(channel) = DMA_COPY_HALFWORDS | (size>>1);
-}
-
-static inline void dmaCopyAsynch(const void * source, void * dest, uint32 size) {
- DMA_SRC(3) = (uint32)source;
- DMA_DEST(3) = (uint32)dest;
- DMA_CR(3) = DMA_COPY_HALFWORDS | (size>>1);
-}
-
-static inline void dmaFillWords( const void* src, void* dest, uint32 size) {
- DMA_SRC(3) = (uint32)src;
- DMA_DEST(3) = (uint32)dest;
- DMA_CR(3) = DMA_SRC_FIX | DMA_COPY_WORDS | (size>>2);
- while(DMA_CR(3) & DMA_BUSY);
-}
-
-static inline void dmaFillHalfWords( const void* src, void* dest, uint32 size) {
- DMA_SRC(3) = (uint32)src;
- DMA_DEST(3) = (uint32)dest;
- DMA_CR(3) = DMA_SRC_FIX | DMA_COPY_HALFWORDS | (size>>1);
- while(DMA_CR(3) & DMA_BUSY);
-}
-
-static inline int dmaBusy(uint8 channel) {
- return (DMA_CR(channel) & DMA_BUSY)>>31;
-}
-
-
-#endif
-