Index: emcore/trunk/target/ipodnano2g/s5l8701.h |
— | — | @@ -1,313 +1,313 @@ |
2 | | -//
|
3 | | -//
|
4 | | -// Copyright 2010 TheSeven
|
5 | | -//
|
6 | | -//
|
7 | | -// This file is part of emCORE.
|
8 | | -//
|
9 | | -// emCORE is free software: you can redistribute it and/or
|
10 | | -// modify it under the terms of the GNU General Public License as
|
11 | | -// published by the Free Software Foundation, either version 2 of the
|
12 | | -// License, or (at your option) any later version.
|
13 | | -//
|
14 | | -// emCORE is distributed in the hope that it will be useful,
|
15 | | -// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16 | | -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
17 | | -// See the GNU General Public License for more details.
|
18 | | -//
|
19 | | -// You should have received a copy of the GNU General Public License along
|
20 | | -// with emCORE. If not, see <http://www.gnu.org/licenses/>.
|
21 | | -//
|
22 | | -//
|
23 | | -
|
24 | | -
|
25 | | -#ifndef __S5L8701_H__
|
26 | | -#define __S5L8701_H__
|
27 | | -
|
28 | | -#include "global.h"
|
29 | | -
|
30 | | -
|
31 | | -/////CLKCON/////
|
32 | | -#define CLKCON (*((uint32_t volatile*)(0x3C500000)))
|
33 | | -#define PLL0PMS (*((uint32_t volatile*)(0x3C500004)))
|
34 | | -#define PLL1PMS (*((uint32_t volatile*)(0x3C500008)))
|
35 | | -#define PLL2PMS (*((uint32_t volatile*)(0x3C50000C)))
|
36 | | -#define PLL0LCNT (*((uint32_t volatile*)(0x3C500014)))
|
37 | | -#define PLL1LCNT (*((uint32_t volatile*)(0x3C500018)))
|
38 | | -#define PLL2LCNT (*((uint32_t volatile*)(0x3C50001C)))
|
39 | | -#define PLLLOCK (*((uint32_t volatile*)(0x3C500020)))
|
40 | | -#define PLLCON (*((uint32_t volatile*)(0x3C500024)))
|
41 | | -#define PWRMODE (*((uint32_t volatile*)(0x3C50002C)))
|
42 | | -#define SWRCON (*((uint32_t volatile*)(0x3C500030)))
|
43 | | -#define RSTSR (*((uint32_t volatile*)(0x3C500034)))
|
44 | | -#define DSPCLKMD (*((uint32_t volatile*)(0x3C500038)))
|
45 | | -#define CLKCON2 (*((uint32_t volatile*)(0x3C50003C)))
|
46 | | -#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 + ((i) == 1 ? 0x40 : 0x28))))
|
47 | | -
|
48 | | -
|
49 | | -/////ICU/////
|
50 | | -#define SRCPND (*((uint32_t volatile*)(0x39C00000)))
|
51 | | -#define INTMOD (*((uint32_t volatile*)(0x39C00004)))
|
52 | | -#define INTMSK (*((uint32_t volatile*)(0x39C00008)))
|
53 | | -#define INTPRIO (*((uint32_t volatile*)(0x39C0000C)))
|
54 | | -#define INTPND (*((uint32_t volatile*)(0x39C00010)))
|
55 | | -#define INTOFFSET (*((uint32_t volatile*)(0x39C00014)))
|
56 | | -#define EINTPOL (*((uint32_t volatile*)(0x39C00018)))
|
57 | | -#define EINTPEND (*((uint32_t volatile*)(0x39C0001C)))
|
58 | | -#define EINTMSK (*((uint32_t volatile*)(0x39C00020)))
|
59 | | -
|
60 | | -
|
61 | | -/////GPIO/////
|
62 | | -#define PCON0 (*((uint32_t volatile*)(0x3CF00000)))
|
63 | | -#define PDAT0 (*((uint32_t volatile*)(0x3CF00004)))
|
64 | | -#define PCON1 (*((uint32_t volatile*)(0x3CF00010)))
|
65 | | -#define PDAT1 (*((uint32_t volatile*)(0x3CF00014)))
|
66 | | -#define PCON2 (*((uint32_t volatile*)(0x3CF00020)))
|
67 | | -#define PDAT2 (*((uint32_t volatile*)(0x3CF00024)))
|
68 | | -#define PCON3 (*((uint32_t volatile*)(0x3CF00030)))
|
69 | | -#define PDAT3 (*((uint32_t volatile*)(0x3CF00034)))
|
70 | | -#define PCON4 (*((uint32_t volatile*)(0x3CF00040)))
|
71 | | -#define PDAT4 (*((uint32_t volatile*)(0x3CF00044)))
|
72 | | -#define PCON5 (*((uint32_t volatile*)(0x3CF00050)))
|
73 | | -#define PDAT5 (*((uint32_t volatile*)(0x3CF00054)))
|
74 | | -#define PUNK5 (*((uint32_t volatile*)(0x3CF0005C)))
|
75 | | -#define PCON6 (*((uint32_t volatile*)(0x3CF00060)))
|
76 | | -#define PDAT6 (*((uint32_t volatile*)(0x3CF00064)))
|
77 | | -#define PCON7 (*((uint32_t volatile*)(0x3CF00070)))
|
78 | | -#define PDAT7 (*((uint32_t volatile*)(0x3CF00074)))
|
79 | | -#define PCON10 (*((uint32_t volatile*)(0x3CF000A0)))
|
80 | | -#define PDAT10 (*((uint32_t volatile*)(0x3CF000A4)))
|
81 | | -#define PCON11 (*((uint32_t volatile*)(0x3CF000B0)))
|
82 | | -#define PDAT11 (*((uint32_t volatile*)(0x3CF000B4)))
|
83 | | -#define PCON13 (*((uint32_t volatile*)(0x3CF000D0)))
|
84 | | -#define PDAT13 (*((uint32_t volatile*)(0x3CF000D4)))
|
85 | | -#define PCON14 (*((uint32_t volatile*)(0x3CF000E0)))
|
86 | | -#define PDAT14 (*((uint32_t volatile*)(0x3CF000E4)))
|
87 | | -#define PCON15 (*((uint32_t volatile*)(0x3CF000F0)))
|
88 | | -#define PUNK15 (*((uint32_t volatile*)(0x3CF000FC)))
|
89 | | -
|
90 | | -
|
91 | | -/////IODMA/////
|
92 | | -#define DMABASE0 (*((void* volatile*)(0x38400000)))
|
93 | | -#define DMACON0 (*((uint32_t volatile*)(0x38400004)))
|
94 | | -#define DMATCNT0 (*((uint32_t volatile*)(0x38400008)))
|
95 | | -#define DMACADDR0 (*((void* volatile*)(0x3840000C)))
|
96 | | -#define DMACTCNT0 (*((uint32_t volatile*)(0x38400010)))
|
97 | | -#define DMACOM0 (*((uint32_t volatile*)(0x38400014)))
|
98 | | -#define DMANOF0 (*((uint32_t volatile*)(0x38400018)))
|
99 | | -#define DMABASE1 (*((void* volatile*)(0x38400020)))
|
100 | | -#define DMACON1 (*((uint32_t volatile*)(0x38400024)))
|
101 | | -#define DMATCNT1 (*((uint32_t volatile*)(0x38400028)))
|
102 | | -#define DMACADDR1 (*((void* volatile*)(0x3840002C)))
|
103 | | -#define DMACTCNT1 (*((uint32_t volatile*)(0x38400030)))
|
104 | | -#define DMACOM1 (*((uint32_t volatile*)(0x38400034)))
|
105 | | -#define DMABASE2 (*((void* volatile*)(0x38400040)))
|
106 | | -#define DMACON2 (*((uint32_t volatile*)(0x38400044)))
|
107 | | -#define DMATCNT2 (*((uint32_t volatile*)(0x38400048)))
|
108 | | -#define DMACADDR2 (*((void* volatile*)(0x3840004C)))
|
109 | | -#define DMACTCNT2 (*((uint32_t volatile*)(0x38400050)))
|
110 | | -#define DMACOM2 (*((uint32_t volatile*)(0x38400054)))
|
111 | | -#define DMABASE3 (*((void* volatile*)(0x38400060)))
|
112 | | -#define DMACON3 (*((uint32_t volatile*)(0x38400064)))
|
113 | | -#define DMATCNT3 (*((uint32_t volatile*)(0x38400068)))
|
114 | | -#define DMACADDR3 (*((void* volatile*)(0x3840006C)))
|
115 | | -#define DMACTCNT3 (*((uint32_t volatile*)(0x38400070)))
|
116 | | -#define DMACOM3 (*((uint32_t volatile*)(0x38400074)))
|
117 | | -#define DMABASE4 (*((void* volatile*)(0x38400080)))
|
118 | | -#define DMACON4 (*((uint32_t volatile*)(0x38400084)))
|
119 | | -#define DMATCNT4 (*((uint32_t volatile*)(0x38400088)))
|
120 | | -#define DMACADDR4 (*((void* volatile*)(0x3840008C)))
|
121 | | -#define DMACTCNT4 (*((uint32_t volatile*)(0x38400090)))
|
122 | | -#define DMACOM4 (*((uint32_t volatile*)(0x38400094)))
|
123 | | -#define DMABASE5 (*((void* volatile*)(0x384000A0)))
|
124 | | -#define DMACON5 (*((uint32_t volatile*)(0x384000A4)))
|
125 | | -#define DMATCNT5 (*((uint32_t volatile*)(0x384000A8)))
|
126 | | -#define DMACADDR5 (*((void* volatile*)(0x384000AC)))
|
127 | | -#define DMACTCNT5 (*((uint32_t volatile*)(0x384000B0)))
|
128 | | -#define DMACOM5 (*((uint32_t volatile*)(0x384000B4)))
|
129 | | -#define DMABASE6 (*((void* volatile*)(0x384000C0)))
|
130 | | -#define DMACON6 (*((uint32_t volatile*)(0x384000C4)))
|
131 | | -#define DMATCNT6 (*((uint32_t volatile*)(0x384000C8)))
|
132 | | -#define DMACADDR6 (*((void* volatile*)(0x384000CC)))
|
133 | | -#define DMACTCNT6 (*((uint32_t volatile*)(0x384000D0)))
|
134 | | -#define DMACOM6 (*((uint32_t volatile*)(0x384000D4)))
|
135 | | -#define DMABASE7 (*((void* volatile*)(0x384000E0)))
|
136 | | -#define DMACON7 (*((uint32_t volatile*)(0x384000E4)))
|
137 | | -#define DMATCNT7 (*((uint32_t volatile*)(0x384000E8)))
|
138 | | -#define DMACADDR7 (*((void* volatile*)(0x384000EC)))
|
139 | | -#define DMACTCNT7 (*((uint32_t volatile*)(0x384000F0)))
|
140 | | -#define DMACOM7 (*((uint32_t volatile*)(0x384000F4)))
|
141 | | -#define DMABASE8 (*((void* volatile*)(0x38400100)))
|
142 | | -#define DMACON8 (*((uint32_t volatile*)(0x38400104)))
|
143 | | -#define DMATCNT8 (*((uint32_t volatile*)(0x38400108)))
|
144 | | -#define DMACADDR8 (*((void* volatile*)(0x3840010C)))
|
145 | | -#define DMACTCNT8 (*((uint32_t volatile*)(0x38400110)))
|
146 | | -#define DMACOM8 (*((uint32_t volatile*)(0x38400114)))
|
147 | | -#define DMAALLST (*((uint32_t volatile*)(0x38400180)))
|
148 | | -#define DMAALLST2 (*((uint32_t volatile*)(0x38400184)))
|
149 | | -#define DMACON_DEVICE_SHIFT 30
|
150 | | -#define DMACON_DIRECTION_SHIFT 29
|
151 | | -#define DMACON_DATA_SIZE_SHIFT 22
|
152 | | -#define DMACON_BURST_LEN_SHIFT 19
|
153 | | -#define DMACOM_START 4
|
154 | | -#define DMACOM_CLEARBOTHDONE 7
|
155 | | -#define DMAALLST_WCOM0 (1 << 0)
|
156 | | -#define DMAALLST_HCOM0 (1 << 1)
|
157 | | -#define DMAALLST_DMABUSY0 (1 << 2)
|
158 | | -#define DMAALLST_HOLD_SKIP (1 << 3)
|
159 | | -#define DMAALLST_WCOM1 (1 << 4)
|
160 | | -#define DMAALLST_HCOM1 (1 << 5)
|
161 | | -#define DMAALLST_DMABUSY1 (1 << 6)
|
162 | | -#define DMAALLST_WCOM2 (1 << 8)
|
163 | | -#define DMAALLST_HCOM2 (1 << 9)
|
164 | | -#define DMAALLST_DMABUSY2 (1 << 10)
|
165 | | -#define DMAALLST_WCOM3 (1 << 12)
|
166 | | -#define DMAALLST_HCOM3 (1 << 13)
|
167 | | -#define DMAALLST_DMABUSY3 (1 << 14)
|
168 | | -#define DMAALLST_CHAN0_MASK (0xF << 0)
|
169 | | -#define DMAALLST_CHAN1_MASK (0xF << 4)
|
170 | | -#define DMAALLST_CHAN2_MASK (0xF << 8)
|
171 | | -#define DMAALLST_CHAN3_MASK (0xF << 12)
|
172 | | -
|
173 | | -
|
174 | | -/////FMC/////
|
175 | | -#define FMCTRL0 (*((uint32_t volatile*)(0x39400000)))
|
176 | | -#define FMCTRL1 (*((uint32_t volatile*)(0x39400004)))
|
177 | | -#define FMCMD (*((uint32_t volatile*)(0x39400008)))
|
178 | | -#define FMADDR0 (*((uint32_t volatile*)(0x3940000C)))
|
179 | | -#define FMADDR1 (*((uint32_t volatile*)(0x39400010)))
|
180 | | -#define FMANUM (*((uint32_t volatile*)(0x3940002C)))
|
181 | | -#define FMDNUM (*((uint32_t volatile*)(0x39400030)))
|
182 | | -#define FMCSTAT (*((uint32_t volatile*)(0x39400048)))
|
183 | | -#define FMFIFO (*((uint32_t volatile*)(0x39400080)))
|
184 | | -#define RS_ECC_CTRL (*((uint32_t volatile*)(0x39400100)))
|
185 | | -#define FMCTRL0_ENABLEDMA (1 << 10)
|
186 | | -#define FMCTRL0_UNK1 (1 << 11)
|
187 | | -#define FMCTRL1_DOTRANSADDR (1 << 0)
|
188 | | -#define FMCTRL1_DOREADDATA (1 << 1)
|
189 | | -#define FMCTRL1_DOWRITEDATA (1 << 2)
|
190 | | -#define FMCTRL1_CLEARWFIFO (1 << 6)
|
191 | | -#define FMCTRL1_CLEARRFIFO (1 << 7)
|
192 | | -#define FMCSTAT_RBB (1 << 0)
|
193 | | -#define FMCSTAT_RBBDONE (1 << 1)
|
194 | | -#define FMCSTAT_CMDDONE (1 << 2)
|
195 | | -#define FMCSTAT_ADDRDONE (1 << 3)
|
196 | | -#define FMCSTAT_BANK0READY (1 << 4)
|
197 | | -#define FMCSTAT_BANK1READY (1 << 5)
|
198 | | -#define FMCSTAT_BANK2READY (1 << 6)
|
199 | | -#define FMCSTAT_BANK3READY (1 << 7)
|
200 | | -
|
201 | | -
|
202 | | -/////ECC/////
|
203 | | -#define ECC_DATA_PTR (*((void* volatile*)(0x39E00004)))
|
204 | | -#define ECC_SPARE_PTR (*((void* volatile*)(0x39E00008)))
|
205 | | -#define ECC_CTRL (*((uint32_t volatile*)(0x39E0000C)))
|
206 | | -#define ECC_RESULT (*((uint32_t volatile*)(0x39E00010)))
|
207 | | -#define ECC_UNK1 (*((uint32_t volatile*)(0x39E00014)))
|
208 | | -#define ECC_INT_CLR (*((uint32_t volatile*)(0x39E00040)))
|
209 | | -#define ECCCTRL_STARTDECODING (1 << 0)
|
210 | | -#define ECCCTRL_STARTENCODING (1 << 1)
|
211 | | -#define ECCCTRL_STARTDECNOSYND (1 << 2)
|
212 | | -
|
213 | | -
|
214 | | -/////CLICKWHEEL/////
|
215 | | -#define WHEEL00 (*((uint32_t volatile*)(0x3C200000)))
|
216 | | -#define WHEEL04 (*((uint32_t volatile*)(0x3C200004)))
|
217 | | -#define WHEEL08 (*((uint32_t volatile*)(0x3C200008)))
|
218 | | -#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C)))
|
219 | | -#define WHEEL10 (*((uint32_t volatile*)(0x3C200010)))
|
220 | | -#define WHEELINT (*((uint32_t volatile*)(0x3C200014)))
|
221 | | -#define WHEELRX (*((uint32_t volatile*)(0x3C200018)))
|
222 | | -#define WHEELTX (*((uint32_t volatile*)(0x3C20001C)))
|
223 | | -
|
224 | | -
|
225 | | -/////AES/////
|
226 | | -#define AESCONTROL (*((uint32_t volatile*)(0x39800000)))
|
227 | | -#define AESGO (*((uint32_t volatile*)(0x39800004)))
|
228 | | -#define AESUNKREG0 (*((uint32_t volatile*)(0x39800008)))
|
229 | | -#define AESSTATUS (*((uint32_t volatile*)(0x3980000C)))
|
230 | | -#define AESUNKREG1 (*((uint32_t volatile*)(0x39800010)))
|
231 | | -#define AESKEYLEN (*((uint32_t volatile*)(0x39800014)))
|
232 | | -#define AESOUTSIZE (*((uint32_t volatile*)(0x39800018)))
|
233 | | -#define AESOUTADDR (*((void* volatile*)(0x39800020)))
|
234 | | -#define AESINSIZE (*((uint32_t volatile*)(0x39800024)))
|
235 | | -#define AESINADDR (*((const void* volatile*)(0x39800028)))
|
236 | | -#define AESAUXSIZE (*((uint32_t volatile*)(0x3980002C)))
|
237 | | -#define AESAUXADDR (*((void* volatile*)(0x39800030)))
|
238 | | -#define AESSIZE3 (*((uint32_t volatile*)(0x39800034)))
|
239 | | -#define AESKEY ((uint32_t volatile*)(0x3980004C))
|
240 | | -#define AESTYPE (*((uint32_t volatile*)(0x3980006C)))
|
241 | | -#define AESIV ((uint32_t volatile*)(0x39800074))
|
242 | | -#define AESTYPE2 (*((uint32_t volatile*)(0x39800088)))
|
243 | | -#define AESUNKREG2 (*((uint32_t volatile*)(0x3980008C)))
|
244 | | -
|
245 | | -/////HASH/////
|
246 | | -#define HASHCTRL (*((uint32_t volatile*)(0x3C600000)))
|
247 | | -#define HASHRESULT ((uint32_t volatile*)(0x3C600020))
|
248 | | -#define HASHDATAIN ((uint32_t volatile*)(0x3C600040))
|
249 | | -
|
250 | | -
|
251 | | -/////TIMER/////
|
252 | | -#define TACON (*((uint32_t volatile*)(0x3C700000)))
|
253 | | -#define TACMD (*((uint32_t volatile*)(0x3C700004)))
|
254 | | -#define TADATA0 (*((uint32_t volatile*)(0x3C700008)))
|
255 | | -#define TADATA1 (*((uint32_t volatile*)(0x3C70000C)))
|
256 | | -#define TAPRE (*((uint32_t volatile*)(0x3C700010)))
|
257 | | -#define TACNT (*((uint32_t volatile*)(0x3C700014)))
|
258 | | -#define TBCON (*((uint32_t volatile*)(0x3C700020)))
|
259 | | -#define TBCMD (*((uint32_t volatile*)(0x3C700024)))
|
260 | | -#define TBDATA0 (*((uint32_t volatile*)(0x3C700028)))
|
261 | | -#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C)))
|
262 | | -#define TBPRE (*((uint32_t volatile*)(0x3C700030)))
|
263 | | -#define TBCNT (*((uint32_t volatile*)(0x3C700034)))
|
264 | | -#define TCCON (*((uint32_t volatile*)(0x3C700040)))
|
265 | | -#define TCCMD (*((uint32_t volatile*)(0x3C700044)))
|
266 | | -#define TCDATA0 (*((uint32_t volatile*)(0x3C700048)))
|
267 | | -#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C)))
|
268 | | -#define TCPRE (*((uint32_t volatile*)(0x3C700050)))
|
269 | | -#define TCCNT (*((uint32_t volatile*)(0x3C700054)))
|
270 | | -#define TDCON (*((uint32_t volatile*)(0x3C700060)))
|
271 | | -#define TDCMD (*((uint32_t volatile*)(0x3C700064)))
|
272 | | -#define TDDATA0 (*((uint32_t volatile*)(0x3C700068)))
|
273 | | -#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C)))
|
274 | | -#define TDPRE (*((uint32_t volatile*)(0x3C700070)))
|
275 | | -#define TDCNT (*((uint32_t volatile*)(0x3C700074)))
|
276 | | -
|
277 | | -
|
278 | | -/////USB/////
|
279 | | -#define OTGBASE 0x38800000
|
280 | | -#define PHYBASE 0x3C400000
|
281 | | -#define SYNOPSYSOTG_CLOCK 0
|
282 | | -#define SYNOPSYSOTG_AHBCFG 0x27
|
283 | | -
|
284 | | -
|
285 | | -/////I2C/////
|
286 | | -#define IICCON (*((uint32_t volatile*)(0x3C900000)))
|
287 | | -#define IICSTAT (*((uint32_t volatile*)(0x3C900004)))
|
288 | | -#define IICADD (*((uint32_t volatile*)(0x3C900008)))
|
289 | | -#define IICDS (*((uint32_t volatile*)(0x3C90000C)))
|
290 | | -
|
291 | | -
|
292 | | -/////LCD/////
|
293 | | -#define LCDCON (*((uint32_t volatile*)(0x38600040)))
|
294 | | -#define LCDWCMD (*((uint32_t volatile*)(0x38600004)))
|
295 | | -#define LCDPHTIME (*((uint32_t volatile*)(0x38600010)))
|
296 | | -#define LCDSTATUS (*((uint32_t volatile*)(0x3860001c)))
|
297 | | -#define LCDWDATA (*((uint32_t volatile*)(0x38600040)))
|
298 | | -
|
299 | | -
|
300 | | -/////CLOCK GATES/////
|
301 | | -#define CLOCKGATE_USB_1 14
|
302 | | -#define CLOCKGATE_USB_2 43
|
303 | | -
|
304 | | -
|
305 | | -/////INTERRUPTS/////
|
306 | | -#define IRQ_TIMER 5
|
307 | | -#define IRQ_DMA 10
|
308 | | -#define IRQ_USB_FUNC 16
|
309 | | -#define IRQ_ECC 19
|
310 | | -#define IRQ_WHEEL 26
|
311 | | -#define IRQ_IIC 27
|
312 | | -
|
313 | | -
|
314 | | -#endif
|
| 2 | +// |
| 3 | +// |
| 4 | +// Copyright 2010 TheSeven |
| 5 | +// |
| 6 | +// |
| 7 | +// This file is part of emCORE. |
| 8 | +// |
| 9 | +// emCORE is free software: you can redistribute it and/or |
| 10 | +// modify it under the terms of the GNU General Public License as |
| 11 | +// published by the Free Software Foundation, either version 2 of the |
| 12 | +// License, or (at your option) any later version. |
| 13 | +// |
| 14 | +// emCORE is distributed in the hope that it will be useful, |
| 15 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 17 | +// See the GNU General Public License for more details. |
| 18 | +// |
| 19 | +// You should have received a copy of the GNU General Public License along |
| 20 | +// with emCORE. If not, see <http://www.gnu.org/licenses/>. |
| 21 | +// |
| 22 | +// |
| 23 | + |
| 24 | + |
| 25 | +#ifndef __S5L8701_H__ |
| 26 | +#define __S5L8701_H__ |
| 27 | + |
| 28 | +#include "global.h" |
| 29 | + |
| 30 | + |
| 31 | +/////CLKCON///// |
| 32 | +#define CLKCON (*((uint32_t volatile*)(0x3C500000))) |
| 33 | +#define PLL0PMS (*((uint32_t volatile*)(0x3C500004))) |
| 34 | +#define PLL1PMS (*((uint32_t volatile*)(0x3C500008))) |
| 35 | +#define PLL2PMS (*((uint32_t volatile*)(0x3C50000C))) |
| 36 | +#define PLL0LCNT (*((uint32_t volatile*)(0x3C500014))) |
| 37 | +#define PLL1LCNT (*((uint32_t volatile*)(0x3C500018))) |
| 38 | +#define PLL2LCNT (*((uint32_t volatile*)(0x3C50001C))) |
| 39 | +#define PLLLOCK (*((uint32_t volatile*)(0x3C500020))) |
| 40 | +#define PLLCON (*((uint32_t volatile*)(0x3C500024))) |
| 41 | +#define PWRMODE (*((uint32_t volatile*)(0x3C50002C))) |
| 42 | +#define SWRCON (*((uint32_t volatile*)(0x3C500030))) |
| 43 | +#define RSTSR (*((uint32_t volatile*)(0x3C500034))) |
| 44 | +#define DSPCLKMD (*((uint32_t volatile*)(0x3C500038))) |
| 45 | +#define CLKCON2 (*((uint32_t volatile*)(0x3C50003C))) |
| 46 | +#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 + ((i) == 1 ? 0x40 : 0x28)))) |
| 47 | + |
| 48 | + |
| 49 | +/////ICU///// |
| 50 | +#define SRCPND (*((uint32_t volatile*)(0x39C00000))) |
| 51 | +#define INTMOD (*((uint32_t volatile*)(0x39C00004))) |
| 52 | +#define INTMSK (*((uint32_t volatile*)(0x39C00008))) |
| 53 | +#define INTPRIO (*((uint32_t volatile*)(0x39C0000C))) |
| 54 | +#define INTPND (*((uint32_t volatile*)(0x39C00010))) |
| 55 | +#define INTOFFSET (*((uint32_t volatile*)(0x39C00014))) |
| 56 | +#define EINTPOL (*((uint32_t volatile*)(0x39C00018))) |
| 57 | +#define EINTPEND (*((uint32_t volatile*)(0x39C0001C))) |
| 58 | +#define EINTMSK (*((uint32_t volatile*)(0x39C00020))) |
| 59 | + |
| 60 | + |
| 61 | +/////GPIO///// |
| 62 | +#define PCON0 (*((uint32_t volatile*)(0x3CF00000))) |
| 63 | +#define PDAT0 (*((uint32_t volatile*)(0x3CF00004))) |
| 64 | +#define PCON1 (*((uint32_t volatile*)(0x3CF00010))) |
| 65 | +#define PDAT1 (*((uint32_t volatile*)(0x3CF00014))) |
| 66 | +#define PCON2 (*((uint32_t volatile*)(0x3CF00020))) |
| 67 | +#define PDAT2 (*((uint32_t volatile*)(0x3CF00024))) |
| 68 | +#define PCON3 (*((uint32_t volatile*)(0x3CF00030))) |
| 69 | +#define PDAT3 (*((uint32_t volatile*)(0x3CF00034))) |
| 70 | +#define PCON4 (*((uint32_t volatile*)(0x3CF00040))) |
| 71 | +#define PDAT4 (*((uint32_t volatile*)(0x3CF00044))) |
| 72 | +#define PCON5 (*((uint32_t volatile*)(0x3CF00050))) |
| 73 | +#define PDAT5 (*((uint32_t volatile*)(0x3CF00054))) |
| 74 | +#define PUNK5 (*((uint32_t volatile*)(0x3CF0005C))) |
| 75 | +#define PCON6 (*((uint32_t volatile*)(0x3CF00060))) |
| 76 | +#define PDAT6 (*((uint32_t volatile*)(0x3CF00064))) |
| 77 | +#define PCON7 (*((uint32_t volatile*)(0x3CF00070))) |
| 78 | +#define PDAT7 (*((uint32_t volatile*)(0x3CF00074))) |
| 79 | +#define PCON10 (*((uint32_t volatile*)(0x3CF000A0))) |
| 80 | +#define PDAT10 (*((uint32_t volatile*)(0x3CF000A4))) |
| 81 | +#define PCON11 (*((uint32_t volatile*)(0x3CF000B0))) |
| 82 | +#define PDAT11 (*((uint32_t volatile*)(0x3CF000B4))) |
| 83 | +#define PCON13 (*((uint32_t volatile*)(0x3CF000D0))) |
| 84 | +#define PDAT13 (*((uint32_t volatile*)(0x3CF000D4))) |
| 85 | +#define PCON14 (*((uint32_t volatile*)(0x3CF000E0))) |
| 86 | +#define PDAT14 (*((uint32_t volatile*)(0x3CF000E4))) |
| 87 | +#define PCON15 (*((uint32_t volatile*)(0x3CF000F0))) |
| 88 | +#define PUNK15 (*((uint32_t volatile*)(0x3CF000FC))) |
| 89 | + |
| 90 | + |
| 91 | +/////IODMA///// |
| 92 | +#define DMABASE0 (*((void* volatile*)(0x38400000))) |
| 93 | +#define DMACON0 (*((uint32_t volatile*)(0x38400004))) |
| 94 | +#define DMATCNT0 (*((uint32_t volatile*)(0x38400008))) |
| 95 | +#define DMACADDR0 (*((void* volatile*)(0x3840000C))) |
| 96 | +#define DMACTCNT0 (*((uint32_t volatile*)(0x38400010))) |
| 97 | +#define DMACOM0 (*((uint32_t volatile*)(0x38400014))) |
| 98 | +#define DMANOF0 (*((uint32_t volatile*)(0x38400018))) |
| 99 | +#define DMABASE1 (*((void* volatile*)(0x38400020))) |
| 100 | +#define DMACON1 (*((uint32_t volatile*)(0x38400024))) |
| 101 | +#define DMATCNT1 (*((uint32_t volatile*)(0x38400028))) |
| 102 | +#define DMACADDR1 (*((void* volatile*)(0x3840002C))) |
| 103 | +#define DMACTCNT1 (*((uint32_t volatile*)(0x38400030))) |
| 104 | +#define DMACOM1 (*((uint32_t volatile*)(0x38400034))) |
| 105 | +#define DMABASE2 (*((void* volatile*)(0x38400040))) |
| 106 | +#define DMACON2 (*((uint32_t volatile*)(0x38400044))) |
| 107 | +#define DMATCNT2 (*((uint32_t volatile*)(0x38400048))) |
| 108 | +#define DMACADDR2 (*((void* volatile*)(0x3840004C))) |
| 109 | +#define DMACTCNT2 (*((uint32_t volatile*)(0x38400050))) |
| 110 | +#define DMACOM2 (*((uint32_t volatile*)(0x38400054))) |
| 111 | +#define DMABASE3 (*((void* volatile*)(0x38400060))) |
| 112 | +#define DMACON3 (*((uint32_t volatile*)(0x38400064))) |
| 113 | +#define DMATCNT3 (*((uint32_t volatile*)(0x38400068))) |
| 114 | +#define DMACADDR3 (*((void* volatile*)(0x3840006C))) |
| 115 | +#define DMACTCNT3 (*((uint32_t volatile*)(0x38400070))) |
| 116 | +#define DMACOM3 (*((uint32_t volatile*)(0x38400074))) |
| 117 | +#define DMABASE4 (*((void* volatile*)(0x38400080))) |
| 118 | +#define DMACON4 (*((uint32_t volatile*)(0x38400084))) |
| 119 | +#define DMATCNT4 (*((uint32_t volatile*)(0x38400088))) |
| 120 | +#define DMACADDR4 (*((void* volatile*)(0x3840008C))) |
| 121 | +#define DMACTCNT4 (*((uint32_t volatile*)(0x38400090))) |
| 122 | +#define DMACOM4 (*((uint32_t volatile*)(0x38400094))) |
| 123 | +#define DMABASE5 (*((void* volatile*)(0x384000A0))) |
| 124 | +#define DMACON5 (*((uint32_t volatile*)(0x384000A4))) |
| 125 | +#define DMATCNT5 (*((uint32_t volatile*)(0x384000A8))) |
| 126 | +#define DMACADDR5 (*((void* volatile*)(0x384000AC))) |
| 127 | +#define DMACTCNT5 (*((uint32_t volatile*)(0x384000B0))) |
| 128 | +#define DMACOM5 (*((uint32_t volatile*)(0x384000B4))) |
| 129 | +#define DMABASE6 (*((void* volatile*)(0x384000C0))) |
| 130 | +#define DMACON6 (*((uint32_t volatile*)(0x384000C4))) |
| 131 | +#define DMATCNT6 (*((uint32_t volatile*)(0x384000C8))) |
| 132 | +#define DMACADDR6 (*((void* volatile*)(0x384000CC))) |
| 133 | +#define DMACTCNT6 (*((uint32_t volatile*)(0x384000D0))) |
| 134 | +#define DMACOM6 (*((uint32_t volatile*)(0x384000D4))) |
| 135 | +#define DMABASE7 (*((void* volatile*)(0x384000E0))) |
| 136 | +#define DMACON7 (*((uint32_t volatile*)(0x384000E4))) |
| 137 | +#define DMATCNT7 (*((uint32_t volatile*)(0x384000E8))) |
| 138 | +#define DMACADDR7 (*((void* volatile*)(0x384000EC))) |
| 139 | +#define DMACTCNT7 (*((uint32_t volatile*)(0x384000F0))) |
| 140 | +#define DMACOM7 (*((uint32_t volatile*)(0x384000F4))) |
| 141 | +#define DMABASE8 (*((void* volatile*)(0x38400100))) |
| 142 | +#define DMACON8 (*((uint32_t volatile*)(0x38400104))) |
| 143 | +#define DMATCNT8 (*((uint32_t volatile*)(0x38400108))) |
| 144 | +#define DMACADDR8 (*((void* volatile*)(0x3840010C))) |
| 145 | +#define DMACTCNT8 (*((uint32_t volatile*)(0x38400110))) |
| 146 | +#define DMACOM8 (*((uint32_t volatile*)(0x38400114))) |
| 147 | +#define DMAALLST (*((uint32_t volatile*)(0x38400180))) |
| 148 | +#define DMAALLST2 (*((uint32_t volatile*)(0x38400184))) |
| 149 | +#define DMACON_DEVICE_SHIFT 30 |
| 150 | +#define DMACON_DIRECTION_SHIFT 29 |
| 151 | +#define DMACON_DATA_SIZE_SHIFT 22 |
| 152 | +#define DMACON_BURST_LEN_SHIFT 19 |
| 153 | +#define DMACOM_START 4 |
| 154 | +#define DMACOM_CLEARBOTHDONE 7 |
| 155 | +#define DMAALLST_WCOM0 (1 << 0) |
| 156 | +#define DMAALLST_HCOM0 (1 << 1) |
| 157 | +#define DMAALLST_DMABUSY0 (1 << 2) |
| 158 | +#define DMAALLST_HOLD_SKIP (1 << 3) |
| 159 | +#define DMAALLST_WCOM1 (1 << 4) |
| 160 | +#define DMAALLST_HCOM1 (1 << 5) |
| 161 | +#define DMAALLST_DMABUSY1 (1 << 6) |
| 162 | +#define DMAALLST_WCOM2 (1 << 8) |
| 163 | +#define DMAALLST_HCOM2 (1 << 9) |
| 164 | +#define DMAALLST_DMABUSY2 (1 << 10) |
| 165 | +#define DMAALLST_WCOM3 (1 << 12) |
| 166 | +#define DMAALLST_HCOM3 (1 << 13) |
| 167 | +#define DMAALLST_DMABUSY3 (1 << 14) |
| 168 | +#define DMAALLST_CHAN0_MASK (0xF << 0) |
| 169 | +#define DMAALLST_CHAN1_MASK (0xF << 4) |
| 170 | +#define DMAALLST_CHAN2_MASK (0xF << 8) |
| 171 | +#define DMAALLST_CHAN3_MASK (0xF << 12) |
| 172 | + |
| 173 | + |
| 174 | +/////FMC///// |
| 175 | +#define FMCTRL0 (*((uint32_t volatile*)(0x39400000))) |
| 176 | +#define FMCTRL1 (*((uint32_t volatile*)(0x39400004))) |
| 177 | +#define FMCMD (*((uint32_t volatile*)(0x39400008))) |
| 178 | +#define FMADDR0 (*((uint32_t volatile*)(0x3940000C))) |
| 179 | +#define FMADDR1 (*((uint32_t volatile*)(0x39400010))) |
| 180 | +#define FMANUM (*((uint32_t volatile*)(0x3940002C))) |
| 181 | +#define FMDNUM (*((uint32_t volatile*)(0x39400030))) |
| 182 | +#define FMCSTAT (*((uint32_t volatile*)(0x39400048))) |
| 183 | +#define FMFIFO (*((uint32_t volatile*)(0x39400080))) |
| 184 | +#define RS_ECC_CTRL (*((uint32_t volatile*)(0x39400100))) |
| 185 | +#define FMCTRL0_ENABLEDMA (1 << 10) |
| 186 | +#define FMCTRL0_UNK1 (1 << 11) |
| 187 | +#define FMCTRL1_DOTRANSADDR (1 << 0) |
| 188 | +#define FMCTRL1_DOREADDATA (1 << 1) |
| 189 | +#define FMCTRL1_DOWRITEDATA (1 << 2) |
| 190 | +#define FMCTRL1_CLEARWFIFO (1 << 6) |
| 191 | +#define FMCTRL1_CLEARRFIFO (1 << 7) |
| 192 | +#define FMCSTAT_RBB (1 << 0) |
| 193 | +#define FMCSTAT_RBBDONE (1 << 1) |
| 194 | +#define FMCSTAT_CMDDONE (1 << 2) |
| 195 | +#define FMCSTAT_ADDRDONE (1 << 3) |
| 196 | +#define FMCSTAT_BANK0READY (1 << 4) |
| 197 | +#define FMCSTAT_BANK1READY (1 << 5) |
| 198 | +#define FMCSTAT_BANK2READY (1 << 6) |
| 199 | +#define FMCSTAT_BANK3READY (1 << 7) |
| 200 | + |
| 201 | + |
| 202 | +/////ECC///// |
| 203 | +#define ECC_DATA_PTR (*((void* volatile*)(0x39E00004))) |
| 204 | +#define ECC_SPARE_PTR (*((void* volatile*)(0x39E00008))) |
| 205 | +#define ECC_CTRL (*((uint32_t volatile*)(0x39E0000C))) |
| 206 | +#define ECC_RESULT (*((uint32_t volatile*)(0x39E00010))) |
| 207 | +#define ECC_UNK1 (*((uint32_t volatile*)(0x39E00014))) |
| 208 | +#define ECC_INT_CLR (*((uint32_t volatile*)(0x39E00040))) |
| 209 | +#define ECCCTRL_STARTDECODING (1 << 0) |
| 210 | +#define ECCCTRL_STARTENCODING (1 << 1) |
| 211 | +#define ECCCTRL_STARTDECNOSYND (1 << 2) |
| 212 | + |
| 213 | + |
| 214 | +/////CLICKWHEEL///// |
| 215 | +#define WHEEL00 (*((uint32_t volatile*)(0x3C200000))) |
| 216 | +#define WHEEL04 (*((uint32_t volatile*)(0x3C200004))) |
| 217 | +#define WHEEL08 (*((uint32_t volatile*)(0x3C200008))) |
| 218 | +#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C))) |
| 219 | +#define WHEEL10 (*((uint32_t volatile*)(0x3C200010))) |
| 220 | +#define WHEELINT (*((uint32_t volatile*)(0x3C200014))) |
| 221 | +#define WHEELRX (*((uint32_t volatile*)(0x3C200018))) |
| 222 | +#define WHEELTX (*((uint32_t volatile*)(0x3C20001C))) |
| 223 | + |
| 224 | + |
| 225 | +/////AES///// |
| 226 | +#define AESCONTROL (*((uint32_t volatile*)(0x39800000))) |
| 227 | +#define AESGO (*((uint32_t volatile*)(0x39800004))) |
| 228 | +#define AESUNKREG0 (*((uint32_t volatile*)(0x39800008))) |
| 229 | +#define AESSTATUS (*((uint32_t volatile*)(0x3980000C))) |
| 230 | +#define AESUNKREG1 (*((uint32_t volatile*)(0x39800010))) |
| 231 | +#define AESKEYLEN (*((uint32_t volatile*)(0x39800014))) |
| 232 | +#define AESOUTSIZE (*((uint32_t volatile*)(0x39800018))) |
| 233 | +#define AESOUTADDR (*((void* volatile*)(0x39800020))) |
| 234 | +#define AESINSIZE (*((uint32_t volatile*)(0x39800024))) |
| 235 | +#define AESINADDR (*((const void* volatile*)(0x39800028))) |
| 236 | +#define AESAUXSIZE (*((uint32_t volatile*)(0x3980002C))) |
| 237 | +#define AESAUXADDR (*((void* volatile*)(0x39800030))) |
| 238 | +#define AESSIZE3 (*((uint32_t volatile*)(0x39800034))) |
| 239 | +#define AESKEY ((uint32_t volatile*)(0x3980004C)) |
| 240 | +#define AESTYPE (*((uint32_t volatile*)(0x3980006C))) |
| 241 | +#define AESIV ((uint32_t volatile*)(0x39800074)) |
| 242 | +#define AESTYPE2 (*((uint32_t volatile*)(0x39800088))) |
| 243 | +#define AESUNKREG2 (*((uint32_t volatile*)(0x3980008C))) |
| 244 | + |
| 245 | +/////HASH///// |
| 246 | +#define HASHCTRL (*((uint32_t volatile*)(0x3C600000))) |
| 247 | +#define HASHRESULT ((uint32_t volatile*)(0x3C600020)) |
| 248 | +#define HASHDATAIN ((uint32_t volatile*)(0x3C600040)) |
| 249 | + |
| 250 | + |
| 251 | +/////TIMER///// |
| 252 | +#define TACON (*((uint32_t volatile*)(0x3C700000))) |
| 253 | +#define TACMD (*((uint32_t volatile*)(0x3C700004))) |
| 254 | +#define TADATA0 (*((uint32_t volatile*)(0x3C700008))) |
| 255 | +#define TADATA1 (*((uint32_t volatile*)(0x3C70000C))) |
| 256 | +#define TAPRE (*((uint32_t volatile*)(0x3C700010))) |
| 257 | +#define TACNT (*((uint32_t volatile*)(0x3C700014))) |
| 258 | +#define TBCON (*((uint32_t volatile*)(0x3C700020))) |
| 259 | +#define TBCMD (*((uint32_t volatile*)(0x3C700024))) |
| 260 | +#define TBDATA0 (*((uint32_t volatile*)(0x3C700028))) |
| 261 | +#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C))) |
| 262 | +#define TBPRE (*((uint32_t volatile*)(0x3C700030))) |
| 263 | +#define TBCNT (*((uint32_t volatile*)(0x3C700034))) |
| 264 | +#define TCCON (*((uint32_t volatile*)(0x3C700040))) |
| 265 | +#define TCCMD (*((uint32_t volatile*)(0x3C700044))) |
| 266 | +#define TCDATA0 (*((uint32_t volatile*)(0x3C700048))) |
| 267 | +#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C))) |
| 268 | +#define TCPRE (*((uint32_t volatile*)(0x3C700050))) |
| 269 | +#define TCCNT (*((uint32_t volatile*)(0x3C700054))) |
| 270 | +#define TDCON (*((uint32_t volatile*)(0x3C700060))) |
| 271 | +#define TDCMD (*((uint32_t volatile*)(0x3C700064))) |
| 272 | +#define TDDATA0 (*((uint32_t volatile*)(0x3C700068))) |
| 273 | +#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C))) |
| 274 | +#define TDPRE (*((uint32_t volatile*)(0x3C700070))) |
| 275 | +#define TDCNT (*((uint32_t volatile*)(0x3C700074))) |
| 276 | + |
| 277 | + |
| 278 | +/////USB///// |
| 279 | +#define OTGBASE 0x38800000 |
| 280 | +#define PHYBASE 0x3C400000 |
| 281 | +#define SYNOPSYSOTG_CLOCK 0 |
| 282 | +#define SYNOPSYSOTG_AHBCFG 0x27 |
| 283 | + |
| 284 | + |
| 285 | +/////I2C///// |
| 286 | +#define IICCON (*((uint32_t volatile*)(0x3C900000))) |
| 287 | +#define IICSTAT (*((uint32_t volatile*)(0x3C900004))) |
| 288 | +#define IICADD (*((uint32_t volatile*)(0x3C900008))) |
| 289 | +#define IICDS (*((uint32_t volatile*)(0x3C90000C))) |
| 290 | + |
| 291 | + |
| 292 | +/////LCD///// |
| 293 | +#define LCDCON (*((uint32_t volatile*)(0x38600000))) |
| 294 | +#define LCDWCMD (*((uint32_t volatile*)(0x38600004))) |
| 295 | +#define LCDPHTIME (*((uint32_t volatile*)(0x38600010))) |
| 296 | +#define LCDSTATUS (*((uint32_t volatile*)(0x3860001c))) |
| 297 | +#define LCDWDATA (*((uint32_t volatile*)(0x38600040))) |
| 298 | + |
| 299 | + |
| 300 | +/////CLOCK GATES///// |
| 301 | +#define CLOCKGATE_USB_1 14 |
| 302 | +#define CLOCKGATE_USB_2 43 |
| 303 | + |
| 304 | + |
| 305 | +/////INTERRUPTS///// |
| 306 | +#define IRQ_TIMER 5 |
| 307 | +#define IRQ_DMA 10 |
| 308 | +#define IRQ_USB_FUNC 16 |
| 309 | +#define IRQ_ECC 19 |
| 310 | +#define IRQ_WHEEL 26 |
| 311 | +#define IRQ_IIC 27 |
| 312 | + |
| 313 | + |
| 314 | +#endif |
Index: emcore/trunk/target/ipodnano3g/s5l8702.h |
— | — | @@ -1,600 +1,601 @@ |
2 | | -//
|
3 | | -//
|
4 | | -// Copyright 2010 TheSeven
|
5 | | -//
|
6 | | -//
|
7 | | -// This file is part of emCORE.
|
8 | | -//
|
9 | | -// emCORE is free software: you can redistribute it and/or
|
10 | | -// modify it under the terms of the GNU General Public License as
|
11 | | -// published by the Free Software Foundation, either version 2 of the
|
12 | | -// License, or (at your option) any later version.
|
13 | | -//
|
14 | | -// emCORE is distributed in the hope that it will be useful,
|
15 | | -// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16 | | -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
17 | | -// See the GNU General Public License for more details.
|
18 | | -//
|
19 | | -// You should have received a copy of the GNU General Public License along
|
20 | | -// with emCORE. If not, see <http://www.gnu.org/licenses/>.
|
21 | | -//
|
22 | | -//
|
23 | | -
|
24 | | -
|
25 | | -#ifndef __S5L8702_H__
|
26 | | -#define __S5L8702_H__
|
27 | | -
|
28 | | -#include "global.h"
|
29 | | -
|
30 | | -
|
31 | | -/////SYSCON/////
|
32 | | -#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 \
|
33 | | - + ((i) == 4 ? 0x6C : \
|
34 | | - ((i) == 3 ? 0x68 : \
|
35 | | - ((i) == 2 ? 0x58 : \
|
36 | | - ((i) == 1 ? 0x4C : \
|
37 | | - 0x48)))))))
|
38 | | -
|
39 | | -
|
40 | | -/////TIMER/////
|
41 | | -#define TACON (*((uint32_t volatile*)(0x3C700000)))
|
42 | | -#define TACMD (*((uint32_t volatile*)(0x3C700004)))
|
43 | | -#define TADATA0 (*((uint32_t volatile*)(0x3C700008)))
|
44 | | -#define TADATA1 (*((uint32_t volatile*)(0x3C70000C)))
|
45 | | -#define TAPRE (*((uint32_t volatile*)(0x3C700010)))
|
46 | | -#define TACNT (*((uint32_t volatile*)(0x3C700014)))
|
47 | | -#define TBCON (*((uint32_t volatile*)(0x3C700020)))
|
48 | | -#define TBCMD (*((uint32_t volatile*)(0x3C700024)))
|
49 | | -#define TBDATA0 (*((uint32_t volatile*)(0x3C700028)))
|
50 | | -#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C)))
|
51 | | -#define TBPRE (*((uint32_t volatile*)(0x3C700030)))
|
52 | | -#define TBCNT (*((uint32_t volatile*)(0x3C700034)))
|
53 | | -#define TCCON (*((uint32_t volatile*)(0x3C700040)))
|
54 | | -#define TCCMD (*((uint32_t volatile*)(0x3C700044)))
|
55 | | -#define TCDATA0 (*((uint32_t volatile*)(0x3C700048)))
|
56 | | -#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C)))
|
57 | | -#define TCPRE (*((uint32_t volatile*)(0x3C700050)))
|
58 | | -#define TCCNT (*((uint32_t volatile*)(0x3C700054)))
|
59 | | -#define TDCON (*((uint32_t volatile*)(0x3C700060)))
|
60 | | -#define TDCMD (*((uint32_t volatile*)(0x3C700064)))
|
61 | | -#define TDDATA0 (*((uint32_t volatile*)(0x3C700068)))
|
62 | | -#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C)))
|
63 | | -#define TDPRE (*((uint32_t volatile*)(0x3C700070)))
|
64 | | -#define TDCNT (*((uint32_t volatile*)(0x3C700074)))
|
65 | | -#define TECON (*((uint32_t volatile*)(0x3C7000A0)))
|
66 | | -#define TECMD (*((uint32_t volatile*)(0x3C7000A4)))
|
67 | | -#define TEDATA0 (*((uint32_t volatile*)(0x3C7000A8)))
|
68 | | -#define TEDATA1 (*((uint32_t volatile*)(0x3C7000AC)))
|
69 | | -#define TEPRE (*((uint32_t volatile*)(0x3C7000B0)))
|
70 | | -#define TECNT (*((uint32_t volatile*)(0x3C7000B4)))
|
71 | | -#define TFCON (*((uint32_t volatile*)(0x3C7000C0)))
|
72 | | -#define TFCMD (*((uint32_t volatile*)(0x3C7000C4)))
|
73 | | -#define TFDATA0 (*((uint32_t volatile*)(0x3C7000C8)))
|
74 | | -#define TFDATA1 (*((uint32_t volatile*)(0x3C7000CC)))
|
75 | | -#define TFPRE (*((uint32_t volatile*)(0x3C7000D0)))
|
76 | | -#define TFCNT (*((uint32_t volatile*)(0x3C7000D4)))
|
77 | | -#define TGCON (*((uint32_t volatile*)(0x3C7000E0)))
|
78 | | -#define TGCMD (*((uint32_t volatile*)(0x3C7000E4)))
|
79 | | -#define TGDATA0 (*((uint32_t volatile*)(0x3C7000E8)))
|
80 | | -#define TGDATA1 (*((uint32_t volatile*)(0x3C7000EC)))
|
81 | | -#define TGPRE (*((uint32_t volatile*)(0x3C7000F0)))
|
82 | | -#define TGCNT (*((uint32_t volatile*)(0x3C7000F4)))
|
83 | | -#define THCON (*((uint32_t volatile*)(0x3C700100)))
|
84 | | -#define THCMD (*((uint32_t volatile*)(0x3C700104)))
|
85 | | -#define THDATA0 (*((uint32_t volatile*)(0x3C700108)))
|
86 | | -#define THDATA1 (*((uint32_t volatile*)(0x3C70010C)))
|
87 | | -#define THPRE (*((uint32_t volatile*)(0x3C700110)))
|
88 | | -#define THCNT (*((uint32_t volatile*)(0x3C700114)))
|
89 | | -
|
90 | | -
|
91 | | -/////USB/////
|
92 | | -#define OTGBASE 0x38400000
|
93 | | -#define PHYBASE 0x3C400000
|
94 | | -#define SYNOPSYSOTG_CLOCK 0
|
95 | | -#define SYNOPSYSOTG_AHBCFG 0x2B
|
96 | | -
|
97 | | -
|
98 | | -/////I2C/////
|
99 | | -#define IICCON(bus) (*((uint32_t volatile*)(0x3C600000 + 0x300000 * (bus))))
|
100 | | -#define IICSTAT(bus) (*((uint32_t volatile*)(0x3C600004 + 0x300000 * (bus))))
|
101 | | -#define IICADD(bus) (*((uint32_t volatile*)(0x3C600008 + 0x300000 * (bus))))
|
102 | | -#define IICDS(bus) (*((uint32_t volatile*)(0x3C60000C + 0x300000 * (bus))))
|
103 | | -#define IIC10(bus) (*((uint32_t volatile*)(0x3C600010 + 0x300000 * (bus))))
|
104 | | -
|
105 | | -
|
106 | | -/////INTERRUPT CONTROLLERS/////
|
107 | | -#define VICIRQSTATUS(v) (*((uint32_t volatile*)(0x38E00000 + 0x1000 * (v))))
|
108 | | -#define VICFIQSTATUS(v) (*((uint32_t volatile*)(0x38E00004 + 0x1000 * (v))))
|
109 | | -#define VICRAWINTR(v) (*((uint32_t volatile*)(0x38E00008 + 0x1000 * (v))))
|
110 | | -#define VICINTSELECT(v) (*((uint32_t volatile*)(0x38E0000C + 0x1000 * (v))))
|
111 | | -#define VICINTENABLE(v) (*((uint32_t volatile*)(0x38E00010 + 0x1000 * (v))))
|
112 | | -#define VICINTENCLEAR(v) (*((uint32_t volatile*)(0x38E00014 + 0x1000 * (v))))
|
113 | | -#define VICSOFTINT(v) (*((uint32_t volatile*)(0x38E00018 + 0x1000 * (v))))
|
114 | | -#define VICSOFTINTCLEAR(v) (*((uint32_t volatile*)(0x38E0001C + 0x1000 * (v))))
|
115 | | -#define VICPROTECTION(v) (*((uint32_t volatile*)(0x38E00020 + 0x1000 * (v))))
|
116 | | -#define VICSWPRIORITYMASK(v) (*((uint32_t volatile*)(0x38E00024 + 0x1000 * (v))))
|
117 | | -#define VICPRIORITYDAISY(v) (*((uint32_t volatile*)(0x38E00028 + 0x1000 * (v))))
|
118 | | -#define VICVECTADDR(v, i) (*((uint32_t volatile*)(0x38E00100 + 0x1000 * (v) + 4 * (i))))
|
119 | | -#define VICVECTPRIORITY(v, i) (*((uint32_t volatile*)(0x38E00200 + 0x1000 * (v) + 4 * (i))))
|
120 | | -#define VICADDRESS(v) (*((const void* volatile*)(0x38E00F00 + 0x1000 * (v))))
|
121 | | -#define VIC0IRQSTATUS (*((uint32_t volatile*)(0x38E00000)))
|
122 | | -#define VIC0FIQSTATUS (*((uint32_t volatile*)(0x38E00004)))
|
123 | | -#define VIC0RAWINTR (*((uint32_t volatile*)(0x38E00008)))
|
124 | | -#define VIC0INTSELECT (*((uint32_t volatile*)(0x38E0000C)))
|
125 | | -#define VIC0INTENABLE (*((uint32_t volatile*)(0x38E00010)))
|
126 | | -#define VIC0INTENCLEAR (*((uint32_t volatile*)(0x38E00014)))
|
127 | | -#define VIC0SOFTINT (*((uint32_t volatile*)(0x38E00018)))
|
128 | | -#define VIC0SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0001C)))
|
129 | | -#define VIC0PROTECTION (*((uint32_t volatile*)(0x38E00020)))
|
130 | | -#define VIC0SWPRIORITYMASK (*((uint32_t volatile*)(0x38E00024)))
|
131 | | -#define VIC0PRIORITYDAISY (*((uint32_t volatile*)(0x38E00028)))
|
132 | | -#define VIC0VECTADDR(i) (*((const void* volatile*)(0x38E00100 + 4 * (i))))
|
133 | | -#define VIC0VECTADDR0 (*((const void* volatile*)(0x38E00100)))
|
134 | | -#define VIC0VECTADDR1 (*((const void* volatile*)(0x38E00104)))
|
135 | | -#define VIC0VECTADDR2 (*((const void* volatile*)(0x38E00108)))
|
136 | | -#define VIC0VECTADDR3 (*((const void* volatile*)(0x38E0010C)))
|
137 | | -#define VIC0VECTADDR4 (*((const void* volatile*)(0x38E00110)))
|
138 | | -#define VIC0VECTADDR5 (*((const void* volatile*)(0x38E00114)))
|
139 | | -#define VIC0VECTADDR6 (*((const void* volatile*)(0x38E00118)))
|
140 | | -#define VIC0VECTADDR7 (*((const void* volatile*)(0x38E0011C)))
|
141 | | -#define VIC0VECTADDR8 (*((const void* volatile*)(0x38E00120)))
|
142 | | -#define VIC0VECTADDR9 (*((const void* volatile*)(0x38E00124)))
|
143 | | -#define VIC0VECTADDR10 (*((const void* volatile*)(0x38E00128)))
|
144 | | -#define VIC0VECTADDR11 (*((const void* volatile*)(0x38E0012C)))
|
145 | | -#define VIC0VECTADDR12 (*((const void* volatile*)(0x38E00130)))
|
146 | | -#define VIC0VECTADDR13 (*((const void* volatile*)(0x38E00134)))
|
147 | | -#define VIC0VECTADDR14 (*((const void* volatile*)(0x38E00138)))
|
148 | | -#define VIC0VECTADDR15 (*((const void* volatile*)(0x38E0013C)))
|
149 | | -#define VIC0VECTADDR16 (*((const void* volatile*)(0x38E00140)))
|
150 | | -#define VIC0VECTADDR17 (*((const void* volatile*)(0x38E00144)))
|
151 | | -#define VIC0VECTADDR18 (*((const void* volatile*)(0x38E00148)))
|
152 | | -#define VIC0VECTADDR19 (*((const void* volatile*)(0x38E0014C)))
|
153 | | -#define VIC0VECTADDR20 (*((const void* volatile*)(0x38E00150)))
|
154 | | -#define VIC0VECTADDR21 (*((const void* volatile*)(0x38E00154)))
|
155 | | -#define VIC0VECTADDR22 (*((const void* volatile*)(0x38E00158)))
|
156 | | -#define VIC0VECTADDR23 (*((const void* volatile*)(0x38E0015C)))
|
157 | | -#define VIC0VECTADDR24 (*((const void* volatile*)(0x38E00160)))
|
158 | | -#define VIC0VECTADDR25 (*((const void* volatile*)(0x38E00164)))
|
159 | | -#define VIC0VECTADDR26 (*((const void* volatile*)(0x38E00168)))
|
160 | | -#define VIC0VECTADDR27 (*((const void* volatile*)(0x38E0016C)))
|
161 | | -#define VIC0VECTADDR28 (*((const void* volatile*)(0x38E00170)))
|
162 | | -#define VIC0VECTADDR29 (*((const void* volatile*)(0x38E00174)))
|
163 | | -#define VIC0VECTADDR30 (*((const void* volatile*)(0x38E00178)))
|
164 | | -#define VIC0VECTADDR31 (*((const void* volatile*)(0x38E0017C)))
|
165 | | -#define VIC0VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E00200 + 4 * (i))))
|
166 | | -#define VIC0VECTPRIORITY0 (*((uint32_t volatile*)(0x38E00200)))
|
167 | | -#define VIC0VECTPRIORITY1 (*((uint32_t volatile*)(0x38E00204)))
|
168 | | -#define VIC0VECTPRIORITY2 (*((uint32_t volatile*)(0x38E00208)))
|
169 | | -#define VIC0VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0020C)))
|
170 | | -#define VIC0VECTPRIORITY4 (*((uint32_t volatile*)(0x38E00210)))
|
171 | | -#define VIC0VECTPRIORITY5 (*((uint32_t volatile*)(0x38E00214)))
|
172 | | -#define VIC0VECTPRIORITY6 (*((uint32_t volatile*)(0x38E00218)))
|
173 | | -#define VIC0VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0021C)))
|
174 | | -#define VIC0VECTPRIORITY8 (*((uint32_t volatile*)(0x38E00220)))
|
175 | | -#define VIC0VECTPRIORITY9 (*((uint32_t volatile*)(0x38E00224)))
|
176 | | -#define VIC0VECTPRIORITY10 (*((uint32_t volatile*)(0x38E00228)))
|
177 | | -#define VIC0VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0022C)))
|
178 | | -#define VIC0VECTPRIORITY12 (*((uint32_t volatile*)(0x38E00230)))
|
179 | | -#define VIC0VECTPRIORITY13 (*((uint32_t volatile*)(0x38E00234)))
|
180 | | -#define VIC0VECTPRIORITY14 (*((uint32_t volatile*)(0x38E00238)))
|
181 | | -#define VIC0VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0023C)))
|
182 | | -#define VIC0VECTPRIORITY16 (*((uint32_t volatile*)(0x38E00240)))
|
183 | | -#define VIC0VECTPRIORITY17 (*((uint32_t volatile*)(0x38E00244)))
|
184 | | -#define VIC0VECTPRIORITY18 (*((uint32_t volatile*)(0x38E00248)))
|
185 | | -#define VIC0VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0024C)))
|
186 | | -#define VIC0VECTPRIORITY20 (*((uint32_t volatile*)(0x38E00250)))
|
187 | | -#define VIC0VECTPRIORITY21 (*((uint32_t volatile*)(0x38E00254)))
|
188 | | -#define VIC0VECTPRIORITY22 (*((uint32_t volatile*)(0x38E00258)))
|
189 | | -#define VIC0VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0025C)))
|
190 | | -#define VIC0VECTPRIORITY24 (*((uint32_t volatile*)(0x38E00260)))
|
191 | | -#define VIC0VECTPRIORITY25 (*((uint32_t volatile*)(0x38E00264)))
|
192 | | -#define VIC0VECTPRIORITY26 (*((uint32_t volatile*)(0x38E00268)))
|
193 | | -#define VIC0VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0026C)))
|
194 | | -#define VIC0VECTPRIORITY28 (*((uint32_t volatile*)(0x38E00270)))
|
195 | | -#define VIC0VECTPRIORITY29 (*((uint32_t volatile*)(0x38E00274)))
|
196 | | -#define VIC0VECTPRIORITY30 (*((uint32_t volatile*)(0x38E00278)))
|
197 | | -#define VIC0VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0027C)))
|
198 | | -#define VIC0ADDRESS (*((void* volatile*)(0x38E00F00)))
|
199 | | -#define VIC1IRQSTATUS (*((uint32_t volatile*)(0x38E01000)))
|
200 | | -#define VIC1FIQSTATUS (*((uint32_t volatile*)(0x38E01004)))
|
201 | | -#define VIC1RAWINTR (*((uint32_t volatile*)(0x38E01008)))
|
202 | | -#define VIC1INTSELECT (*((uint32_t volatile*)(0x38E0100C)))
|
203 | | -#define VIC1INTENABLE (*((uint32_t volatile*)(0x38E01010)))
|
204 | | -#define VIC1INTENCLEAR (*((uint32_t volatile*)(0x38E01014)))
|
205 | | -#define VIC1SOFTINT (*((uint32_t volatile*)(0x38E01018)))
|
206 | | -#define VIC1SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0101C)))
|
207 | | -#define VIC1PROTECTION (*((uint32_t volatile*)(0x38E01020)))
|
208 | | -#define VIC1SWPRIORITYMASK (*((uint32_t volatile*)(0x38E01024)))
|
209 | | -#define VIC1PRIORITYDAISY (*((uint32_t volatile*)(0x38E01028)))
|
210 | | -#define VIC1VECTADDR(i) (*((const void* volatile*)(0x38E01100 + 4 * (i))))
|
211 | | -#define VIC1VECTADDR0 (*((const void* volatile*)(0x38E01100)))
|
212 | | -#define VIC1VECTADDR1 (*((const void* volatile*)(0x38E01104)))
|
213 | | -#define VIC1VECTADDR2 (*((const void* volatile*)(0x38E01108)))
|
214 | | -#define VIC1VECTADDR3 (*((const void* volatile*)(0x38E0110C)))
|
215 | | -#define VIC1VECTADDR4 (*((const void* volatile*)(0x38E01110)))
|
216 | | -#define VIC1VECTADDR5 (*((const void* volatile*)(0x38E01114)))
|
217 | | -#define VIC1VECTADDR6 (*((const void* volatile*)(0x38E01118)))
|
218 | | -#define VIC1VECTADDR7 (*((const void* volatile*)(0x38E0111C)))
|
219 | | -#define VIC1VECTADDR8 (*((const void* volatile*)(0x38E01120)))
|
220 | | -#define VIC1VECTADDR9 (*((const void* volatile*)(0x38E01124)))
|
221 | | -#define VIC1VECTADDR10 (*((const void* volatile*)(0x38E01128)))
|
222 | | -#define VIC1VECTADDR11 (*((const void* volatile*)(0x38E0112C)))
|
223 | | -#define VIC1VECTADDR12 (*((const void* volatile*)(0x38E01130)))
|
224 | | -#define VIC1VECTADDR13 (*((const void* volatile*)(0x38E01134)))
|
225 | | -#define VIC1VECTADDR14 (*((const void* volatile*)(0x38E01138)))
|
226 | | -#define VIC1VECTADDR15 (*((const void* volatile*)(0x38E0113C)))
|
227 | | -#define VIC1VECTADDR16 (*((const void* volatile*)(0x38E01140)))
|
228 | | -#define VIC1VECTADDR17 (*((const void* volatile*)(0x38E01144)))
|
229 | | -#define VIC1VECTADDR18 (*((const void* volatile*)(0x38E01148)))
|
230 | | -#define VIC1VECTADDR19 (*((const void* volatile*)(0x38E0114C)))
|
231 | | -#define VIC1VECTADDR20 (*((const void* volatile*)(0x38E01150)))
|
232 | | -#define VIC1VECTADDR21 (*((const void* volatile*)(0x38E01154)))
|
233 | | -#define VIC1VECTADDR22 (*((const void* volatile*)(0x38E01158)))
|
234 | | -#define VIC1VECTADDR23 (*((const void* volatile*)(0x38E0115C)))
|
235 | | -#define VIC1VECTADDR24 (*((const void* volatile*)(0x38E01160)))
|
236 | | -#define VIC1VECTADDR25 (*((const void* volatile*)(0x38E01164)))
|
237 | | -#define VIC1VECTADDR26 (*((const void* volatile*)(0x38E01168)))
|
238 | | -#define VIC1VECTADDR27 (*((const void* volatile*)(0x38E0116C)))
|
239 | | -#define VIC1VECTADDR28 (*((const void* volatile*)(0x38E01170)))
|
240 | | -#define VIC1VECTADDR29 (*((const void* volatile*)(0x38E01174)))
|
241 | | -#define VIC1VECTADDR30 (*((const void* volatile*)(0x38E01178)))
|
242 | | -#define VIC1VECTADDR31 (*((const void* volatile*)(0x38E0117C)))
|
243 | | -#define VIC1VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E01200 + 4 * (i))))
|
244 | | -#define VIC1VECTPRIORITY0 (*((uint32_t volatile*)(0x38E01200)))
|
245 | | -#define VIC1VECTPRIORITY1 (*((uint32_t volatile*)(0x38E01204)))
|
246 | | -#define VIC1VECTPRIORITY2 (*((uint32_t volatile*)(0x38E01208)))
|
247 | | -#define VIC1VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0120C)))
|
248 | | -#define VIC1VECTPRIORITY4 (*((uint32_t volatile*)(0x38E01210)))
|
249 | | -#define VIC1VECTPRIORITY5 (*((uint32_t volatile*)(0x38E01214)))
|
250 | | -#define VIC1VECTPRIORITY6 (*((uint32_t volatile*)(0x38E01218)))
|
251 | | -#define VIC1VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0121C)))
|
252 | | -#define VIC1VECTPRIORITY8 (*((uint32_t volatile*)(0x38E01220)))
|
253 | | -#define VIC1VECTPRIORITY9 (*((uint32_t volatile*)(0x38E01224)))
|
254 | | -#define VIC1VECTPRIORITY10 (*((uint32_t volatile*)(0x38E01228)))
|
255 | | -#define VIC1VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0122C)))
|
256 | | -#define VIC1VECTPRIORITY12 (*((uint32_t volatile*)(0x38E01230)))
|
257 | | -#define VIC1VECTPRIORITY13 (*((uint32_t volatile*)(0x38E01234)))
|
258 | | -#define VIC1VECTPRIORITY14 (*((uint32_t volatile*)(0x38E01238)))
|
259 | | -#define VIC1VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0123C)))
|
260 | | -#define VIC1VECTPRIORITY16 (*((uint32_t volatile*)(0x38E01240)))
|
261 | | -#define VIC1VECTPRIORITY17 (*((uint32_t volatile*)(0x38E01244)))
|
262 | | -#define VIC1VECTPRIORITY18 (*((uint32_t volatile*)(0x38E01248)))
|
263 | | -#define VIC1VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0124C)))
|
264 | | -#define VIC1VECTPRIORITY20 (*((uint32_t volatile*)(0x38E01250)))
|
265 | | -#define VIC1VECTPRIORITY21 (*((uint32_t volatile*)(0x38E01254)))
|
266 | | -#define VIC1VECTPRIORITY22 (*((uint32_t volatile*)(0x38E01258)))
|
267 | | -#define VIC1VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0125C)))
|
268 | | -#define VIC1VECTPRIORITY24 (*((uint32_t volatile*)(0x38E01260)))
|
269 | | -#define VIC1VECTPRIORITY25 (*((uint32_t volatile*)(0x38E01264)))
|
270 | | -#define VIC1VECTPRIORITY26 (*((uint32_t volatile*)(0x38E01268)))
|
271 | | -#define VIC1VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0126C)))
|
272 | | -#define VIC1VECTPRIORITY28 (*((uint32_t volatile*)(0x38E01270)))
|
273 | | -#define VIC1VECTPRIORITY29 (*((uint32_t volatile*)(0x38E01274)))
|
274 | | -#define VIC1VECTPRIORITY30 (*((uint32_t volatile*)(0x38E01278)))
|
275 | | -#define VIC1VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0127C)))
|
276 | | -#define VIC1ADDRESS (*((void* volatile*)(0x38E01F00)))
|
277 | | -
|
278 | | -
|
279 | | -/////GPIO/////
|
280 | | -#define PCON(i) (*((uint32_t volatile*)(0x3cf00000 + ((i) << 5))))
|
281 | | -#define PDAT(i) (*((uint32_t volatile*)(0x3cf00004 + ((i) << 5))))
|
282 | | -#define PUNA(i) (*((uint32_t volatile*)(0x3cf00008 + ((i) << 5))))
|
283 | | -#define PUNB(i) (*((uint32_t volatile*)(0x3cf0000c + ((i) << 5))))
|
284 | | -#define PCON0 (*((uint32_t volatile*)(0x3cf00000)))
|
285 | | -#define PDAT0 (*((uint32_t volatile*)(0x3cf00004)))
|
286 | | -#define PCON1 (*((uint32_t volatile*)(0x3cf00020)))
|
287 | | -#define PDAT1 (*((uint32_t volatile*)(0x3cf00024)))
|
288 | | -#define PCON2 (*((uint32_t volatile*)(0x3cf00040)))
|
289 | | -#define PDAT2 (*((uint32_t volatile*)(0x3cf00044)))
|
290 | | -#define PCON3 (*((uint32_t volatile*)(0x3cf00060)))
|
291 | | -#define PDAT3 (*((uint32_t volatile*)(0x3cf00064)))
|
292 | | -#define PCON4 (*((uint32_t volatile*)(0x3cf00080)))
|
293 | | -#define PDAT4 (*((uint32_t volatile*)(0x3cf00084)))
|
294 | | -#define PCON5 (*((uint32_t volatile*)(0x3cf000a0)))
|
295 | | -#define PDAT5 (*((uint32_t volatile*)(0x3cf000a4)))
|
296 | | -#define PCON6 (*((uint32_t volatile*)(0x3cf000c0)))
|
297 | | -#define PDAT6 (*((uint32_t volatile*)(0x3cf000c4)))
|
298 | | -#define PCON7 (*((uint32_t volatile*)(0x3cf000e0)))
|
299 | | -#define PDAT7 (*((uint32_t volatile*)(0x3cf000e4)))
|
300 | | -#define PCON8 (*((uint32_t volatile*)(0x3cf00100)))
|
301 | | -#define PDAT8 (*((uint32_t volatile*)(0x3cf00104)))
|
302 | | -#define PCON9 (*((uint32_t volatile*)(0x3cf00120)))
|
303 | | -#define PDAT9 (*((uint32_t volatile*)(0x3cf00124)))
|
304 | | -#define PCONA (*((uint32_t volatile*)(0x3cf00140)))
|
305 | | -#define PDATA (*((uint32_t volatile*)(0x3cf00144)))
|
306 | | -#define PCONB (*((uint32_t volatile*)(0x3cf00160)))
|
307 | | -#define PDATB (*((uint32_t volatile*)(0x3cf00164)))
|
308 | | -#define PCONC (*((uint32_t volatile*)(0x3cf00180)))
|
309 | | -#define PDATC (*((uint32_t volatile*)(0x3cf00184)))
|
310 | | -#define PCOND (*((uint32_t volatile*)(0x3cf001a0)))
|
311 | | -#define PDATD (*((uint32_t volatile*)(0x3cf001a4)))
|
312 | | -#define PCONE (*((uint32_t volatile*)(0x3cf001c0)))
|
313 | | -#define PDATE (*((uint32_t volatile*)(0x3cf001c4)))
|
314 | | -#define PCONF (*((uint32_t volatile*)(0x3cf001e0)))
|
315 | | -#define PDATF (*((uint32_t volatile*)(0x3cf001e4)))
|
316 | | -#define GPIOCMD (*((uint32_t volatile*)(0x3cf00200)))
|
317 | | -
|
318 | | -
|
319 | | -/////SPI/////
|
320 | | -#define SPIBASE(i) ((i) == 2 ? 0x3d200000 : \
|
321 | | - (i) == 1 ? 0x3ce00000 : \
|
322 | | - 0x3c300000)
|
323 | | -#define SPICLKGATE(i) ((i) == 2 ? 0x2f : \
|
324 | | - (i) == 1 ? 0x2b : \
|
325 | | - 0x22)
|
326 | | -#define SPIDMA(i) ((i) == 2 ? 0xd : \
|
327 | | - (i) == 1 ? 0xf : \
|
328 | | - 0x5)
|
329 | | -#define SPICTRL(i) (*((uint32_t volatile*)(SPIBASE(i))))
|
330 | | -#define SPISETUP(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x4)))
|
331 | | -#define SPISTATUS(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x8)))
|
332 | | -#define SPIUNKREG1(i) (*((uint32_t volatile*)(SPIBASE(i) + 0xc)))
|
333 | | -#define SPITXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x10)))
|
334 | | -#define SPIRXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x20)))
|
335 | | -#define SPICLKDIV(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x30)))
|
336 | | -#define SPIRXLIMIT(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x34)))
|
337 | | -#define SPIUNKREG3(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x38)))
|
338 | | -
|
339 | | -
|
340 | | -/////AES/////
|
341 | | -#define AESCONTROL (*((uint32_t volatile*)(0x38c00000)))
|
342 | | -#define AESGO (*((uint32_t volatile*)(0x38c00004)))
|
343 | | -#define AESUNKREG0 (*((uint32_t volatile*)(0x38c00008)))
|
344 | | -#define AESSTATUS (*((uint32_t volatile*)(0x38c0000c)))
|
345 | | -#define AESUNKREG1 (*((uint32_t volatile*)(0x38c00010)))
|
346 | | -#define AESKEYLEN (*((uint32_t volatile*)(0x38c00014)))
|
347 | | -#define AESOUTSIZE (*((uint32_t volatile*)(0x38c00018)))
|
348 | | -#define AESOUTADDR (*((void* volatile*)(0x38c00020)))
|
349 | | -#define AESINSIZE (*((uint32_t volatile*)(0x38c00024)))
|
350 | | -#define AESINADDR (*((const void* volatile*)(0x38c00028)))
|
351 | | -#define AESAUXSIZE (*((uint32_t volatile*)(0x38c0002c)))
|
352 | | -#define AESAUXADDR (*((void* volatile*)(0x38c00030)))
|
353 | | -#define AESSIZE3 (*((uint32_t volatile*)(0x38c00034)))
|
354 | | -#define AESKEY ((uint32_t volatile*)(0x38c0004c))
|
355 | | -#define AESTYPE (*((uint32_t volatile*)(0x38c0006c)))
|
356 | | -#define AESIV ((uint32_t volatile*)(0x38c00074))
|
357 | | -#define AESTYPE2 (*((uint32_t volatile*)(0x38c00088)))
|
358 | | -#define AESUNKREG2 (*((uint32_t volatile*)(0x38c0008c)))
|
359 | | -
|
360 | | -
|
361 | | -/////SHA1/////
|
362 | | -#define SHA1CONFIG (*((uint32_t volatile*)(0x38000000)))
|
363 | | -#define SHA1RESET (*((uint32_t volatile*)(0x38000004)))
|
364 | | -#define SHA1RESULT ((uint32_t volatile*)(0x38000020))
|
365 | | -#define SHA1DATAIN ((uint32_t volatile*)(0x38000040))
|
366 | | -
|
367 | | -
|
368 | | -/////DMA/////
|
369 | | -struct dma_lli
|
370 | | -{
|
371 | | - void* srcaddr;
|
372 | | - void* dstaddr;
|
373 | | - const struct dma_lli* nextlli;
|
374 | | - uint32_t control;
|
375 | | -};
|
376 | | -#define DMACINTSTS(d) (*((uint32_t volatile*)(0x38200000 + 0x1700000 * (d))))
|
377 | | -#define DMACINTTCSTS(d) (*((uint32_t volatile*)(0x38200004 + 0x1700000 * (d))))
|
378 | | -#define DMACINTTCCLR(d) (*((uint32_t volatile*)(0x38200008 + 0x1700000 * (d))))
|
379 | | -#define DMACINTERRSTS(d) (*((uint32_t volatile*)(0x3820000c + 0x1700000 * (d))))
|
380 | | -#define DMACINTERRCLR(d) (*((uint32_t volatile*)(0x38200010 + 0x1700000 * (d))))
|
381 | | -#define DMACRAWINTTCSTS(d) (*((uint32_t volatile*)(0x38200014 + 0x1700000 * (d))))
|
382 | | -#define DMACRAWINTERRSTS(d) (*((uint32_t volatile*)(0x38200018 + 0x1700000 * (d))))
|
383 | | -#define DMACENABLEDCHANS(d) (*((uint32_t volatile*)(0x3820001c + 0x1700000 * (d))))
|
384 | | -#define DMACSOFTBREQ(d) (*((uint32_t volatile*)(0x38200020 + 0x1700000 * (d))))
|
385 | | -#define DMACSOFTSREQ(d) (*((uint32_t volatile*)(0x38200024 + 0x1700000 * (d))))
|
386 | | -#define DMACSOFTLBREQ(d) (*((uint32_t volatile*)(0x38200028 + 0x1700000 * (d))))
|
387 | | -#define DMACSOFTLSREQ(d) (*((uint32_t volatile*)(0x3820002c + 0x1700000 * (d))))
|
388 | | -#define DMACCONFIG(d) (*((uint32_t volatile*)(0x38200030 + 0x1700000 * (d))))
|
389 | | -#define DMACSYNC(d) (*((uint32_t volatile*)(0x38200034 + 0x1700000 * (d))))
|
390 | | -#define DMACCLLI(d, c) (*((struct dma_lli volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c))))
|
391 | | -#define DMACCSRCADDR(d, c) (*((const void* volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c))))
|
392 | | -#define DMACCDESTADDR(d, c) (*((void* volatile*)(0x38200104 + 0x1700000 * (d) + 0x20 * (c))))
|
393 | | -#define DMACCNEXTLLI(d, c) (*((const void* volatile*)(0x38200108 + 0x1700000 * (d) + 0x20 * (c))))
|
394 | | -#define DMACCCONTROL(d, c) (*((uint32_t volatile*)(0x3820010c + 0x1700000 * (d) + 0x20 * (c))))
|
395 | | -#define DMACCCONFIG(d, c) (*((uint32_t volatile*)(0x38200110 + 0x1700000 * (d) + 0x20 * (c))))
|
396 | | -#define DMAC0INTSTS (*((uint32_t volatile*)(0x38200000)))
|
397 | | -#define DMAC0INTTCSTS (*((uint32_t volatile*)(0x38200004)))
|
398 | | -#define DMAC0INTTCCLR (*((uint32_t volatile*)(0x38200008)))
|
399 | | -#define DMAC0INTERRSTS (*((uint32_t volatile*)(0x3820000c)))
|
400 | | -#define DMAC0INTERRCLR (*((uint32_t volatile*)(0x38200010)))
|
401 | | -#define DMAC0RAWINTTCSTS (*((uint32_t volatile*)(0x38200014)))
|
402 | | -#define DMAC0RAWINTERRSTS (*((uint32_t volatile*)(0x38200018)))
|
403 | | -#define DMAC0ENABLEDCHANS (*((uint32_t volatile*)(0x3820001c)))
|
404 | | -#define DMAC0SOFTBREQ (*((uint32_t volatile*)(0x38200020)))
|
405 | | -#define DMAC0SOFTSREQ (*((uint32_t volatile*)(0x38200024)))
|
406 | | -#define DMAC0SOFTLBREQ (*((uint32_t volatile*)(0x38200028)))
|
407 | | -#define DMAC0SOFTLSREQ (*((uint32_t volatile*)(0x3820002c)))
|
408 | | -#define DMAC0CONFIG (*((uint32_t volatile*)(0x38200030)))
|
409 | | -#define DMAC0SYNC (*((uint32_t volatile*)(0x38200034)))
|
410 | | -#define DMAC0CLLI(c) (*((struct dma_lli volatile*)(0x38200100 + 0x20 * (c))))
|
411 | | -#define DMAC0CSRCADDR(c) (*((const void* volatile*)(0x38200100 + 0x20 * (c))))
|
412 | | -#define DMAC0CDESTADDR(c) (*((void* volatile*)(0x38200104 + 0x20 * (c))))
|
413 | | -#define DMAC0CNEXTLLI(c) (*((const void* volatile*)(0x38200108 + 0x20 * (c))))
|
414 | | -#define DMAC0CCONTROL(c) (*((uint32_t volatile*)(0x3820010c + 0x20 * (c))))
|
415 | | -#define DMAC0CCONFIG(c) (*((uint32_t volatile*)(0x38200110 + 0x20 * (c))))
|
416 | | -#define DMAC0C0LLI (*((struct dma_lli volatile*)(0x38200100)))
|
417 | | -#define DMAC0C0SRCADDR (*((const void* volatile*)(0x38200100)))
|
418 | | -#define DMAC0C0DESTADDR (*((void* volatile*)(0x38200104)))
|
419 | | -#define DMAC0C0NEXTLLI (*((const struct dma_lli* volatile*)(0x38200108)))
|
420 | | -#define DMAC0C0CONTROL (*((uint32_t volatile*)(0x3820010c)))
|
421 | | -#define DMAC0C0CONFIG (*((uint32_t volatile*)(0x38200110)))
|
422 | | -#define DMAC0C1LLI (*((struct dma_lli volatile*)(0x38200120)))
|
423 | | -#define DMAC0C1SRCADDR (*((const void* volatile*)(0x38200120)))
|
424 | | -#define DMAC0C1DESTADDR (*((void* volatile*)(0x38200124)))
|
425 | | -#define DMAC0C1NEXTLLI (*((const struct dma_lli* volatile*)(0x38200128)))
|
426 | | -#define DMAC0C1CONTROL (*((uint32_t volatile*)(0x3820012c)))
|
427 | | -#define DMAC0C1CONFIG (*((uint32_t volatile*)(0x38200130)))
|
428 | | -#define DMAC0C2LLI (*((struct dma_lli volatile*)(0x38200140)))
|
429 | | -#define DMAC0C2SRCADDR (*((const void* volatile*)(0x38200140)))
|
430 | | -#define DMAC0C2DESTADDR (*((void* volatile*)(0x38200144)))
|
431 | | -#define DMAC0C2NEXTLLI (*((const struct dma_lli* volatile*)(0x38200148)))
|
432 | | -#define DMAC0C2CONTROL (*((uint32_t volatile*)(0x3820014c)))
|
433 | | -#define DMAC0C2CONFIG (*((uint32_t volatile*)(0x38200150)))
|
434 | | -#define DMAC0C3LLI (*((struct dma_lli volatile*)(0x38200160)))
|
435 | | -#define DMAC0C3SRCADDR (*((const void* volatile*)(0x38200160)))
|
436 | | -#define DMAC0C3DESTADDR (*((void* volatile*)(0x38200164)))
|
437 | | -#define DMAC0C3NEXTLLI (*((const struct dma_lli* volatile*)(0x38200168)))
|
438 | | -#define DMAC0C3CONTROL (*((uint32_t volatile*)(0x3820016c)))
|
439 | | -#define DMAC0C3CONFIG (*((uint32_t volatile*)(0x38200170)))
|
440 | | -#define DMAC0C4LLI (*((struct dma_lli volatile*)(0x38200180)))
|
441 | | -#define DMAC0C4SRCADDR (*((const void* volatile*)(0x38200180)))
|
442 | | -#define DMAC0C4DESTADDR (*((void* volatile*)(0x38200184)))
|
443 | | -#define DMAC0C4NEXTLLI (*((const struct dma_lli* volatile*)(0x38200188)))
|
444 | | -#define DMAC0C4CONTROL (*((uint32_t volatile*)(0x3820018c)))
|
445 | | -#define DMAC0C4CONFIG (*((uint32_t volatile*)(0x38200190)))
|
446 | | -#define DMAC0C5LLI (*((struct dma_lli volatile*)(0x382001a0)))
|
447 | | -#define DMAC0C5SRCADDR (*((const void* volatile*)(0x382001a0)))
|
448 | | -#define DMAC0C5DESTADDR (*((void* volatile*)(0x382001a4)))
|
449 | | -#define DMAC0C5NEXTLLI (*((const struct dma_lli* volatile*)(0x382001a8)))
|
450 | | -#define DMAC0C5CONTROL (*((uint32_t volatile*)(0x382001ac)))
|
451 | | -#define DMAC0C5CONFIG (*((uint32_t volatile*)(0x382001b0)))
|
452 | | -#define DMAC0C6LLI (*((struct dma_lli volatile*)(0x382001c0)))
|
453 | | -#define DMAC0C6SRCADDR (*((const void* volatile*)(0x382001c0)))
|
454 | | -#define DMAC0C6DESTADDR (*((void* volatile*)(0x382001c4)))
|
455 | | -#define DMAC0C6NEXTLLI (*((const struct dma_lli* volatile*)(0x382001c8)))
|
456 | | -#define DMAC0C6CONTROL (*((uint32_t volatile*)(0x382001cc)))
|
457 | | -#define DMAC0C6CONFIG (*((uint32_t volatile*)(0x382001d0)))
|
458 | | -#define DMAC0C7LLI (*((struct dma_lli volatile*)(0x382001e0)))
|
459 | | -#define DMAC0C7SRCADDR (*((const void* volatile*)(0x382001e0)))
|
460 | | -#define DMAC0C7DESTADDR (*((void* volatile*)(0x382001e4)))
|
461 | | -#define DMAC0C7NEXTLLI (*((const struct dma_lli* volatile*)(0x382001e8)))
|
462 | | -#define DMAC0C7CONTROL (*((uint32_t volatile*)(0x382001ec)))
|
463 | | -#define DMAC0C7CONFIG (*((uint32_t volatile*)(0x382001f0)))
|
464 | | -#define DMAC1INTSTS (*((uint32_t volatile*)(0x39900000)))
|
465 | | -#define DMAC1INTTCSTS (*((uint32_t volatile*)(0x39900004)))
|
466 | | -#define DMAC1INTTCCLR (*((uint32_t volatile*)(0x39900008)))
|
467 | | -#define DMAC1INTERRSTS (*((uint32_t volatile*)(0x3990000c)))
|
468 | | -#define DMAC1INTERRCLR (*((uint32_t volatile*)(0x39900010)))
|
469 | | -#define DMAC1RAWINTTCSTS (*((uint32_t volatile*)(0x39900014)))
|
470 | | -#define DMAC1RAWINTERRSTS (*((uint32_t volatile*)(0x39900018)))
|
471 | | -#define DMAC1ENABLEDCHANS (*((uint32_t volatile*)(0x3990001c)))
|
472 | | -#define DMAC1SOFTBREQ (*((uint32_t volatile*)(0x39900020)))
|
473 | | -#define DMAC1SOFTSREQ (*((uint32_t volatile*)(0x39900024)))
|
474 | | -#define DMAC1SOFTLBREQ (*((uint32_t volatile*)(0x39900028)))
|
475 | | -#define DMAC1SOFTLSREQ (*((uint32_t volatile*)(0x3990002c)))
|
476 | | -#define DMAC1CONFIG (*((uint32_t volatile*)(0x39900030)))
|
477 | | -#define DMAC1SYNC (*((uint32_t volatile*)(0x39900034)))
|
478 | | -#define DMAC1CLLI(c) (*((struct dma_lli volatile*)(0x39900100 + 0x20 * (c))))
|
479 | | -#define DMAC1CSRCADDR(c) (*((const void* volatile*)(0x39900100 + 0x20 * (c))))
|
480 | | -#define DMAC1CDESTADDR(c) (*((void* volatile*)(0x39900104 + 0x20 * (c))))
|
481 | | -#define DMAC1CNEXTLLI(c) (*((const void* volatile*)(0x39900108 + 0x20 * (c))))
|
482 | | -#define DMAC1CCONTROL(c) (*((uint32_t volatile*)(0x3990010c + 0x20 * (c))))
|
483 | | -#define DMAC1CCONFIG(c) (*((uint32_t volatile*)(0x39900110 + 0x20 * (c))))
|
484 | | -#define DMAC1C0LLI (*((struct dma_lli volatile*)(0x39900100)))
|
485 | | -#define DMAC1C0SRCADDR (*((const void* volatile*)(0x39900100)))
|
486 | | -#define DMAC1C0DESTADDR (*((void* volatile*)(0x39900104)))
|
487 | | -#define DMAC1C0NEXTLLI (*((const struct dma_lli* volatile*)(0x39900108)))
|
488 | | -#define DMAC1C0CONTROL (*((uint32_t volatile*)(0x3990010c)))
|
489 | | -#define DMAC1C0CONFIG (*((uint32_t volatile*)(0x39900110)))
|
490 | | -#define DMAC1C1LLI (*((struct dma_lli volatile*)(0x39900120)))
|
491 | | -#define DMAC1C1SRCADDR (*((const void* volatile*)(0x39900120)))
|
492 | | -#define DMAC1C1DESTADDR (*((void* volatile*)(0x39900124)))
|
493 | | -#define DMAC1C1NEXTLLI (*((const struct dma_lli* volatile*)(0x39900128)))
|
494 | | -#define DMAC1C1CONTROL (*((uint32_t volatile*)(0x3990012c)))
|
495 | | -#define DMAC1C1CONFIG (*((uint32_t volatile*)(0x39900130)))
|
496 | | -#define DMAC1C2LLI (*((struct dma_lli volatile*)(0x39900140)))
|
497 | | -#define DMAC1C2SRCADDR (*((const void* volatile*)(0x39900140)))
|
498 | | -#define DMAC1C2DESTADDR (*((void* volatile*)(0x39900144)))
|
499 | | -#define DMAC1C2NEXTLLI (*((const struct dma_lli* volatile*)(0x39900148)))
|
500 | | -#define DMAC1C2CONTROL (*((uint32_t volatile*)(0x3990014c)))
|
501 | | -#define DMAC1C2CONFIG (*((uint32_t volatile*)(0x39900150)))
|
502 | | -#define DMAC1C3LLI (*((struct dma_lli volatile*)(0x39900160)))
|
503 | | -#define DMAC1C3SRCADDR (*((const void* volatile*)(0x39900160)))
|
504 | | -#define DMAC1C3DESTADDR (*((void* volatile*)(0x39900164)))
|
505 | | -#define DMAC1C3NEXTLLI (*((volatile void**)(0x39900168)))
|
506 | | -#define DMAC1C3CONTROL (*((uint32_t volatile*)(0x3990016c)))
|
507 | | -#define DMAC1C3CONFIG (*((uint32_t volatile*)(0x39900170)))
|
508 | | -#define DMAC1C4LLI (*((struct dma_lli volatile*)(0x39900180)))
|
509 | | -#define DMAC1C4SRCADDR (*((const void* volatile*)(0x39900180)))
|
510 | | -#define DMAC1C4DESTADDR (*((void* volatile*)(0x39900184)))
|
511 | | -#define DMAC1C4NEXTLLI (*((const struct dma_lli* volatile*)(0x39900188)))
|
512 | | -#define DMAC1C4CONTROL (*((uint32_t volatile*)(0x3990018c)))
|
513 | | -#define DMAC1C4CONFIG (*((uint32_t volatile*)(0x39900190)))
|
514 | | -#define DMAC1C5LLI (*((struct dma_lli volatile*)(0x399001a0)))
|
515 | | -#define DMAC1C5SRCADDR (*((const void* volatile*)(0x399001a0)))
|
516 | | -#define DMAC1C5DESTADDR (*((void* volatile*)(0x399001a4)))
|
517 | | -#define DMAC1C5NEXTLLI (*((const struct dma_lli* volatile*)(0x399001a8)))
|
518 | | -#define DMAC1C5CONTROL (*((uint32_t volatile*)(0x399001ac)))
|
519 | | -#define DMAC1C5CONFIG (*((uint32_t volatile*)(0x399001b0)))
|
520 | | -#define DMAC1C6LLI (*((struct dma_lli volatile*)(0x399001c0)))
|
521 | | -#define DMAC1C6SRCADDR (*((const void* volatile*)(0x399001c0)))
|
522 | | -#define DMAC1C6DESTADDR (*((void* volatile*)(0x399001c4)))
|
523 | | -#define DMAC1C6NEXTLLI (*((const struct dma_lli* volatile*)(0x399001c8)))
|
524 | | -#define DMAC1C6CONTROL (*((uint32_t volatile*)(0x399001cc)))
|
525 | | -#define DMAC1C6CONFIG (*((uint32_t volatile*)(0x399001d0)))
|
526 | | -#define DMAC1C7LLI (*((struct dma_lli volatile*)(0x399001e0)))
|
527 | | -#define DMAC1C7SRCADDR (*((const void* volatile*)(0x399001e0)))
|
528 | | -#define DMAC1C7DESTADDR (*((void* volatile*)(0x399001e4)))
|
529 | | -#define DMAC1C7NEXTLLI (*((const struct dma_lli* volatile*)(0x399001e8)))
|
530 | | -#define DMAC1C7CONTROL (*((uint32_t volatile*)(0x399001ec)))
|
531 | | -#define DMAC1C7CONFIG (*((uint32_t volatile*)(0x399001f0)))
|
532 | | -
|
533 | | -
|
534 | | -/////LCD/////
|
535 | | -#define LCDWCMD (*((uint32_t volatile*)(0x38300004)))
|
536 | | -#define LCDSTATUS (*((uint32_t volatile*)(0x3830001c)))
|
537 | | -#define LCDWDATA (*((uint32_t volatile*)(0x38300040)))
|
538 | | -
|
539 | | -
|
540 | | -/////ATA/////
|
541 | | -#define ATA_CONTROL (*((uint32_t volatile*)(0x38700000)))
|
542 | | -#define ATA_STATUS (*((uint32_t volatile*)(0x38700004)))
|
543 | | -#define ATA_COMMAND (*((uint32_t volatile*)(0x38700008)))
|
544 | | -#define ATA_SWRST (*((uint32_t volatile*)(0x3870000c)))
|
545 | | -#define ATA_IRQ (*((uint32_t volatile*)(0x38700010)))
|
546 | | -#define ATA_IRQ_MASK (*((uint32_t volatile*)(0x38700014)))
|
547 | | -#define ATA_CFG (*((uint32_t volatile*)(0x38700018)))
|
548 | | -#define ATA_MDMA_TIME (*((uint32_t volatile*)(0x38700028)))
|
549 | | -#define ATA_PIO_TIME (*((uint32_t volatile*)(0x3870002c)))
|
550 | | -#define ATA_UDMA_TIME (*((uint32_t volatile*)(0x38700030)))
|
551 | | -#define ATA_XFR_NUM (*((uint32_t volatile*)(0x38700034)))
|
552 | | -#define ATA_XFR_CNT (*((uint32_t volatile*)(0x38700038)))
|
553 | | -#define ATA_TBUF_START (*((void* volatile*)(0x3870003c)))
|
554 | | -#define ATA_TBUF_SIZE (*((uint32_t volatile*)(0x38700040)))
|
555 | | -#define ATA_SBUF_START (*((void* volatile*)(0x38700044)))
|
556 | | -#define ATA_SBUF_SIZE (*((uint32_t volatile*)(0x38700048)))
|
557 | | -#define ATA_CADR_TBUF (*((void* volatile*)(0x3870004c)))
|
558 | | -#define ATA_CADR_SBUF (*((void* volatile*)(0x38700050)))
|
559 | | -#define ATA_PIO_DTR (*((uint32_t volatile*)(0x38700054)))
|
560 | | -#define ATA_PIO_FED (*((uint32_t volatile*)(0x38700058)))
|
561 | | -#define ATA_PIO_SCR (*((uint32_t volatile*)(0x3870005c)))
|
562 | | -#define ATA_PIO_LLR (*((uint32_t volatile*)(0x38700060)))
|
563 | | -#define ATA_PIO_LMR (*((uint32_t volatile*)(0x38700064)))
|
564 | | -#define ATA_PIO_LHR (*((uint32_t volatile*)(0x38700068)))
|
565 | | -#define ATA_PIO_DVR (*((uint32_t volatile*)(0x3870006c)))
|
566 | | -#define ATA_PIO_CSD (*((uint32_t volatile*)(0x38700070)))
|
567 | | -#define ATA_PIO_DAD (*((uint32_t volatile*)(0x38700074)))
|
568 | | -#define ATA_PIO_READY (*((uint32_t volatile*)(0x38700078)))
|
569 | | -#define ATA_PIO_RDATA (*((uint32_t volatile*)(0x3870007c)))
|
570 | | -#define ATA_BUS_FIFO_STATUS (*((uint32_t volatile*)(0x38700080)))
|
571 | | -#define ATA_FIFO_STATUS (*((uint32_t volatile*)(0x38700084)))
|
572 | | -#define ATA_DMA_ADDR (*((void* volatile*)(0x38700088)))
|
573 | | -
|
574 | | -
|
575 | | -/////CLICKWHEEL/////
|
576 | | -#define WHEEL00 (*((uint32_t volatile*)(0x3C200000)))
|
577 | | -#define WHEEL04 (*((uint32_t volatile*)(0x3C200004)))
|
578 | | -#define WHEEL08 (*((uint32_t volatile*)(0x3C200008)))
|
579 | | -#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C)))
|
580 | | -#define WHEEL10 (*((uint32_t volatile*)(0x3C200010)))
|
581 | | -#define WHEELINT (*((uint32_t volatile*)(0x3C200014)))
|
582 | | -#define WHEELRX (*((uint32_t volatile*)(0x3C200018)))
|
583 | | -#define WHEELTX (*((uint32_t volatile*)(0x3C20001C)))
|
584 | | -
|
585 | | -
|
586 | | -/////CLOCK GATES/////
|
587 | | -#define CLOCKGATE_USB_1 2
|
588 | | -#define CLOCKGATE_USB_2 35
|
589 | | -
|
590 | | -
|
591 | | -/////INTERRUPTS/////
|
592 | | -#define IRQ_TIMER 8
|
593 | | -#define IRQ_USB_FUNC 19
|
594 | | -#define IRQ_DMAC(d) 16 + d
|
595 | | -#define IRQ_DMAC0 16
|
596 | | -#define IRQ_DMAC1 17
|
597 | | -#define IRQ_WHEEL 23
|
598 | | -#define IRQ_ATA 29
|
599 | | -
|
600 | | -
|
601 | | -#endif
|
| 2 | +// |
| 3 | +// |
| 4 | +// Copyright 2010 TheSeven |
| 5 | +// |
| 6 | +// |
| 7 | +// This file is part of emCORE. |
| 8 | +// |
| 9 | +// emCORE is free software: you can redistribute it and/or |
| 10 | +// modify it under the terms of the GNU General Public License as |
| 11 | +// published by the Free Software Foundation, either version 2 of the |
| 12 | +// License, or (at your option) any later version. |
| 13 | +// |
| 14 | +// emCORE is distributed in the hope that it will be useful, |
| 15 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 17 | +// See the GNU General Public License for more details. |
| 18 | +// |
| 19 | +// You should have received a copy of the GNU General Public License along |
| 20 | +// with emCORE. If not, see <http://www.gnu.org/licenses/>. |
| 21 | +// |
| 22 | +// |
| 23 | + |
| 24 | + |
| 25 | +#ifndef __S5L8702_H__ |
| 26 | +#define __S5L8702_H__ |
| 27 | + |
| 28 | +#include "global.h" |
| 29 | + |
| 30 | + |
| 31 | +/////SYSCON///// |
| 32 | +#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 \ |
| 33 | + + ((i) == 4 ? 0x6C : \ |
| 34 | + ((i) == 3 ? 0x68 : \ |
| 35 | + ((i) == 2 ? 0x58 : \ |
| 36 | + ((i) == 1 ? 0x4C : \ |
| 37 | + 0x48))))))) |
| 38 | + |
| 39 | + |
| 40 | +/////TIMER///// |
| 41 | +#define TACON (*((uint32_t volatile*)(0x3C700000))) |
| 42 | +#define TACMD (*((uint32_t volatile*)(0x3C700004))) |
| 43 | +#define TADATA0 (*((uint32_t volatile*)(0x3C700008))) |
| 44 | +#define TADATA1 (*((uint32_t volatile*)(0x3C70000C))) |
| 45 | +#define TAPRE (*((uint32_t volatile*)(0x3C700010))) |
| 46 | +#define TACNT (*((uint32_t volatile*)(0x3C700014))) |
| 47 | +#define TBCON (*((uint32_t volatile*)(0x3C700020))) |
| 48 | +#define TBCMD (*((uint32_t volatile*)(0x3C700024))) |
| 49 | +#define TBDATA0 (*((uint32_t volatile*)(0x3C700028))) |
| 50 | +#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C))) |
| 51 | +#define TBPRE (*((uint32_t volatile*)(0x3C700030))) |
| 52 | +#define TBCNT (*((uint32_t volatile*)(0x3C700034))) |
| 53 | +#define TCCON (*((uint32_t volatile*)(0x3C700040))) |
| 54 | +#define TCCMD (*((uint32_t volatile*)(0x3C700044))) |
| 55 | +#define TCDATA0 (*((uint32_t volatile*)(0x3C700048))) |
| 56 | +#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C))) |
| 57 | +#define TCPRE (*((uint32_t volatile*)(0x3C700050))) |
| 58 | +#define TCCNT (*((uint32_t volatile*)(0x3C700054))) |
| 59 | +#define TDCON (*((uint32_t volatile*)(0x3C700060))) |
| 60 | +#define TDCMD (*((uint32_t volatile*)(0x3C700064))) |
| 61 | +#define TDDATA0 (*((uint32_t volatile*)(0x3C700068))) |
| 62 | +#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C))) |
| 63 | +#define TDPRE (*((uint32_t volatile*)(0x3C700070))) |
| 64 | +#define TDCNT (*((uint32_t volatile*)(0x3C700074))) |
| 65 | +#define TECON (*((uint32_t volatile*)(0x3C7000A0))) |
| 66 | +#define TECMD (*((uint32_t volatile*)(0x3C7000A4))) |
| 67 | +#define TEDATA0 (*((uint32_t volatile*)(0x3C7000A8))) |
| 68 | +#define TEDATA1 (*((uint32_t volatile*)(0x3C7000AC))) |
| 69 | +#define TEPRE (*((uint32_t volatile*)(0x3C7000B0))) |
| 70 | +#define TECNT (*((uint32_t volatile*)(0x3C7000B4))) |
| 71 | +#define TFCON (*((uint32_t volatile*)(0x3C7000C0))) |
| 72 | +#define TFCMD (*((uint32_t volatile*)(0x3C7000C4))) |
| 73 | +#define TFDATA0 (*((uint32_t volatile*)(0x3C7000C8))) |
| 74 | +#define TFDATA1 (*((uint32_t volatile*)(0x3C7000CC))) |
| 75 | +#define TFPRE (*((uint32_t volatile*)(0x3C7000D0))) |
| 76 | +#define TFCNT (*((uint32_t volatile*)(0x3C7000D4))) |
| 77 | +#define TGCON (*((uint32_t volatile*)(0x3C7000E0))) |
| 78 | +#define TGCMD (*((uint32_t volatile*)(0x3C7000E4))) |
| 79 | +#define TGDATA0 (*((uint32_t volatile*)(0x3C7000E8))) |
| 80 | +#define TGDATA1 (*((uint32_t volatile*)(0x3C7000EC))) |
| 81 | +#define TGPRE (*((uint32_t volatile*)(0x3C7000F0))) |
| 82 | +#define TGCNT (*((uint32_t volatile*)(0x3C7000F4))) |
| 83 | +#define THCON (*((uint32_t volatile*)(0x3C700100))) |
| 84 | +#define THCMD (*((uint32_t volatile*)(0x3C700104))) |
| 85 | +#define THDATA0 (*((uint32_t volatile*)(0x3C700108))) |
| 86 | +#define THDATA1 (*((uint32_t volatile*)(0x3C70010C))) |
| 87 | +#define THPRE (*((uint32_t volatile*)(0x3C700110))) |
| 88 | +#define THCNT (*((uint32_t volatile*)(0x3C700114))) |
| 89 | + |
| 90 | + |
| 91 | +/////USB///// |
| 92 | +#define OTGBASE 0x38400000 |
| 93 | +#define PHYBASE 0x3C400000 |
| 94 | +#define SYNOPSYSOTG_CLOCK 0 |
| 95 | +#define SYNOPSYSOTG_AHBCFG 0x2B |
| 96 | + |
| 97 | + |
| 98 | +/////I2C///// |
| 99 | +#define IICCON(bus) (*((uint32_t volatile*)(0x3C600000 + 0x300000 * (bus)))) |
| 100 | +#define IICSTAT(bus) (*((uint32_t volatile*)(0x3C600004 + 0x300000 * (bus)))) |
| 101 | +#define IICADD(bus) (*((uint32_t volatile*)(0x3C600008 + 0x300000 * (bus)))) |
| 102 | +#define IICDS(bus) (*((uint32_t volatile*)(0x3C60000C + 0x300000 * (bus)))) |
| 103 | +#define IIC10(bus) (*((uint32_t volatile*)(0x3C600010 + 0x300000 * (bus)))) |
| 104 | + |
| 105 | + |
| 106 | +/////INTERRUPT CONTROLLERS///// |
| 107 | +#define VICIRQSTATUS(v) (*((uint32_t volatile*)(0x38E00000 + 0x1000 * (v)))) |
| 108 | +#define VICFIQSTATUS(v) (*((uint32_t volatile*)(0x38E00004 + 0x1000 * (v)))) |
| 109 | +#define VICRAWINTR(v) (*((uint32_t volatile*)(0x38E00008 + 0x1000 * (v)))) |
| 110 | +#define VICINTSELECT(v) (*((uint32_t volatile*)(0x38E0000C + 0x1000 * (v)))) |
| 111 | +#define VICINTENABLE(v) (*((uint32_t volatile*)(0x38E00010 + 0x1000 * (v)))) |
| 112 | +#define VICINTENCLEAR(v) (*((uint32_t volatile*)(0x38E00014 + 0x1000 * (v)))) |
| 113 | +#define VICSOFTINT(v) (*((uint32_t volatile*)(0x38E00018 + 0x1000 * (v)))) |
| 114 | +#define VICSOFTINTCLEAR(v) (*((uint32_t volatile*)(0x38E0001C + 0x1000 * (v)))) |
| 115 | +#define VICPROTECTION(v) (*((uint32_t volatile*)(0x38E00020 + 0x1000 * (v)))) |
| 116 | +#define VICSWPRIORITYMASK(v) (*((uint32_t volatile*)(0x38E00024 + 0x1000 * (v)))) |
| 117 | +#define VICPRIORITYDAISY(v) (*((uint32_t volatile*)(0x38E00028 + 0x1000 * (v)))) |
| 118 | +#define VICVECTADDR(v, i) (*((uint32_t volatile*)(0x38E00100 + 0x1000 * (v) + 4 * (i)))) |
| 119 | +#define VICVECTPRIORITY(v, i) (*((uint32_t volatile*)(0x38E00200 + 0x1000 * (v) + 4 * (i)))) |
| 120 | +#define VICADDRESS(v) (*((const void* volatile*)(0x38E00F00 + 0x1000 * (v)))) |
| 121 | +#define VIC0IRQSTATUS (*((uint32_t volatile*)(0x38E00000))) |
| 122 | +#define VIC0FIQSTATUS (*((uint32_t volatile*)(0x38E00004))) |
| 123 | +#define VIC0RAWINTR (*((uint32_t volatile*)(0x38E00008))) |
| 124 | +#define VIC0INTSELECT (*((uint32_t volatile*)(0x38E0000C))) |
| 125 | +#define VIC0INTENABLE (*((uint32_t volatile*)(0x38E00010))) |
| 126 | +#define VIC0INTENCLEAR (*((uint32_t volatile*)(0x38E00014))) |
| 127 | +#define VIC0SOFTINT (*((uint32_t volatile*)(0x38E00018))) |
| 128 | +#define VIC0SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0001C))) |
| 129 | +#define VIC0PROTECTION (*((uint32_t volatile*)(0x38E00020))) |
| 130 | +#define VIC0SWPRIORITYMASK (*((uint32_t volatile*)(0x38E00024))) |
| 131 | +#define VIC0PRIORITYDAISY (*((uint32_t volatile*)(0x38E00028))) |
| 132 | +#define VIC0VECTADDR(i) (*((const void* volatile*)(0x38E00100 + 4 * (i)))) |
| 133 | +#define VIC0VECTADDR0 (*((const void* volatile*)(0x38E00100))) |
| 134 | +#define VIC0VECTADDR1 (*((const void* volatile*)(0x38E00104))) |
| 135 | +#define VIC0VECTADDR2 (*((const void* volatile*)(0x38E00108))) |
| 136 | +#define VIC0VECTADDR3 (*((const void* volatile*)(0x38E0010C))) |
| 137 | +#define VIC0VECTADDR4 (*((const void* volatile*)(0x38E00110))) |
| 138 | +#define VIC0VECTADDR5 (*((const void* volatile*)(0x38E00114))) |
| 139 | +#define VIC0VECTADDR6 (*((const void* volatile*)(0x38E00118))) |
| 140 | +#define VIC0VECTADDR7 (*((const void* volatile*)(0x38E0011C))) |
| 141 | +#define VIC0VECTADDR8 (*((const void* volatile*)(0x38E00120))) |
| 142 | +#define VIC0VECTADDR9 (*((const void* volatile*)(0x38E00124))) |
| 143 | +#define VIC0VECTADDR10 (*((const void* volatile*)(0x38E00128))) |
| 144 | +#define VIC0VECTADDR11 (*((const void* volatile*)(0x38E0012C))) |
| 145 | +#define VIC0VECTADDR12 (*((const void* volatile*)(0x38E00130))) |
| 146 | +#define VIC0VECTADDR13 (*((const void* volatile*)(0x38E00134))) |
| 147 | +#define VIC0VECTADDR14 (*((const void* volatile*)(0x38E00138))) |
| 148 | +#define VIC0VECTADDR15 (*((const void* volatile*)(0x38E0013C))) |
| 149 | +#define VIC0VECTADDR16 (*((const void* volatile*)(0x38E00140))) |
| 150 | +#define VIC0VECTADDR17 (*((const void* volatile*)(0x38E00144))) |
| 151 | +#define VIC0VECTADDR18 (*((const void* volatile*)(0x38E00148))) |
| 152 | +#define VIC0VECTADDR19 (*((const void* volatile*)(0x38E0014C))) |
| 153 | +#define VIC0VECTADDR20 (*((const void* volatile*)(0x38E00150))) |
| 154 | +#define VIC0VECTADDR21 (*((const void* volatile*)(0x38E00154))) |
| 155 | +#define VIC0VECTADDR22 (*((const void* volatile*)(0x38E00158))) |
| 156 | +#define VIC0VECTADDR23 (*((const void* volatile*)(0x38E0015C))) |
| 157 | +#define VIC0VECTADDR24 (*((const void* volatile*)(0x38E00160))) |
| 158 | +#define VIC0VECTADDR25 (*((const void* volatile*)(0x38E00164))) |
| 159 | +#define VIC0VECTADDR26 (*((const void* volatile*)(0x38E00168))) |
| 160 | +#define VIC0VECTADDR27 (*((const void* volatile*)(0x38E0016C))) |
| 161 | +#define VIC0VECTADDR28 (*((const void* volatile*)(0x38E00170))) |
| 162 | +#define VIC0VECTADDR29 (*((const void* volatile*)(0x38E00174))) |
| 163 | +#define VIC0VECTADDR30 (*((const void* volatile*)(0x38E00178))) |
| 164 | +#define VIC0VECTADDR31 (*((const void* volatile*)(0x38E0017C))) |
| 165 | +#define VIC0VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E00200 + 4 * (i)))) |
| 166 | +#define VIC0VECTPRIORITY0 (*((uint32_t volatile*)(0x38E00200))) |
| 167 | +#define VIC0VECTPRIORITY1 (*((uint32_t volatile*)(0x38E00204))) |
| 168 | +#define VIC0VECTPRIORITY2 (*((uint32_t volatile*)(0x38E00208))) |
| 169 | +#define VIC0VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0020C))) |
| 170 | +#define VIC0VECTPRIORITY4 (*((uint32_t volatile*)(0x38E00210))) |
| 171 | +#define VIC0VECTPRIORITY5 (*((uint32_t volatile*)(0x38E00214))) |
| 172 | +#define VIC0VECTPRIORITY6 (*((uint32_t volatile*)(0x38E00218))) |
| 173 | +#define VIC0VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0021C))) |
| 174 | +#define VIC0VECTPRIORITY8 (*((uint32_t volatile*)(0x38E00220))) |
| 175 | +#define VIC0VECTPRIORITY9 (*((uint32_t volatile*)(0x38E00224))) |
| 176 | +#define VIC0VECTPRIORITY10 (*((uint32_t volatile*)(0x38E00228))) |
| 177 | +#define VIC0VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0022C))) |
| 178 | +#define VIC0VECTPRIORITY12 (*((uint32_t volatile*)(0x38E00230))) |
| 179 | +#define VIC0VECTPRIORITY13 (*((uint32_t volatile*)(0x38E00234))) |
| 180 | +#define VIC0VECTPRIORITY14 (*((uint32_t volatile*)(0x38E00238))) |
| 181 | +#define VIC0VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0023C))) |
| 182 | +#define VIC0VECTPRIORITY16 (*((uint32_t volatile*)(0x38E00240))) |
| 183 | +#define VIC0VECTPRIORITY17 (*((uint32_t volatile*)(0x38E00244))) |
| 184 | +#define VIC0VECTPRIORITY18 (*((uint32_t volatile*)(0x38E00248))) |
| 185 | +#define VIC0VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0024C))) |
| 186 | +#define VIC0VECTPRIORITY20 (*((uint32_t volatile*)(0x38E00250))) |
| 187 | +#define VIC0VECTPRIORITY21 (*((uint32_t volatile*)(0x38E00254))) |
| 188 | +#define VIC0VECTPRIORITY22 (*((uint32_t volatile*)(0x38E00258))) |
| 189 | +#define VIC0VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0025C))) |
| 190 | +#define VIC0VECTPRIORITY24 (*((uint32_t volatile*)(0x38E00260))) |
| 191 | +#define VIC0VECTPRIORITY25 (*((uint32_t volatile*)(0x38E00264))) |
| 192 | +#define VIC0VECTPRIORITY26 (*((uint32_t volatile*)(0x38E00268))) |
| 193 | +#define VIC0VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0026C))) |
| 194 | +#define VIC0VECTPRIORITY28 (*((uint32_t volatile*)(0x38E00270))) |
| 195 | +#define VIC0VECTPRIORITY29 (*((uint32_t volatile*)(0x38E00274))) |
| 196 | +#define VIC0VECTPRIORITY30 (*((uint32_t volatile*)(0x38E00278))) |
| 197 | +#define VIC0VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0027C))) |
| 198 | +#define VIC0ADDRESS (*((void* volatile*)(0x38E00F00))) |
| 199 | +#define VIC1IRQSTATUS (*((uint32_t volatile*)(0x38E01000))) |
| 200 | +#define VIC1FIQSTATUS (*((uint32_t volatile*)(0x38E01004))) |
| 201 | +#define VIC1RAWINTR (*((uint32_t volatile*)(0x38E01008))) |
| 202 | +#define VIC1INTSELECT (*((uint32_t volatile*)(0x38E0100C))) |
| 203 | +#define VIC1INTENABLE (*((uint32_t volatile*)(0x38E01010))) |
| 204 | +#define VIC1INTENCLEAR (*((uint32_t volatile*)(0x38E01014))) |
| 205 | +#define VIC1SOFTINT (*((uint32_t volatile*)(0x38E01018))) |
| 206 | +#define VIC1SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0101C))) |
| 207 | +#define VIC1PROTECTION (*((uint32_t volatile*)(0x38E01020))) |
| 208 | +#define VIC1SWPRIORITYMASK (*((uint32_t volatile*)(0x38E01024))) |
| 209 | +#define VIC1PRIORITYDAISY (*((uint32_t volatile*)(0x38E01028))) |
| 210 | +#define VIC1VECTADDR(i) (*((const void* volatile*)(0x38E01100 + 4 * (i)))) |
| 211 | +#define VIC1VECTADDR0 (*((const void* volatile*)(0x38E01100))) |
| 212 | +#define VIC1VECTADDR1 (*((const void* volatile*)(0x38E01104))) |
| 213 | +#define VIC1VECTADDR2 (*((const void* volatile*)(0x38E01108))) |
| 214 | +#define VIC1VECTADDR3 (*((const void* volatile*)(0x38E0110C))) |
| 215 | +#define VIC1VECTADDR4 (*((const void* volatile*)(0x38E01110))) |
| 216 | +#define VIC1VECTADDR5 (*((const void* volatile*)(0x38E01114))) |
| 217 | +#define VIC1VECTADDR6 (*((const void* volatile*)(0x38E01118))) |
| 218 | +#define VIC1VECTADDR7 (*((const void* volatile*)(0x38E0111C))) |
| 219 | +#define VIC1VECTADDR8 (*((const void* volatile*)(0x38E01120))) |
| 220 | +#define VIC1VECTADDR9 (*((const void* volatile*)(0x38E01124))) |
| 221 | +#define VIC1VECTADDR10 (*((const void* volatile*)(0x38E01128))) |
| 222 | +#define VIC1VECTADDR11 (*((const void* volatile*)(0x38E0112C))) |
| 223 | +#define VIC1VECTADDR12 (*((const void* volatile*)(0x38E01130))) |
| 224 | +#define VIC1VECTADDR13 (*((const void* volatile*)(0x38E01134))) |
| 225 | +#define VIC1VECTADDR14 (*((const void* volatile*)(0x38E01138))) |
| 226 | +#define VIC1VECTADDR15 (*((const void* volatile*)(0x38E0113C))) |
| 227 | +#define VIC1VECTADDR16 (*((const void* volatile*)(0x38E01140))) |
| 228 | +#define VIC1VECTADDR17 (*((const void* volatile*)(0x38E01144))) |
| 229 | +#define VIC1VECTADDR18 (*((const void* volatile*)(0x38E01148))) |
| 230 | +#define VIC1VECTADDR19 (*((const void* volatile*)(0x38E0114C))) |
| 231 | +#define VIC1VECTADDR20 (*((const void* volatile*)(0x38E01150))) |
| 232 | +#define VIC1VECTADDR21 (*((const void* volatile*)(0x38E01154))) |
| 233 | +#define VIC1VECTADDR22 (*((const void* volatile*)(0x38E01158))) |
| 234 | +#define VIC1VECTADDR23 (*((const void* volatile*)(0x38E0115C))) |
| 235 | +#define VIC1VECTADDR24 (*((const void* volatile*)(0x38E01160))) |
| 236 | +#define VIC1VECTADDR25 (*((const void* volatile*)(0x38E01164))) |
| 237 | +#define VIC1VECTADDR26 (*((const void* volatile*)(0x38E01168))) |
| 238 | +#define VIC1VECTADDR27 (*((const void* volatile*)(0x38E0116C))) |
| 239 | +#define VIC1VECTADDR28 (*((const void* volatile*)(0x38E01170))) |
| 240 | +#define VIC1VECTADDR29 (*((const void* volatile*)(0x38E01174))) |
| 241 | +#define VIC1VECTADDR30 (*((const void* volatile*)(0x38E01178))) |
| 242 | +#define VIC1VECTADDR31 (*((const void* volatile*)(0x38E0117C))) |
| 243 | +#define VIC1VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E01200 + 4 * (i)))) |
| 244 | +#define VIC1VECTPRIORITY0 (*((uint32_t volatile*)(0x38E01200))) |
| 245 | +#define VIC1VECTPRIORITY1 (*((uint32_t volatile*)(0x38E01204))) |
| 246 | +#define VIC1VECTPRIORITY2 (*((uint32_t volatile*)(0x38E01208))) |
| 247 | +#define VIC1VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0120C))) |
| 248 | +#define VIC1VECTPRIORITY4 (*((uint32_t volatile*)(0x38E01210))) |
| 249 | +#define VIC1VECTPRIORITY5 (*((uint32_t volatile*)(0x38E01214))) |
| 250 | +#define VIC1VECTPRIORITY6 (*((uint32_t volatile*)(0x38E01218))) |
| 251 | +#define VIC1VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0121C))) |
| 252 | +#define VIC1VECTPRIORITY8 (*((uint32_t volatile*)(0x38E01220))) |
| 253 | +#define VIC1VECTPRIORITY9 (*((uint32_t volatile*)(0x38E01224))) |
| 254 | +#define VIC1VECTPRIORITY10 (*((uint32_t volatile*)(0x38E01228))) |
| 255 | +#define VIC1VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0122C))) |
| 256 | +#define VIC1VECTPRIORITY12 (*((uint32_t volatile*)(0x38E01230))) |
| 257 | +#define VIC1VECTPRIORITY13 (*((uint32_t volatile*)(0x38E01234))) |
| 258 | +#define VIC1VECTPRIORITY14 (*((uint32_t volatile*)(0x38E01238))) |
| 259 | +#define VIC1VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0123C))) |
| 260 | +#define VIC1VECTPRIORITY16 (*((uint32_t volatile*)(0x38E01240))) |
| 261 | +#define VIC1VECTPRIORITY17 (*((uint32_t volatile*)(0x38E01244))) |
| 262 | +#define VIC1VECTPRIORITY18 (*((uint32_t volatile*)(0x38E01248))) |
| 263 | +#define VIC1VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0124C))) |
| 264 | +#define VIC1VECTPRIORITY20 (*((uint32_t volatile*)(0x38E01250))) |
| 265 | +#define VIC1VECTPRIORITY21 (*((uint32_t volatile*)(0x38E01254))) |
| 266 | +#define VIC1VECTPRIORITY22 (*((uint32_t volatile*)(0x38E01258))) |
| 267 | +#define VIC1VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0125C))) |
| 268 | +#define VIC1VECTPRIORITY24 (*((uint32_t volatile*)(0x38E01260))) |
| 269 | +#define VIC1VECTPRIORITY25 (*((uint32_t volatile*)(0x38E01264))) |
| 270 | +#define VIC1VECTPRIORITY26 (*((uint32_t volatile*)(0x38E01268))) |
| 271 | +#define VIC1VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0126C))) |
| 272 | +#define VIC1VECTPRIORITY28 (*((uint32_t volatile*)(0x38E01270))) |
| 273 | +#define VIC1VECTPRIORITY29 (*((uint32_t volatile*)(0x38E01274))) |
| 274 | +#define VIC1VECTPRIORITY30 (*((uint32_t volatile*)(0x38E01278))) |
| 275 | +#define VIC1VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0127C))) |
| 276 | +#define VIC1ADDRESS (*((void* volatile*)(0x38E01F00))) |
| 277 | + |
| 278 | + |
| 279 | +/////GPIO///// |
| 280 | +#define PCON(i) (*((uint32_t volatile*)(0x3cf00000 + ((i) << 5)))) |
| 281 | +#define PDAT(i) (*((uint32_t volatile*)(0x3cf00004 + ((i) << 5)))) |
| 282 | +#define PUNA(i) (*((uint32_t volatile*)(0x3cf00008 + ((i) << 5)))) |
| 283 | +#define PUNB(i) (*((uint32_t volatile*)(0x3cf0000c + ((i) << 5)))) |
| 284 | +#define PCON0 (*((uint32_t volatile*)(0x3cf00000))) |
| 285 | +#define PDAT0 (*((uint32_t volatile*)(0x3cf00004))) |
| 286 | +#define PCON1 (*((uint32_t volatile*)(0x3cf00020))) |
| 287 | +#define PDAT1 (*((uint32_t volatile*)(0x3cf00024))) |
| 288 | +#define PCON2 (*((uint32_t volatile*)(0x3cf00040))) |
| 289 | +#define PDAT2 (*((uint32_t volatile*)(0x3cf00044))) |
| 290 | +#define PCON3 (*((uint32_t volatile*)(0x3cf00060))) |
| 291 | +#define PDAT3 (*((uint32_t volatile*)(0x3cf00064))) |
| 292 | +#define PCON4 (*((uint32_t volatile*)(0x3cf00080))) |
| 293 | +#define PDAT4 (*((uint32_t volatile*)(0x3cf00084))) |
| 294 | +#define PCON5 (*((uint32_t volatile*)(0x3cf000a0))) |
| 295 | +#define PDAT5 (*((uint32_t volatile*)(0x3cf000a4))) |
| 296 | +#define PCON6 (*((uint32_t volatile*)(0x3cf000c0))) |
| 297 | +#define PDAT6 (*((uint32_t volatile*)(0x3cf000c4))) |
| 298 | +#define PCON7 (*((uint32_t volatile*)(0x3cf000e0))) |
| 299 | +#define PDAT7 (*((uint32_t volatile*)(0x3cf000e4))) |
| 300 | +#define PCON8 (*((uint32_t volatile*)(0x3cf00100))) |
| 301 | +#define PDAT8 (*((uint32_t volatile*)(0x3cf00104))) |
| 302 | +#define PCON9 (*((uint32_t volatile*)(0x3cf00120))) |
| 303 | +#define PDAT9 (*((uint32_t volatile*)(0x3cf00124))) |
| 304 | +#define PCONA (*((uint32_t volatile*)(0x3cf00140))) |
| 305 | +#define PDATA (*((uint32_t volatile*)(0x3cf00144))) |
| 306 | +#define PCONB (*((uint32_t volatile*)(0x3cf00160))) |
| 307 | +#define PDATB (*((uint32_t volatile*)(0x3cf00164))) |
| 308 | +#define PCONC (*((uint32_t volatile*)(0x3cf00180))) |
| 309 | +#define PDATC (*((uint32_t volatile*)(0x3cf00184))) |
| 310 | +#define PCOND (*((uint32_t volatile*)(0x3cf001a0))) |
| 311 | +#define PDATD (*((uint32_t volatile*)(0x3cf001a4))) |
| 312 | +#define PCONE (*((uint32_t volatile*)(0x3cf001c0))) |
| 313 | +#define PDATE (*((uint32_t volatile*)(0x3cf001c4))) |
| 314 | +#define PCONF (*((uint32_t volatile*)(0x3cf001e0))) |
| 315 | +#define PDATF (*((uint32_t volatile*)(0x3cf001e4))) |
| 316 | +#define GPIOCMD (*((uint32_t volatile*)(0x3cf00200))) |
| 317 | + |
| 318 | + |
| 319 | +/////SPI///// |
| 320 | +#define SPIBASE(i) ((i) == 2 ? 0x3d200000 : \ |
| 321 | + (i) == 1 ? 0x3ce00000 : \ |
| 322 | + 0x3c300000) |
| 323 | +#define SPICLKGATE(i) ((i) == 2 ? 0x2f : \ |
| 324 | + (i) == 1 ? 0x2b : \ |
| 325 | + 0x22) |
| 326 | +#define SPIDMA(i) ((i) == 2 ? 0xd : \ |
| 327 | + (i) == 1 ? 0xf : \ |
| 328 | + 0x5) |
| 329 | +#define SPICTRL(i) (*((uint32_t volatile*)(SPIBASE(i)))) |
| 330 | +#define SPISETUP(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x4))) |
| 331 | +#define SPISTATUS(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x8))) |
| 332 | +#define SPIUNKREG1(i) (*((uint32_t volatile*)(SPIBASE(i) + 0xc))) |
| 333 | +#define SPITXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x10))) |
| 334 | +#define SPIRXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x20))) |
| 335 | +#define SPICLKDIV(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x30))) |
| 336 | +#define SPIRXLIMIT(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x34))) |
| 337 | +#define SPIUNKREG3(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x38))) |
| 338 | + |
| 339 | + |
| 340 | +/////AES///// |
| 341 | +#define AESCONTROL (*((uint32_t volatile*)(0x38c00000))) |
| 342 | +#define AESGO (*((uint32_t volatile*)(0x38c00004))) |
| 343 | +#define AESUNKREG0 (*((uint32_t volatile*)(0x38c00008))) |
| 344 | +#define AESSTATUS (*((uint32_t volatile*)(0x38c0000c))) |
| 345 | +#define AESUNKREG1 (*((uint32_t volatile*)(0x38c00010))) |
| 346 | +#define AESKEYLEN (*((uint32_t volatile*)(0x38c00014))) |
| 347 | +#define AESOUTSIZE (*((uint32_t volatile*)(0x38c00018))) |
| 348 | +#define AESOUTADDR (*((void* volatile*)(0x38c00020))) |
| 349 | +#define AESINSIZE (*((uint32_t volatile*)(0x38c00024))) |
| 350 | +#define AESINADDR (*((const void* volatile*)(0x38c00028))) |
| 351 | +#define AESAUXSIZE (*((uint32_t volatile*)(0x38c0002c))) |
| 352 | +#define AESAUXADDR (*((void* volatile*)(0x38c00030))) |
| 353 | +#define AESSIZE3 (*((uint32_t volatile*)(0x38c00034))) |
| 354 | +#define AESKEY ((uint32_t volatile*)(0x38c0004c)) |
| 355 | +#define AESTYPE (*((uint32_t volatile*)(0x38c0006c))) |
| 356 | +#define AESIV ((uint32_t volatile*)(0x38c00074)) |
| 357 | +#define AESTYPE2 (*((uint32_t volatile*)(0x38c00088))) |
| 358 | +#define AESUNKREG2 (*((uint32_t volatile*)(0x38c0008c))) |
| 359 | + |
| 360 | + |
| 361 | +/////SHA1///// |
| 362 | +#define SHA1CONFIG (*((uint32_t volatile*)(0x38000000))) |
| 363 | +#define SHA1RESET (*((uint32_t volatile*)(0x38000004))) |
| 364 | +#define SHA1RESULT ((uint32_t volatile*)(0x38000020)) |
| 365 | +#define SHA1DATAIN ((uint32_t volatile*)(0x38000040)) |
| 366 | + |
| 367 | + |
| 368 | +/////DMA///// |
| 369 | +struct dma_lli |
| 370 | +{ |
| 371 | + void* srcaddr; |
| 372 | + void* dstaddr; |
| 373 | + const struct dma_lli* nextlli; |
| 374 | + uint32_t control; |
| 375 | +}; |
| 376 | +#define DMACINTSTS(d) (*((uint32_t volatile*)(0x38200000 + 0x1700000 * (d)))) |
| 377 | +#define DMACINTTCSTS(d) (*((uint32_t volatile*)(0x38200004 + 0x1700000 * (d)))) |
| 378 | +#define DMACINTTCCLR(d) (*((uint32_t volatile*)(0x38200008 + 0x1700000 * (d)))) |
| 379 | +#define DMACINTERRSTS(d) (*((uint32_t volatile*)(0x3820000c + 0x1700000 * (d)))) |
| 380 | +#define DMACINTERRCLR(d) (*((uint32_t volatile*)(0x38200010 + 0x1700000 * (d)))) |
| 381 | +#define DMACRAWINTTCSTS(d) (*((uint32_t volatile*)(0x38200014 + 0x1700000 * (d)))) |
| 382 | +#define DMACRAWINTERRSTS(d) (*((uint32_t volatile*)(0x38200018 + 0x1700000 * (d)))) |
| 383 | +#define DMACENABLEDCHANS(d) (*((uint32_t volatile*)(0x3820001c + 0x1700000 * (d)))) |
| 384 | +#define DMACSOFTBREQ(d) (*((uint32_t volatile*)(0x38200020 + 0x1700000 * (d)))) |
| 385 | +#define DMACSOFTSREQ(d) (*((uint32_t volatile*)(0x38200024 + 0x1700000 * (d)))) |
| 386 | +#define DMACSOFTLBREQ(d) (*((uint32_t volatile*)(0x38200028 + 0x1700000 * (d)))) |
| 387 | +#define DMACSOFTLSREQ(d) (*((uint32_t volatile*)(0x3820002c + 0x1700000 * (d)))) |
| 388 | +#define DMACCONFIG(d) (*((uint32_t volatile*)(0x38200030 + 0x1700000 * (d)))) |
| 389 | +#define DMACSYNC(d) (*((uint32_t volatile*)(0x38200034 + 0x1700000 * (d)))) |
| 390 | +#define DMACCLLI(d, c) (*((struct dma_lli volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c)))) |
| 391 | +#define DMACCSRCADDR(d, c) (*((const void* volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c)))) |
| 392 | +#define DMACCDESTADDR(d, c) (*((void* volatile*)(0x38200104 + 0x1700000 * (d) + 0x20 * (c)))) |
| 393 | +#define DMACCNEXTLLI(d, c) (*((const void* volatile*)(0x38200108 + 0x1700000 * (d) + 0x20 * (c)))) |
| 394 | +#define DMACCCONTROL(d, c) (*((uint32_t volatile*)(0x3820010c + 0x1700000 * (d) + 0x20 * (c)))) |
| 395 | +#define DMACCCONFIG(d, c) (*((uint32_t volatile*)(0x38200110 + 0x1700000 * (d) + 0x20 * (c)))) |
| 396 | +#define DMAC0INTSTS (*((uint32_t volatile*)(0x38200000))) |
| 397 | +#define DMAC0INTTCSTS (*((uint32_t volatile*)(0x38200004))) |
| 398 | +#define DMAC0INTTCCLR (*((uint32_t volatile*)(0x38200008))) |
| 399 | +#define DMAC0INTERRSTS (*((uint32_t volatile*)(0x3820000c))) |
| 400 | +#define DMAC0INTERRCLR (*((uint32_t volatile*)(0x38200010))) |
| 401 | +#define DMAC0RAWINTTCSTS (*((uint32_t volatile*)(0x38200014))) |
| 402 | +#define DMAC0RAWINTERRSTS (*((uint32_t volatile*)(0x38200018))) |
| 403 | +#define DMAC0ENABLEDCHANS (*((uint32_t volatile*)(0x3820001c))) |
| 404 | +#define DMAC0SOFTBREQ (*((uint32_t volatile*)(0x38200020))) |
| 405 | +#define DMAC0SOFTSREQ (*((uint32_t volatile*)(0x38200024))) |
| 406 | +#define DMAC0SOFTLBREQ (*((uint32_t volatile*)(0x38200028))) |
| 407 | +#define DMAC0SOFTLSREQ (*((uint32_t volatile*)(0x3820002c))) |
| 408 | +#define DMAC0CONFIG (*((uint32_t volatile*)(0x38200030))) |
| 409 | +#define DMAC0SYNC (*((uint32_t volatile*)(0x38200034))) |
| 410 | +#define DMAC0CLLI(c) (*((struct dma_lli volatile*)(0x38200100 + 0x20 * (c)))) |
| 411 | +#define DMAC0CSRCADDR(c) (*((const void* volatile*)(0x38200100 + 0x20 * (c)))) |
| 412 | +#define DMAC0CDESTADDR(c) (*((void* volatile*)(0x38200104 + 0x20 * (c)))) |
| 413 | +#define DMAC0CNEXTLLI(c) (*((const void* volatile*)(0x38200108 + 0x20 * (c)))) |
| 414 | +#define DMAC0CCONTROL(c) (*((uint32_t volatile*)(0x3820010c + 0x20 * (c)))) |
| 415 | +#define DMAC0CCONFIG(c) (*((uint32_t volatile*)(0x38200110 + 0x20 * (c)))) |
| 416 | +#define DMAC0C0LLI (*((struct dma_lli volatile*)(0x38200100))) |
| 417 | +#define DMAC0C0SRCADDR (*((const void* volatile*)(0x38200100))) |
| 418 | +#define DMAC0C0DESTADDR (*((void* volatile*)(0x38200104))) |
| 419 | +#define DMAC0C0NEXTLLI (*((const struct dma_lli* volatile*)(0x38200108))) |
| 420 | +#define DMAC0C0CONTROL (*((uint32_t volatile*)(0x3820010c))) |
| 421 | +#define DMAC0C0CONFIG (*((uint32_t volatile*)(0x38200110))) |
| 422 | +#define DMAC0C1LLI (*((struct dma_lli volatile*)(0x38200120))) |
| 423 | +#define DMAC0C1SRCADDR (*((const void* volatile*)(0x38200120))) |
| 424 | +#define DMAC0C1DESTADDR (*((void* volatile*)(0x38200124))) |
| 425 | +#define DMAC0C1NEXTLLI (*((const struct dma_lli* volatile*)(0x38200128))) |
| 426 | +#define DMAC0C1CONTROL (*((uint32_t volatile*)(0x3820012c))) |
| 427 | +#define DMAC0C1CONFIG (*((uint32_t volatile*)(0x38200130))) |
| 428 | +#define DMAC0C2LLI (*((struct dma_lli volatile*)(0x38200140))) |
| 429 | +#define DMAC0C2SRCADDR (*((const void* volatile*)(0x38200140))) |
| 430 | +#define DMAC0C2DESTADDR (*((void* volatile*)(0x38200144))) |
| 431 | +#define DMAC0C2NEXTLLI (*((const struct dma_lli* volatile*)(0x38200148))) |
| 432 | +#define DMAC0C2CONTROL (*((uint32_t volatile*)(0x3820014c))) |
| 433 | +#define DMAC0C2CONFIG (*((uint32_t volatile*)(0x38200150))) |
| 434 | +#define DMAC0C3LLI (*((struct dma_lli volatile*)(0x38200160))) |
| 435 | +#define DMAC0C3SRCADDR (*((const void* volatile*)(0x38200160))) |
| 436 | +#define DMAC0C3DESTADDR (*((void* volatile*)(0x38200164))) |
| 437 | +#define DMAC0C3NEXTLLI (*((const struct dma_lli* volatile*)(0x38200168))) |
| 438 | +#define DMAC0C3CONTROL (*((uint32_t volatile*)(0x3820016c))) |
| 439 | +#define DMAC0C3CONFIG (*((uint32_t volatile*)(0x38200170))) |
| 440 | +#define DMAC0C4LLI (*((struct dma_lli volatile*)(0x38200180))) |
| 441 | +#define DMAC0C4SRCADDR (*((const void* volatile*)(0x38200180))) |
| 442 | +#define DMAC0C4DESTADDR (*((void* volatile*)(0x38200184))) |
| 443 | +#define DMAC0C4NEXTLLI (*((const struct dma_lli* volatile*)(0x38200188))) |
| 444 | +#define DMAC0C4CONTROL (*((uint32_t volatile*)(0x3820018c))) |
| 445 | +#define DMAC0C4CONFIG (*((uint32_t volatile*)(0x38200190))) |
| 446 | +#define DMAC0C5LLI (*((struct dma_lli volatile*)(0x382001a0))) |
| 447 | +#define DMAC0C5SRCADDR (*((const void* volatile*)(0x382001a0))) |
| 448 | +#define DMAC0C5DESTADDR (*((void* volatile*)(0x382001a4))) |
| 449 | +#define DMAC0C5NEXTLLI (*((const struct dma_lli* volatile*)(0x382001a8))) |
| 450 | +#define DMAC0C5CONTROL (*((uint32_t volatile*)(0x382001ac))) |
| 451 | +#define DMAC0C5CONFIG (*((uint32_t volatile*)(0x382001b0))) |
| 452 | +#define DMAC0C6LLI (*((struct dma_lli volatile*)(0x382001c0))) |
| 453 | +#define DMAC0C6SRCADDR (*((const void* volatile*)(0x382001c0))) |
| 454 | +#define DMAC0C6DESTADDR (*((void* volatile*)(0x382001c4))) |
| 455 | +#define DMAC0C6NEXTLLI (*((const struct dma_lli* volatile*)(0x382001c8))) |
| 456 | +#define DMAC0C6CONTROL (*((uint32_t volatile*)(0x382001cc))) |
| 457 | +#define DMAC0C6CONFIG (*((uint32_t volatile*)(0x382001d0))) |
| 458 | +#define DMAC0C7LLI (*((struct dma_lli volatile*)(0x382001e0))) |
| 459 | +#define DMAC0C7SRCADDR (*((const void* volatile*)(0x382001e0))) |
| 460 | +#define DMAC0C7DESTADDR (*((void* volatile*)(0x382001e4))) |
| 461 | +#define DMAC0C7NEXTLLI (*((const struct dma_lli* volatile*)(0x382001e8))) |
| 462 | +#define DMAC0C7CONTROL (*((uint32_t volatile*)(0x382001ec))) |
| 463 | +#define DMAC0C7CONFIG (*((uint32_t volatile*)(0x382001f0))) |
| 464 | +#define DMAC1INTSTS (*((uint32_t volatile*)(0x39900000))) |
| 465 | +#define DMAC1INTTCSTS (*((uint32_t volatile*)(0x39900004))) |
| 466 | +#define DMAC1INTTCCLR (*((uint32_t volatile*)(0x39900008))) |
| 467 | +#define DMAC1INTERRSTS (*((uint32_t volatile*)(0x3990000c))) |
| 468 | +#define DMAC1INTERRCLR (*((uint32_t volatile*)(0x39900010))) |
| 469 | +#define DMAC1RAWINTTCSTS (*((uint32_t volatile*)(0x39900014))) |
| 470 | +#define DMAC1RAWINTERRSTS (*((uint32_t volatile*)(0x39900018))) |
| 471 | +#define DMAC1ENABLEDCHANS (*((uint32_t volatile*)(0x3990001c))) |
| 472 | +#define DMAC1SOFTBREQ (*((uint32_t volatile*)(0x39900020))) |
| 473 | +#define DMAC1SOFTSREQ (*((uint32_t volatile*)(0x39900024))) |
| 474 | +#define DMAC1SOFTLBREQ (*((uint32_t volatile*)(0x39900028))) |
| 475 | +#define DMAC1SOFTLSREQ (*((uint32_t volatile*)(0x3990002c))) |
| 476 | +#define DMAC1CONFIG (*((uint32_t volatile*)(0x39900030))) |
| 477 | +#define DMAC1SYNC (*((uint32_t volatile*)(0x39900034))) |
| 478 | +#define DMAC1CLLI(c) (*((struct dma_lli volatile*)(0x39900100 + 0x20 * (c)))) |
| 479 | +#define DMAC1CSRCADDR(c) (*((const void* volatile*)(0x39900100 + 0x20 * (c)))) |
| 480 | +#define DMAC1CDESTADDR(c) (*((void* volatile*)(0x39900104 + 0x20 * (c)))) |
| 481 | +#define DMAC1CNEXTLLI(c) (*((const void* volatile*)(0x39900108 + 0x20 * (c)))) |
| 482 | +#define DMAC1CCONTROL(c) (*((uint32_t volatile*)(0x3990010c + 0x20 * (c)))) |
| 483 | +#define DMAC1CCONFIG(c) (*((uint32_t volatile*)(0x39900110 + 0x20 * (c)))) |
| 484 | +#define DMAC1C0LLI (*((struct dma_lli volatile*)(0x39900100))) |
| 485 | +#define DMAC1C0SRCADDR (*((const void* volatile*)(0x39900100))) |
| 486 | +#define DMAC1C0DESTADDR (*((void* volatile*)(0x39900104))) |
| 487 | +#define DMAC1C0NEXTLLI (*((const struct dma_lli* volatile*)(0x39900108))) |
| 488 | +#define DMAC1C0CONTROL (*((uint32_t volatile*)(0x3990010c))) |
| 489 | +#define DMAC1C0CONFIG (*((uint32_t volatile*)(0x39900110))) |
| 490 | +#define DMAC1C1LLI (*((struct dma_lli volatile*)(0x39900120))) |
| 491 | +#define DMAC1C1SRCADDR (*((const void* volatile*)(0x39900120))) |
| 492 | +#define DMAC1C1DESTADDR (*((void* volatile*)(0x39900124))) |
| 493 | +#define DMAC1C1NEXTLLI (*((const struct dma_lli* volatile*)(0x39900128))) |
| 494 | +#define DMAC1C1CONTROL (*((uint32_t volatile*)(0x3990012c))) |
| 495 | +#define DMAC1C1CONFIG (*((uint32_t volatile*)(0x39900130))) |
| 496 | +#define DMAC1C2LLI (*((struct dma_lli volatile*)(0x39900140))) |
| 497 | +#define DMAC1C2SRCADDR (*((const void* volatile*)(0x39900140))) |
| 498 | +#define DMAC1C2DESTADDR (*((void* volatile*)(0x39900144))) |
| 499 | +#define DMAC1C2NEXTLLI (*((const struct dma_lli* volatile*)(0x39900148))) |
| 500 | +#define DMAC1C2CONTROL (*((uint32_t volatile*)(0x3990014c))) |
| 501 | +#define DMAC1C2CONFIG (*((uint32_t volatile*)(0x39900150))) |
| 502 | +#define DMAC1C3LLI (*((struct dma_lli volatile*)(0x39900160))) |
| 503 | +#define DMAC1C3SRCADDR (*((const void* volatile*)(0x39900160))) |
| 504 | +#define DMAC1C3DESTADDR (*((void* volatile*)(0x39900164))) |
| 505 | +#define DMAC1C3NEXTLLI (*((volatile void**)(0x39900168))) |
| 506 | +#define DMAC1C3CONTROL (*((uint32_t volatile*)(0x3990016c))) |
| 507 | +#define DMAC1C3CONFIG (*((uint32_t volatile*)(0x39900170))) |
| 508 | +#define DMAC1C4LLI (*((struct dma_lli volatile*)(0x39900180))) |
| 509 | +#define DMAC1C4SRCADDR (*((const void* volatile*)(0x39900180))) |
| 510 | +#define DMAC1C4DESTADDR (*((void* volatile*)(0x39900184))) |
| 511 | +#define DMAC1C4NEXTLLI (*((const struct dma_lli* volatile*)(0x39900188))) |
| 512 | +#define DMAC1C4CONTROL (*((uint32_t volatile*)(0x3990018c))) |
| 513 | +#define DMAC1C4CONFIG (*((uint32_t volatile*)(0x39900190))) |
| 514 | +#define DMAC1C5LLI (*((struct dma_lli volatile*)(0x399001a0))) |
| 515 | +#define DMAC1C5SRCADDR (*((const void* volatile*)(0x399001a0))) |
| 516 | +#define DMAC1C5DESTADDR (*((void* volatile*)(0x399001a4))) |
| 517 | +#define DMAC1C5NEXTLLI (*((const struct dma_lli* volatile*)(0x399001a8))) |
| 518 | +#define DMAC1C5CONTROL (*((uint32_t volatile*)(0x399001ac))) |
| 519 | +#define DMAC1C5CONFIG (*((uint32_t volatile*)(0x399001b0))) |
| 520 | +#define DMAC1C6LLI (*((struct dma_lli volatile*)(0x399001c0))) |
| 521 | +#define DMAC1C6SRCADDR (*((const void* volatile*)(0x399001c0))) |
| 522 | +#define DMAC1C6DESTADDR (*((void* volatile*)(0x399001c4))) |
| 523 | +#define DMAC1C6NEXTLLI (*((const struct dma_lli* volatile*)(0x399001c8))) |
| 524 | +#define DMAC1C6CONTROL (*((uint32_t volatile*)(0x399001cc))) |
| 525 | +#define DMAC1C6CONFIG (*((uint32_t volatile*)(0x399001d0))) |
| 526 | +#define DMAC1C7LLI (*((struct dma_lli volatile*)(0x399001e0))) |
| 527 | +#define DMAC1C7SRCADDR (*((const void* volatile*)(0x399001e0))) |
| 528 | +#define DMAC1C7DESTADDR (*((void* volatile*)(0x399001e4))) |
| 529 | +#define DMAC1C7NEXTLLI (*((const struct dma_lli* volatile*)(0x399001e8))) |
| 530 | +#define DMAC1C7CONTROL (*((uint32_t volatile*)(0x399001ec))) |
| 531 | +#define DMAC1C7CONFIG (*((uint32_t volatile*)(0x399001f0))) |
| 532 | + |
| 533 | + |
| 534 | +/////LCD///// |
| 535 | +#define LCDCON (*((uint32_t volatile*)(0x38300000))) |
| 536 | +#define LCDWCMD (*((uint32_t volatile*)(0x38300004))) |
| 537 | +#define LCDSTATUS (*((uint32_t volatile*)(0x3830001c))) |
| 538 | +#define LCDPHTIME (*((uint32_t volatile*)(0x38300010))) |
| 539 | +#define LCDWDATA (*((uint32_t volatile*)(0x38300040))) |
| 540 | + |
| 541 | +/////ATA///// |
| 542 | +#define ATA_CONTROL (*((uint32_t volatile*)(0x38700000))) |
| 543 | +#define ATA_STATUS (*((uint32_t volatile*)(0x38700004))) |
| 544 | +#define ATA_COMMAND (*((uint32_t volatile*)(0x38700008))) |
| 545 | +#define ATA_SWRST (*((uint32_t volatile*)(0x3870000c))) |
| 546 | +#define ATA_IRQ (*((uint32_t volatile*)(0x38700010))) |
| 547 | +#define ATA_IRQ_MASK (*((uint32_t volatile*)(0x38700014))) |
| 548 | +#define ATA_CFG (*((uint32_t volatile*)(0x38700018))) |
| 549 | +#define ATA_MDMA_TIME (*((uint32_t volatile*)(0x38700028))) |
| 550 | +#define ATA_PIO_TIME (*((uint32_t volatile*)(0x3870002c))) |
| 551 | +#define ATA_UDMA_TIME (*((uint32_t volatile*)(0x38700030))) |
| 552 | +#define ATA_XFR_NUM (*((uint32_t volatile*)(0x38700034))) |
| 553 | +#define ATA_XFR_CNT (*((uint32_t volatile*)(0x38700038))) |
| 554 | +#define ATA_TBUF_START (*((void* volatile*)(0x3870003c))) |
| 555 | +#define ATA_TBUF_SIZE (*((uint32_t volatile*)(0x38700040))) |
| 556 | +#define ATA_SBUF_START (*((void* volatile*)(0x38700044))) |
| 557 | +#define ATA_SBUF_SIZE (*((uint32_t volatile*)(0x38700048))) |
| 558 | +#define ATA_CADR_TBUF (*((void* volatile*)(0x3870004c))) |
| 559 | +#define ATA_CADR_SBUF (*((void* volatile*)(0x38700050))) |
| 560 | +#define ATA_PIO_DTR (*((uint32_t volatile*)(0x38700054))) |
| 561 | +#define ATA_PIO_FED (*((uint32_t volatile*)(0x38700058))) |
| 562 | +#define ATA_PIO_SCR (*((uint32_t volatile*)(0x3870005c))) |
| 563 | +#define ATA_PIO_LLR (*((uint32_t volatile*)(0x38700060))) |
| 564 | +#define ATA_PIO_LMR (*((uint32_t volatile*)(0x38700064))) |
| 565 | +#define ATA_PIO_LHR (*((uint32_t volatile*)(0x38700068))) |
| 566 | +#define ATA_PIO_DVR (*((uint32_t volatile*)(0x3870006c))) |
| 567 | +#define ATA_PIO_CSD (*((uint32_t volatile*)(0x38700070))) |
| 568 | +#define ATA_PIO_DAD (*((uint32_t volatile*)(0x38700074))) |
| 569 | +#define ATA_PIO_READY (*((uint32_t volatile*)(0x38700078))) |
| 570 | +#define ATA_PIO_RDATA (*((uint32_t volatile*)(0x3870007c))) |
| 571 | +#define ATA_BUS_FIFO_STATUS (*((uint32_t volatile*)(0x38700080))) |
| 572 | +#define ATA_FIFO_STATUS (*((uint32_t volatile*)(0x38700084))) |
| 573 | +#define ATA_DMA_ADDR (*((void* volatile*)(0x38700088))) |
| 574 | + |
| 575 | + |
| 576 | +/////CLICKWHEEL///// |
| 577 | +#define WHEEL00 (*((uint32_t volatile*)(0x3C200000))) |
| 578 | +#define WHEEL04 (*((uint32_t volatile*)(0x3C200004))) |
| 579 | +#define WHEEL08 (*((uint32_t volatile*)(0x3C200008))) |
| 580 | +#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C))) |
| 581 | +#define WHEEL10 (*((uint32_t volatile*)(0x3C200010))) |
| 582 | +#define WHEELINT (*((uint32_t volatile*)(0x3C200014))) |
| 583 | +#define WHEELRX (*((uint32_t volatile*)(0x3C200018))) |
| 584 | +#define WHEELTX (*((uint32_t volatile*)(0x3C20001C))) |
| 585 | + |
| 586 | + |
| 587 | +/////CLOCK GATES///// |
| 588 | +#define CLOCKGATE_USB_1 2 |
| 589 | +#define CLOCKGATE_USB_2 35 |
| 590 | + |
| 591 | + |
| 592 | +/////INTERRUPTS///// |
| 593 | +#define IRQ_TIMER 8 |
| 594 | +#define IRQ_USB_FUNC 19 |
| 595 | +#define IRQ_DMAC(d) 16 + d |
| 596 | +#define IRQ_DMAC0 16 |
| 597 | +#define IRQ_DMAC1 17 |
| 598 | +#define IRQ_WHEEL 23 |
| 599 | +#define IRQ_ATA 29 |
| 600 | + |
| 601 | + |
| 602 | +#endif |