Subversion Repositories Kolibri OS

Rev

Rev 8327 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #ifndef _PXA255_DMA_H_
  2. #define _PXA255_DMA_H_
  3.  
  4. #include "mem.h"
  5. #include "CPU.h"
  6. #include "pxa255_IC.h"
  7.  
  8. /*
  9.         PXA255 OS DMA controller
  10.  
  11. */
  12.  
  13. #define PXA255_DMA_BASE         0x40000000UL
  14. #define PXA255_DMA_SIZE         0x00001000UL
  15.  
  16. typedef struct{
  17.        
  18.         UInt32 DAR;     //descriptor address register
  19.         UInt32 SAR;     //source address register
  20.         UInt32 TAR;     //target address register
  21.         UInt32 CR;      //command register
  22.         UInt32 CSR;     //control and status register
  23.        
  24. }Pxa255dmaChannel;
  25.  
  26. typedef struct{
  27.  
  28.         Pxa255ic* ic;
  29.         ArmMem* mem;
  30.        
  31.         UInt16 DINT;
  32.         Pxa255dmaChannel channels[16];
  33.         UInt8 CMR[40];                  //channel map registers [  we store lower 8 bits only :-)  ]
  34.        
  35. }Pxa255dma;
  36.  
  37.  
  38.  
  39. Boolean pxa255dmaInit(Pxa255dma* gpio, ArmMem* physMem, Pxa255ic* ic);
  40.  
  41. #endif
  42.  
  43.