sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
dma_registers.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# (c) 2005 Naomi Peori <naomi@peori.ca>
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
16
17
#ifndef __DMA_REGISTERS_H__
18
#define __DMA_REGISTERS_H__
19
20
#include <
tamtypes.h
>
21
23
#define DMA_REG_CTRL (volatile u32 *)0x1000E000
25
#define DMA_REG_STAT (volatile u32 *)0x1000E010
27
#define DMA_REG_PCR (volatile u32 *)0x1000E020
29
#define DMA_REG_SQWC (volatile u32 *)0x1000E030
31
#define DMA_REG_RBSR (volatile u32 *)0x1000E040
33
#define DMA_REG_RBOR (volatile u32 *)0x1000E050
35
#define DMA_REG_STADR (volatile u32 *)0x1000E060
37
#define DMA_REG_ENABLER (volatile u32 *)0x1000F520
39
#define DMA_REG_ENABLEW (volatile u32 *)0x1000F590
40
42
#define DMAE_DISABLE 0
43
#define DMAE_ENABLE 1
44
46
#define RELE_OFF 0
47
#define RELE_ON 1
48
50
#define MFD_OFF 0
51
#define MFD_RES 1
52
#define MFD_VIF 2
53
#define MFD_GIF 3
54
56
#define STS_UNSPEC 0
57
#define STS_SIF 1
58
#define STS_SPR 2
59
#define STS_IPU 3
60
62
#define STD_OFF 0
63
#define STD_VIF 1
64
#define STD_GIF 2
65
#define STD_SIF 3
66
68
#define RCYC_8 0
69
#define RCYC_16 1
70
#define RCYC_32 2
71
#define RCYC_64 3
72
#define RCYC_128 4
73
#define RCYC_256 5
74
75
#define DMA_SET_CTRL(DMAE,RELE,MFD,STS,STD,RCYC) \
76
(u32)(A & 0x00000001) << 0 | (u32)(RELE & 0x00000001) << 1 | \
77
(u32)(MFD & 0x00000003) << 2 | (u32)(STS & 0x00000003) << 4 | \
78
(u32)(STD & 0x00000003) << 6 | (u32)(RCYC & 0x00000007) << 8
79
80
#define DMA_SET_STAT(CIS,SIS,MEIS,BEIS,CIM,SIM,MEIM) \
81
(u32)((CIS) & 0x000003FF) << 0 | (u32)((SIS) & 0x00000001) << 13 | \
82
(u32)((MEIS) & 0x00000001) << 14 | (u32)((BEIS) & 0x00000001) << 15 | \
83
(u32)((CIM) & 0x000003FF) << 16 | (u32)((SIM) & 0x00000001) << 29 | \
84
(u32)((MEIM) & 0x00000001) << 30
85
86
#define DMA_SET_PCR(CPCOND,CDE,PCE) \
87
(u32)((CPCOND) & 0x000003FF) << 0 | (u32)((CDE) & 0x000003FF) << 16 | \
88
(u32)((PCE) & 0x00000001) << 31
89
90
#define DMA_SET_SQWC(SQWC,TQWC) \
91
(u32)((SQWC) & 0x000000FF) << 0 | (u32)((TQWC) & 0x000000FF) << 16
92
93
#define DMA_SET_RBOR(ADDR) (u32)((ADDR) & 0x00007FFF)
94
95
#define DMA_SET_RBSR(RMSK) (u32)((RMSK) & 0x00007FFF)
96
97
#define DMA_SET_STADR(ADDR) (u32)((ADDR) & 0x00007FFF)
98
99
#define DMA_SET_ENABLEW(A) (u32)((A) & 0x00000001) << 16
100
101
#define DMA_SET_ENABLER(A) (u32)((A) & 0x00000001) << 16
102
104
#define DMA_SET_CHCR(DIR,MODE,ASP,TTE,TIE,STR,TAG) \
105
(u32)((DIR) & 0x00000001) << 0 | (u32)((MODE) & 0x00000003) << 2 | \
106
(u32)((ASP) & 0x00000003) << 4 | (u32)((TTE ) & 0x00000001) << 6 | \
107
(u32)((TIE) & 0x00000001) << 7 | (u32)((STR ) & 0x00000001) << 8 | \
108
(u32)((TAG) & 0x0000FFFF) << 16
109
110
#define DMA_SET_MADR(ADDR,SPR) \
111
(u32)((ADDR) & 0x7FFFFFFF) << 0 | (u32)((SPR) & 0x00000001) << 31
112
113
#define DMA_SET_TADR(ADDR,SPR) \
114
(u32)((ADDR) & 0x7FFFFFFF) << 0 | (u32)((SPR) & 0x00000001) << 31
115
116
#define DMA_SET_ASR0(ADDR,SPR) \
117
(u32)((ADDR) & 0x7FFFFFFF) << 0 | (u32)((SPR) & 0x00000001) << 31
118
119
#define DMA_SET_ASR1(ADDR,SPR) \
120
(u32)((ADDR) & 0x7FFFFFFF) << 0 | (u32)((SPR) & 0x00000001) << 31
121
122
#define DMA_SET_SADR(ADDR) (u32)((ADDR) & 0x00003FFF)
123
124
#define DMA_SET_QWC(QWC) (u32)((QWC) & 0x0000FFFF)
125
126
#endif
/* __DMA_REGISTERS_H__ */
tamtypes.h
core
dma
include
dma_registers.h
Generated by
1.18.0