forked from KolibriOS/kolibrios
a03882245a
git-svn-id: svn://kolibrios.org@8327 a494cfbc-eb01-0410-851d-a64ba20cac60
43 lines
763 B
C
Executable File
43 lines
763 B
C
Executable File
#ifndef _PXA255_DMA_H_
|
|
#define _PXA255_DMA_H_
|
|
|
|
#include "mem.h"
|
|
#include "cpu.h"
|
|
#include "pxa255_IC.h"
|
|
|
|
/*
|
|
PXA255 OS DMA controller
|
|
|
|
*/
|
|
|
|
#define PXA255_DMA_BASE 0x40000000UL
|
|
#define PXA255_DMA_SIZE 0x00001000UL
|
|
|
|
typedef struct{
|
|
|
|
UInt32 DAR; //descriptor address register
|
|
UInt32 SAR; //source address register
|
|
UInt32 TAR; //target address register
|
|
UInt32 CR; //command register
|
|
UInt32 CSR; //control and status register
|
|
|
|
}Pxa255dmaChannel;
|
|
|
|
typedef struct{
|
|
|
|
Pxa255ic* ic;
|
|
ArmMem* mem;
|
|
|
|
UInt16 DINT;
|
|
Pxa255dmaChannel channels[16];
|
|
UInt8 CMR[40]; //channel map registers [ we store lower 8 bits only :-) ]
|
|
|
|
}Pxa255dma;
|
|
|
|
|
|
|
|
Boolean pxa255dmaInit(Pxa255dma* gpio, ArmMem* physMem, Pxa255ic* ic);
|
|
|
|
#endif
|
|
|