/*
|
* 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_ */
|