diff options
author | Dominik Wenger <domonoky@googlemail.com> | 2009-10-22 17:45:02 +0000 |
---|---|---|
committer | Dominik Wenger <domonoky@googlemail.com> | 2009-10-22 17:45:02 +0000 |
commit | 5b4938a8ca8494afa560200b67eb76df4224caea (patch) | |
tree | a3051a2e0abf058d9b8a7b09483d3a3f381b8e50 /firmware/target/arm/s3c2440/dma-target.h | |
parent | 724d1e0f3cfba44d7aa4248d15c3ce35a718a91f (diff) |
Working Bootloader for mini2440.
Flyspray: FS#10701
Author: Bob Cousins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23316 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/s3c2440/dma-target.h')
-rw-r--r-- | firmware/target/arm/s3c2440/dma-target.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/firmware/target/arm/s3c2440/dma-target.h b/firmware/target/arm/s3c2440/dma-target.h new file mode 100644 index 0000000000..1baf7feab5 --- /dev/null +++ b/firmware/target/arm/s3c2440/dma-target.h @@ -0,0 +1,59 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright © 2009 by Bob Cousins + * + * 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 software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _DMA_TARGET_H +#define _DMA_TARGET_H + +#include <stdbool.h> +#include <stdlib.h> + +/* DMA Channel assignments */ +#ifdef GIGABEAT_F +#define DMA_CHAN_ATA 0 +#define DMA_CHAN_AUDIO_OUT 2 +#elif defined(MINI2440) +#define DMA_CHAN_SD 0 +#define DMA_CHAN_AUDIO_OUT 2 +#else +#error Unsupported target +#endif + +struct dma_request +{ + volatile void *source_addr; + volatile void *dest_addr; + unsigned long count; + unsigned long source_control; + unsigned long dest_control; + unsigned long source_map; + unsigned long control; + void (*callback)(void); +}; + +void dma_init(void); +void dma_enable_channel(int channel, struct dma_request *request); + +inline void dma_disable_channel(int channel); + +void dma_retain(void); +void dma_release(void); + +#endif |