libdragon
Functions

DMA Controller. More...

Macros

PI Status Register Bit Definitions
#define PI_STATUS_DMA_BUSY   ( 1 << 0 )
 PI DMA Busy.
 
#define PI_STATUS_IO_BUSY   ( 1 << 1 )
 PI IO Busy.
 
#define PI_STATUS_ERROR   ( 1 << 2 )
 PI Error.
 

Functions

bool io_accessible (uint32_t pi_address)
 Check whether the specified PI address can be accessed doing I/O from CPU. More...
 
volatile int dma_busy (void)
 Return whether the DMA controller is currently busy. More...
 
void dma_read_raw_async (void *ram_address, unsigned long pi_address, unsigned long len)
 Start reading data from a peripheral through PI DMA (low-level) More...
 
void dma_write_raw_async (const void *ram_address, unsigned long pi_address, unsigned long len)
 Start writing data to a peripheral through PI DMA (low-level) More...
 
void dma_read_async (void *ram_pointer, unsigned long pi_address, unsigned long len)
 Start reading data from a peripheral through PI DMA. More...
 
void dma_wait (void)
 Wait until an async DMA or I/O transfer is finished.
 
void dma_read (void *ram_address, unsigned long pi_address, unsigned long len)
 Read data from a peripheral through PI DMA, waiting for completion. More...
 
void dma_write (const void *ram_address, unsigned long rom_address, unsigned long len)
 Write to a peripheral. More...
 
uint32_t io_read (uint32_t pi_address)
 Read a 32 bit integer from a peripheral using the CPU. More...
 
void io_write (uint32_t pi_address, uint32_t data)
 Write a 32 bit integer to a peripheral using the CPU. More...
 

Detailed Description

DMA Controller.