分支自 DSP/ADSP21569/DSP-21569

graydon
2023-09-20 d40b58b3ecbfb79e015f55755127849335e289b7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 * 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_ */