KallistiOS git master
Independent SDK for the Sega Dreamcast
|
SH4 DMA Controller API. More...
#include <sys/cdefs.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | dma_config_t |
DMA transfer configuration. More... | |
Typedefs | |
typedef void(* | dma_callback_t) (void *data) |
DMA callback type. | |
typedef uint32_t | dma_addr_t |
DMA address. | |
Enumerations | |
enum | dma_channel_t { DMA_CHANNEL_0 , DMA_CHANNEL_1 , DMA_CHANNEL_2 , DMA_CHANNEL_3 } |
DMA channel enum. More... | |
enum | dma_request_t { DMA_REQUEST_EXTERNAL_MEM_TO_MEM = 0 , DMA_REQUEST_EXTERNAL_MEM_TO_DEV = 2 , DMA_REQUEST_EXTERNAL_DEV_TO_MEM = 3 , DMA_REQUEST_AUTO_MEM_TO_MEM = 4 , DMA_REQUEST_AUTO_MEM_TO_DEV = 5 , DMA_REQUEST_AUTO_DEV_TO_MEM = 6 , DMA_REQUEST_SCI_TRANSMIT = 8 , DMA_REQUEST_SCI_RECEIVE = 9 , DMA_REQUEST_SCIF_TRANSMIT = 10 , DMA_REQUEST_SCIF_RECEIVE = 11 , DMA_REQUEST_TMU2_MEM_TO_MEM = 12 , DMA_REQUEST_TMU2_MEM_TO_DEV = 13 , DMA_REQUEST_TMU2_DEV_TO_MEM = 14 } |
DMA request. More... | |
enum | dma_unitsize_t { DMA_UNITSIZE_64BIT , DMA_UNITSIZE_8BIT , DMA_UNITSIZE_16BIT , DMA_UNITSIZE_32BIT , DMA_UNITSIZE_32BYTE } |
DMA unit size. More... | |
enum | dma_addrmode_t { DMA_ADDRMODE_FIXED , DMA_ADDRMODE_INCREMENT , DMA_ADDRMODE_DECREMENT } |
DMA address mode. More... | |
enum | dma_transmitmode_t { DMA_TRANSMITMODE_CYCLE_STEAL , DMA_TRANSMITMODE_BURST } |
DMA transmit mode. More... | |
Functions | |
dma_addr_t | hw_to_dma_addr (uintptr_t hw_addr) |
Convert a hardware address to a DMA address. | |
dma_addr_t | dma_map_src (const void *ptr, size_t len) |
Prepare a source memory buffer for a DMA transfer. | |
dma_addr_t | dma_map_dst (void *ptr, size_t len) |
Prepare a destination memory buffer for a DMA transfer. | |
int | dma_transfer (const dma_config_t *cfg, dma_addr_t dst, dma_addr_t src, size_t len, void *cb_data) |
Program a DMA transfer. | |
void | dma_wait_complete (dma_channel_t channel) |
Wait for a DMA transfer to complete. | |
size_t | dma_transfer_get_remaining (dma_channel_t channel) |
Get the remaining size of a DMA transfer. | |
SH4 DMA Controller API.
This header provies an API to use the DMA controller of the SH4.