summaryrefslogtreecommitdiffstats
path: root/private/ntos/fw/ppc/dmaregs.h
blob: c78e63cfcb455e2da98c073b005db4ae99cbda68 (plain) (blame)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
/*++

Copyright (c) 1990  Microsoft Corporation

Module Name:

    dmaregs.h

Abstract:

    This module defines the offsets of the MCTADR registers to allow
    access to them from assembly code.

    Register names correspond to the ones in the structure DMA_REGISTERS
    declared in jazzdma.h

Author:

    Lluis Abello 6-May-91

Revision History:

    Lluis Abello 1-Apr-93   Added DUO registers

--*/
#ifndef _DMAREGS
#define _DMAREGS

#ifndef DUO
//
// DMA REGISTER OFFSETS
//
#define DmaConfiguration          0x000
#define DmaRevisionLevel          0x008
#define DmaInvalidAddress         0x010
#define DmaTranslationBase        0x018
#define DmaTranslationLimit       0x020
#define DmaTranslationInvalidate  0x028
#define DmaCacheMaintenance       0x030
#define DmaRemoteFailedAddress    0x038
#define DmaMemoryFailedAddress    0x040
#define DmaPhysicalTag            0x048
#define DmaLogicalTag             0x050
#define DmaByteMask               0x058
#define DmaBufferWindowLow        0x060
#define DmaBufferWindowHigh       0x068
#define DmaRemoteSpeed0           0x070
#define DmaRemoteSpeed1           0x078
#define DmaRemoteSpeed2           0x080
#define DmaRemoteSpeed3           0x088
#define DmaRemoteSpeed4           0x090
#define DmaRemoteSpeed5           0x098
#define DmaRemoteSpeed6           0x0a0
#define DmaRemoteSpeed7           0x0a8
#define DmaRemoteSpeed8           0x0b0
#define DmaRemoteSpeed9           0x0b8
#define DmaRemoteSpeed10          0x0c0
#define DmaRemoteSpeed11          0x0c8
#define DmaRemoteSpeed12          0x0d0
#define DmaRemoteSpeed13          0x0d8
#define DmaRemoteSpeed14          0x0e0
#define DmaRemoteSpeed15          0x0e8
#define DmaParityDiagnosticLow    0x0f0
#define DmaParityDiagnosticHigh   0x0f8
#define DmaChannel0Mode           0x100
#define DmaChannel0Enable         0x108
#define DmaChannel0ByteCount      0x110
#define DmaChannel0Address        0x118
#define DmaChannel1Mode           0x120
#define DmaChannel1Enable         0x128
#define DmaChannel1ByteCount      0x130
#define DmaChannel1Address        0x138
#define DmaChannel2Mode           0x140
#define DmaChannel2Enable         0x148
#define DmaChannel2ByteCount      0x150
#define DmaChannel2Address        0x158
#define DmaChannel3Mode           0x160
#define DmaChannel3Enable         0x168
#define DmaChannel3ByteCount      0x170
#define DmaChannel3Address        0x178
#define DmaChannel4Mode           0x180
#define DmaChannel4Enable         0x188
#define DmaChannel4ByteCount      0x190
#define DmaChannel4Address        0x198
#define DmaChannel5Mode           0x1a0
#define DmaChannel5Enable         0x1a8
#define DmaChannel5ByteCount      0x1b0
#define DmaChannel5Address        0x1b8
#define DmaChannel6Mode           0x1c0
#define DmaChannel6Enable         0x1c8
#define DmaChannel6ByteCount      0x1d0
#define DmaChannel6Address        0x1d8
#define DmaChannel7Mode           0x1e0
#define DmaChannel7Enable         0x1e8
#define DmaChannel7ByteCount      0x1f0
#define DmaChannel7Address        0x1f8
#define DmaInterruptSource        0x200
#define DmaErrortype              0x208
#define DmaRefreshRate            0x210
#define DmaRefreshCounter         0x218
#define DmaSystemSecurity         0x220
#define DmaInterruptInterval      0x228
#define DmaIntervalTimer          0x230
#define DmaInterruptAcknowledge   0x238

#else
//
// MP_DMA register offsets for DUO.
//
#define DmaConfiguration                  0x000
#define DmaRevisionLevel                  0x008
#define DmaRemoteFailedAddress            0x010
#define DmaMemoryFailedAddress            0x018
#define DmaInvalidAddress                 0x020
#define DmaTranslationBase                0x028
#define DmaTranslationLimit               0x030
#define DmaTranslationInvalidate          0x038
#define DmaChannelInterruptAcknowledge    0x040
#define DmaLocalInterruptAcknowledge      0x048
#define DmaEisaInterruptAcknowledge       0x050
#define DmaTimerInterruptAcknowledge      0x058
#define DmaIpInterruptAcknowledge         0x060
#define DmaWhoAmI                         0x070
#define DmaNMISource                      0x078
#define DmaRemoteSpeed0                   0x080
#define DmaRemoteSpeed1                   0x088
#define DmaRemoteSpeed2                   0x090
#define DmaRemoteSpeed3                   0x098
#define DmaRemoteSpeed4                   0x0A0
#define DmaRemoteSpeed5                   0x0A8
#define DmaRemoteSpeed6                   0x0B0
#define DmaRemoteSpeed7                   0x0B8
#define DmaRemoteSpeed8                   0x0C0
#define DmaRemoteSpeed9                   0x0C8
#define DmaRemoteSpeed10                  0x0D0
#define DmaRemoteSpeed11                  0x0D8
#define DmaRemoteSpeed12                  0x0E0
#define DmaRemoteSpeed13                  0x0E8
#define DmaRemoteSpeed14                  0x0F0
#define DmaInterruptEnable                0x0F8
#define DmaChannel0Mode                   0x100
#define DmaChannel0Enable                 0x108
#define DmaChannel0ByteCount              0x110
#define DmaChannel0Address                0x118
#define DmaChannel1Mode                   0x120
#define DmaChannel1Enable                 0x128
#define DmaChannel1ByteCount              0x130
#define DmaChannel1Address                0x138
#define DmaChannel2Mode                   0x140
#define DmaChannel2Enable                 0x148
#define DmaChannel2ByteCount              0x150
#define DmaChannel2Address                0x158
#define DmaChannel3Mode                   0x160
#define DmaChannel3Enable                 0x168
#define DmaChannel3ByteCount              0x170
#define DmaChannel3Address                0x178
#define DmaArbitrationControl             0x180
#define DmaErrortype                      0x188
#define DmaRefreshRate                    0x190
#define DmaRefreshCounter                 0x198
#define DmaSystemSecurity                 0x1A0
#define DmaInterruptInterval              0x1A8
#define DmaIntervalTimer                  0x1B0
#define DmaIpi                            0x1B8
#define DmaInterruptDiagnostic            0x1C0
#define DmaEccDiagnostic                  0x1C8
#define DmaMemoryConfig0                  0x1D0
#define DmaMemoryConfig1                  0x1D8
#define DmaMemoryConfig2                  0x1E0
#define DmaMemoryConfig3                  0x1E8
#define IoCacheBufferBase                 0x200
#define DmaIoCachePhysicalTag0            0x400
#define DmaIoCachePhysicalTag1            0x408
#define DmaIoCachePhysicalTag2            0x410
#define DmaIoCachePhysicalTag3            0x418
#define DmaIoCachePhysicalTag4            0x420
#define DmaIoCachePhysicalTag5            0x428
#define DmaIoCachePhysicalTag6            0x430
#define DmaIoCachePhysicalTag7            0x438
#define DmaIoCacheLogicalTag0             0x440
#define DmaIoCacheLogicalTag1             0x448
#define DmaIoCacheLogicalTag2             0x450
#define DmaIoCacheLogicalTag3             0x458
#define DmaIoCacheLogicalTag4             0x460
#define DmaIoCacheLogicalTag5             0x468
#define DmaIoCacheLogicalTag6             0x470
#define DmaIoCacheLogicalTag7             0x478
#define DmaIoCacheLowByteMask0            0x480
#define DmaIoCacheLowByteMask1            0x488
#define DmaIoCacheLowByteMask2            0x490
#define DmaIoCacheLowByteMask3            0x498
#define DmaIoCacheLowByteMask4            0x4A0
#define DmaIoCacheLowByteMask5            0x4A8
#define DmaIoCacheLowByteMask6            0x4B0
#define DmaIoCacheLowByteMask7            0x4B8
#define DmaIoCacheHighByteMask0           0x4C0
#define DmaIoCacheHighByteMask1           0x4C8
#define DmaIoCacheHighByteMask2           0x4D0
#define DmaIoCacheHighByteMask3           0x4D8
#define DmaIoCacheHighByteMask4           0x4E0
#define DmaIoCacheHighByteMask5           0x4E8
#define DmaIoCacheHighByteMask6           0x4F0
#define DmaIoCacheHighByteMask7           0x4F8

#endif  // DUO

#endif  //_DMAREGS