/* * dma.h * * Created on: 2022Äê1ÔÂ7ÈÕ * Author: graydon */ #ifndef DRV_DMA_H_ #define DRV_DMA_H_ #ifdef __cplusplus extern "C" { #endif #include "typedefs.h" struct DMARegs; typedef struct DMARegs DMARegsDef; #define DMA0 (volatile DMARegsDef*)0x31022000 //SPORT0_A_DMA #define DMA1 (volatile DMARegsDef*)0x31022080 //SPORT0_B_DMA #define DMA2 (volatile DMARegsDef*)0x31022100 //SPORT1_A_DMA #define DMA3 (volatile DMARegsDef*)0x31022180 //SPORT1_B_DMA #define DMA4 (volatile DMARegsDef*)0x31022200 //SPORT2_A_DMA #define DMA5 (volatile DMARegsDef*)0x31022280 //SPORT2_B_DMA #define DMA6 (volatile DMARegsDef*)0x31022300 //SPORT3_A_DMA #define DMA7 (volatile DMARegsDef*)0x31022380 //SPORT3_B_DMA #define DMA8 (volatile DMARegsDef*)0x310A7000 //MDMA0_SRC #define DMA9 (volatile DMARegsDef*)0x310A7080 //MDMA0_DST #define DMA10 (volatile DMARegsDef*)0x31023000 //SPORT4_A_DMA #define DMA11 (volatile DMARegsDef*)0x31023080 //SPORT4_B_DMA #define DMA12 (volatile DMARegsDef*)0x31023100 //SPORT5_A_DMA #define DMA13 (volatile DMARegsDef*)0x31023180 //SPORT5_B_DMA #define DMA14 (volatile DMARegsDef*)0x31023200 //SPORT6_A_DMA #define DMA15 (volatile DMARegsDef*)0x31023280 //SPORT6_B_DMA #define DMA16 (volatile DMARegsDef*)0x31023300 //SPORT7_A_DMA #define DMA17 (volatile DMARegsDef*)0x31023380 //SPORT7_B_DMA #define DMA18 (volatile DMARegsDef*)0x310A7100 #define DMA19 (volatile DMARegsDef*)0x310A7180 #define DMA20 (volatile DMARegsDef*)0x31026080 #define DMA21 (volatile DMARegsDef*)0x31026000 #define DMA22 (volatile DMARegsDef*)0x3102D000 #define DMA23 (volatile DMARegsDef*)0x3102D080 #define DMA24 (volatile DMARegsDef*)0x3102D100 #define DMA25 (volatile DMARegsDef*)0x3102D180 #define DMA26 (volatile DMARegsDef*)0x3102D200 #define DMA27 (volatile DMARegsDef*)0x3102D280 #define DMA30 (volatile DMARegsDef*)0x30FFF000 #define DMA34 (volatile DMARegsDef*)0x31026180 #define DMA35 (volatile DMARegsDef*)0x31026100 #define DMA36 (volatile DMARegsDef*)0x30FFF080 #define DMA37 (volatile DMARegsDef*)0x31026280 #define DMA38 (volatile DMARegsDef*)0x31026200 extern uvoid AudioProcCallBack (uvoid); volatile DMARegsDef* get_dma_regs(uint32_t sportid); void dma_config(volatile DMARegsDef* regs, uint32_t desc_address, uint32_t cnt, ubool rx); void dma_enable(volatile DMARegsDef* regs); void dma_install_interrupt(uint32_t sportid); #ifdef __cplusplus } #endif #endif /* DRV_DMA_H_ */