blob: 440375ce9ae1014f219f1e0b265298618a3bcce0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
|
#ifndef __ASM9260T_REGS_H__
#define __ASM9260T_REGS_H__
////////////////////////////////////////////////////////////////////////////////
typedef volatile unsigned char *VP8;
typedef volatile unsigned short *VP16;
typedef volatile unsigned long *VP32;
#define __I volatile const /*!< Defines 'read only' permissions */
#define __O volatile /*!< Defines 'write only' permissions */
#define __IO volatile /*!< Defines 'read / write' permissions */
#define outb(v, r) do{*((VP8)(r))=(v);}while(0)
#define outw(v, r) do{*((VP16)(r))=(v);}while(0)
#define outl(v, r) do{*((VP32)(r))=(v);}while(0)
#define inb(r) (*((VP8)(r)))
#define inw(r) (*((VP16)(r)))
#define inl(r) (*((VP32)(r)))
#define REG_VAL(r) (((unsigned long)(r))+0x00)
#define REG_SET(r) (((unsigned long)(r))+0x04)
#define REG_CLR(r) (((unsigned long)(r))+0x08)
#define REG_TOG(r) (((unsigned long)(r))+0x0C)
////////////////////////////////////////////////////////////////////////////////
// SYSTEM CONFIG
#define HW_PRESETCTRL0 0x80040000
#define HW_PRESETCTRL1 0x80040010
#define HW_AHBCLKCTRL0 0x80040020
#define HW_AHBCLKCTRL1 0x80040030
#define HW_SYSTCKCAL 0x80040040
#define HW_SYSPLLCTRL 0x80040100
#define HW_SYSPLLSTAT 0x80040104
#define HW_SYSRSTSTAT 0x80040110
#define HW_MAINCLKSEL 0x80040120
#define HW_MAINCLKUEN 0x80040124
#define HW_UARTCLKSEL 0x80040128
#define HW_UARTCLKUEN 0x8004012C
#define HW_I2S0CLKSEL 0x80040130
#define HW_I2S0CLKUEN 0x80040134
#define HW_I2S1CLKSEL 0x80040138
#define HW_I2S1CLKUEN 0x8004013C
#define HW_USBCLKSEL 0x80040140
#define HW_USBCLKUEN 0x80040144
#define HW_WDTCLKSEL 0x80040160
#define HW_WDTCLKUEN 0x80040164
#define HW_OUTCLKSEL 0x80040170
#define HW_OUTCLKUEN 0x80040174
#define HW_CPUCLKDIV 0x8004017C
#define HW_SYSAHBCLKDIV 0x80040180
#define HW_I2S1_MCLKDIV 0x80040188
#define HW_I2S1_SCLKDIV 0x8004018C
#define HW_I2S0_MCLKDIV 0x80040190
#define HW_I2S0_SCLKDIV 0x80040194
#define HW_UART0CLKDIV 0x80040198
#define HW_UART1CLKDIV 0x8004019C
#define HW_UART2CLKDIV 0x800401A0
#define HW_UART3CLKDIV 0x800401A4
#define HW_UART4CLKDIV 0x800401A8
#define HW_UART5CLKDIV 0x800401AC
#define HW_UART6CLKDIV 0x800401B0
#define HW_UART7CLKDIV 0x800401B4
#define HW_UART8CLKDIV 0x800401B8
#define HW_UART9CLKDIV 0x800401BC
#define HW_SPI0CLKDIV 0x800401C0
#define HW_SPI1CLKDIV 0x800401C4
#define HW_QUADSPI0CLKDIV 0x800401C8
#define HW_SSP0CLKDIV 0x800401D0
#define HW_NANDCLKDIV 0x800401D4
#define HW_TRACECLKDIV 0x800401E0
#define HW_CAMMCLKDIV 0x800401E8
#define HW_WDTCLKDIV 0x800401EC
#define HW_USBCLKDIV 0x800401F0
#define HW_OUTCLKDIV 0x800401F4
#define HW_MACCLKDIV 0x800401F8
#define HW_LCDCLKDIV 0x800401FC
#define HW_ADCCLKDIV 0x80040200
#define HW_PDRUNCFG 0x80040238
#define HW_MATRIXPRI0 0x80040300
#define HW_MATRIXPRI1 0x80040304
#define HW_MATRIXPRI2 0x80040308
#define HW_MATRIXPRI3 0x8004030C
#define HW_MATRIXPRI4 0x80040310
#define HW_MATRIXPRI5 0x80040314
#define HW_MATRIXPRI6 0x80040318
#define HW_MATRIXPRI7 0x8004031C
#define HW_MATRIXPRI8 0x80040320
#define HW_MATRIXPRI9 0x80040324
#define HW_MATRIXPRI10 0x80040328
#define HW_MATRIXPRI11 0x8004032C
#define HW_MATRIXPRI12 0x80040330
#define HW_MATRIXPRI13 0x80040334
#define HW_MATRIXPRI14 0x80040338
#define HW_MATRIXPRI15 0x8004033C
#define HW_EMI_CTRL 0x8004034C
#define HW_RISC_CTRL 0x80040350
#define HW_DMA_CTRL 0x80040354
#define HW_MACPHY_SEL 0x80040360
#define HW_USB_CTRL 0x80040368
#define HW_ANA_CTRL 0x80040370
#define HW_USB0_TEST 0x80040380
#define HW_USB1_TEST 0x80040390
#define HW_USB0_RSTPARA 0x800403A0
#define HW_USB1_RSTPARA 0x800403B0
#define HW_DEVICEID 0x80040400
#define HW_PCON_ADDR 0x80040500
////////////////////////////////////////////////////////////////////////////////
// EMI
#define HW_EMI_SCONR 0x80700000
#define HW_EMI_STMG0R 0x80700004
#define HW_EMI_STMG1R 0x80700008
#define HW_EMI_SCTLR 0x8070000C
#define HW_EMI_SREFR 0x80700010
#define HW_EMI_SCSLR0_LOW 0x80700014
#define HW_EMI_SCSLR1_LOW 0x80700018
#define HW_EMI_SCSLR2_LOW 0x8070001c
#define HW_EMI_SCSLR3_LOW 0x80700020
#define HW_EMI_SCSLR4_LOW 0x80700024
#define HW_EMI_SCSLR5_LOW 0x80700028
#define HW_EMI_SCSLR6_LOW 0x8070002c
#define HW_EMI_SCSLR7_LOW 0x80700030
#define HW_EMI_SMSKR0 0x80700054
#define HW_EMI_SMSKR1 0x80700058
#define HW_EMI_SMSKR2 0x8070005c
#define HW_EMI_SMSKR3 0x80700060
#define HW_EMI_SMSKR4 0x80700064
#define HW_EMI_SMSKR5 0x80700068
#define HW_EMI_SMSKR6 0x8070006c
#define HW_EMI_SMSKR7 0x80700070
#define HW_EMI_CSALIAS0_LOW 0x80700074
#define HW_EMI_CSALIAS1_LOW 0x80700078
#define HW_EMI_CSREMAP0_LOW 0x80700084
#define HW_EMI_CSREMAP1_LOW 0x80700088
#define HW_EMI_SMTMGR_SET0 0x80700094
#define HW_EMI_SMTMGR_SET1 0x80700098
#define HW_EMI_SMTMGR_SET2 0x8070009c
#define HW_EMI_FLASH_TRPDR 0x807000a0
#define HW_EMI_SMCTLR 0x807000a4
#define HW_EMI_EXN_MODE_REG 0x807000ac
////////////////////////////////////////////////////////////////////////////////
// IOCON
#define HW_IOCON_PIO_BASE 0x80044000
#define HW_IOCON_SCKLOC 0x800442c0
#define HW_IOCON(port,pin) (HW_IOCON_PIO_BASE|(((port)<<5)|((pin)<<2)))
////////////////////////////////////////////////////////////////////////////////
// GPIO
#define HW_GPIO_DATA_BASE 0x50000000
#define HW_GPIO_DMA_CTRL 0x50000010
#define HW_GPIO_DMA_DATA 0x50000020
#define HW_GPIO_DMA_PADCTRL0 0x50000030
#define HW_GPIO_DMA_PADCTRL1 0x50000040
#define HW_GPIO_DMA_PADCTRL2 0x50000050
#define HW_GPIO_DMA_PADCTRL3 0x50000060
#define HW_GPIO_DMA_CTRL1 0x50000070
#define HW_GPIO_DMA_CTRL2 0x50000080
#define HW_GPIO_DMA_CTRL3 0x50000090
#define HW_GPIO_DMA_CTRL4 0x500000a0
#define HW_GPIO_DATA0 0x50000000
#define HW_GPIO_DATA1 0x50010000
#define HW_GPIO_DATA2 0x50020000
#define HW_GPIO_DATA3 0x50030000
#define HW_GPIO_DATA4 0x50040000
#define HW_GPIO_DIR0 0x50008000
#define HW_GPIO_DIR1 0x50018000
#define HW_GPIO_DIR2 0x50028000
#define HW_GPIO_DIR3 0x50038000
#define HW_GPIO_DIR4 0x50048000
#define HW_GPIO_IS0 0x50008010
#define HW_GPIO_IS1 0x50018010
#define HW_GPIO_IS2 0x50028010
#define HW_GPIO_IS3 0x50038010
#define HW_GPIO_IS4 0x50048010
#define HW_GPIO_IBE0 0x50008020
#define HW_GPIO_IBE1 0x50018020
#define HW_GPIO_IBE2 0x50028020
#define HW_GPIO_IBE3 0x50038020
#define HW_GPIO_IBE4 0x50048020
#define HW_GPIO_IEV0 0x50008030
#define HW_GPIO_IEV1 0x50018030
#define HW_GPIO_IEV2 0x50028030
#define HW_GPIO_IEV3 0x50038030
#define HW_GPIO_IEV4 0x50048030
#define HW_GPIO_IE0 0x50008040
#define HW_GPIO_IE1 0x50018040
#define HW_GPIO_IE2 0x50028040
#define HW_GPIO_IE3 0x50038040
#define HW_GPIO_IE4 0x50048040
#define HW_GPIO_RIS0 0x50008050
#define HW_GPIO_RIS1 0x50018050
#define HW_GPIO_RIS2 0x50028050
#define HW_GPIO_RIS3 0x50038050
#define HW_GPIO_RIS4 0x50048050
#define HW_GPIO_MIS0 0x50008060
#define HW_GPIO_MIS1 0x50018060
#define HW_GPIO_MIS2 0x50028060
#define HW_GPIO_MIS3 0x50038060
#define HW_GPIO_MIS4 0x50048060
#define HW_GPIO_IC0 0x50008070
#define HW_GPIO_IC1 0x50018070
#define HW_GPIO_IC2 0x50028070
#define HW_GPIO_IC3 0x50038070
#define HW_GPIO_IC4 0x50048070
#define HW_GPIO_DATAMASK0 0x50008080
#define HW_GPIO_DATAMASK1 0x50018080
#define HW_GPIO_DATAMASK2 0x50028080
#define HW_GPIO_DATAMASK3 0x50038080
#define HW_GPIO_DATAMASK4 0x50048080
////////////////////////////////////////////////////////////////////////////////
// Quad-SPI0
#define QSPI0_BASE_ADDRESS 0x80068000
#define HW_QSPI0_CTRL0 0x80068000
#define HW_QSPI0_CTRL1 0x80068010
#define HW_QSPI0_CMD 0x80068020
#define HW_QSPI0_TIMING 0x80068030
#define HW_QSPI0_DATA 0x80068040
#define HW_QSPI0_STATUS 0x80068050
#define HW_QSPI0_DEBUG0 0x80068060
#define HW_QSPI0_XFER 0x80068070
/////////////////////////////////////////////////////////
//DMA0
#define HW_DMA0_SAR0 0x80100000
#define HW_DMA0_DAR0 0x80100008
#define HW_DMA0_LLP0 0x80100010
#define HW_DMA0_CTL0 0x80100018
#define HW_DMA0_SSTAT0 0x80100020
#define HW_DMA0_DSTAT0 0x80100028
#define HW_DMA0_SSTATAR0 0x80100030
#define HW_DMA0_DSTATAR0 0x80100038
#define HW_DMA0_CFG0 0x80100040
#define HW_DMA0_SGR0 0x80100048
#define HW_DMA0_DSR0 0x80100050
#define HW_DMA0_SAR1 0x80100058
#define HW_DMA0_DAR1 0x80100060
#define HW_DMA0_LLP1 0x80100068
#define HW_DMA0_CTL1 0x80100070
#define HW_DMA0_SSTAT1 0x80100078
#define HW_DMA0_DSTAT1 0x80100080
#define HW_DMA0_SSTATAR1 0x80100088
#define HW_DMA0_DSTATAR1 0x80100090
#define HW_DMA0_CFG1 0x80100098
#define HW_DMA0_SGR1 0x801000a0
#define HW_DMA0_DSR1 0x801000a8
#define HW_DMA0_SAR2 0x801000b0
#define HW_DMA0_DAR2 0x801000b8
#define HW_DMA0_LLP2 0x801000c0
#define HW_DMA0_CTL2 0x801000c8
#define HW_DMA0_SSTAT2 0x801000d0
#define HW_DMA0_DSTAT2 0x801000d8
#define HW_DMA0_SSTATAR2 0x801000e0
#define HW_DMA0_DSTATAR2 0x801000e8
#define HW_DMA0_CFG2 0x801000f0
#define HW_DMA0_SGR2 0x801000f8
#define HW_DMA0_DSR2 0x80100100
#define HW_DMA0_SAR3 0x80100108
#define HW_DMA0_DAR3 0x80100110
#define HW_DMA0_LLP3 0x80100118
#define HW_DMA0_CTL3 0x80100120
#define HW_DMA0_SSTAT3 0x80100128
#define HW_DMA0_DSTAT3 0x80100130
#define HW_DMA0_SSTATAR3 0x80100138
#define HW_DMA0_DSTATAR3 0x80100140
#define HW_DMA0_CFG3 0x80100148
#define HW_DMA0_SGR3 0x80100150
#define HW_DMA0_DSR3 0x80100158
#define HW_DMA0_SAR4 0x80100160
#define HW_DMA0_DAR4 0x80100168
#define HW_DMA0_LLP4 0x80100170
#define HW_DMA0_CTL4 0x80100178
#define HW_DMA0_SSTAT4 0x80100180
#define HW_DMA0_DSTAT4 0x80100188
#define HW_DMA0_SSTATAR4 0x80100190
#define HW_DMA0_DSTATAR4 0x80100198
#define HW_DMA0_CFG4 0x801001a0
#define HW_DMA0_SGR4 0x801001a8
#define HW_DMA0_DSR4 0x801001b0
#define HW_DMA0_SAR5 0x801001b8
#define HW_DMA0_DAR5 0x801001c0
#define HW_DMA0_LLP5 0x801001c8
#define HW_DMA0_CTL5 0x801001d0
#define HW_DMA0_SSTAT5 0x801001d8
#define HW_DMA0_DSTAT5 0x801001e0
#define HW_DMA0_SSTATAR5 0x801001e8
#define HW_DMA0_DSTATAR5 0x801001f0
#define HW_DMA0_CFG5 0x801001f8
#define HW_DMA0_SGR5 0x80100200
#define HW_DMA0_DSR5 0x80100208
#define HW_DMA0_SAR6 0x80100210
#define HW_DMA0_DAR6 0x80100218
#define HW_DMA0_LLP6 0x80100220
#define HW_DMA0_CTL6 0x80100228
#define HW_DMA0_SSTAT6 0x80100230
#define HW_DMA0_DSTAT6 0x80100238
#define HW_DMA0_SSTATAR6 0x80100240
#define HW_DMA0_DSTATAR6 0x80100248
#define HW_DMA0_CFG6 0x80100250
#define HW_DMA0_SGR6 0x80100258
#define HW_DMA0_DSR6 0x80100260
#define HW_DMA0_SAR7 0x80100268
#define HW_DMA0_DAR7 0x80100270
#define HW_DMA0_LLP7 0x80100278
#define HW_DMA0_CTL7 0x80100280
#define HW_DMA0_SSTAT7 0x80100288
#define HW_DMA0_DSTAT7 0x80100290
#define HW_DMA0_SSTATAR7 0x80100298
#define HW_DMA0_DSTATAR7 0x801002a0
#define HW_DMA0_CFG7 0x801002a8
#define HW_DMA0_SGR7 0x801002b0
#define HW_DMA0_DSR7 0x801002b8
#define HW_DMA0_RawTFR 0x801002c0
#define HW_DMA0_RawBLOCK 0x801002c8
#define HW_DMA0_RawSRCTRAN 0x801002d0
#define HW_DMA0_RawDSTTRAN 0x801002d8
#define HW_DMA0_RawERR 0x801002e0
#define HW_DMA0_StatusTFR 0x801002e8
#define HW_DMA0_StatusBLOCK 0x801002f0
#define HW_DMA0_StatusSRCTRAN 0x801002f8
#define HW_DMA0_StatusDSTTRAN 0x80100300
#define HW_DMA0_StatusERR 0x80100308
#define HW_DMA0_MaskTFR 0x80100310
#define HW_DMA0_MaskBLOCK 0x80100318
#define HW_DMA0_MaskSRCTRAN 0x80100320
#define HW_DMA0_MaskDSTTRAN 0x80100328
#define HW_DMA0_MaskERR 0x80100330
#define HW_DMA0_ClearTFR 0x80100338
#define HW_DMA0_ClearBLOCK 0x80100340
#define HW_DMA0_ClearSRCTRAN 0x80100348
#define HW_DMA0_ClearDSTTRAN 0x80100350
#define HW_DMA0_ClearERR 0x80100358
#define HW_DMA0_STATUSINT 0x80100360
#define HW_DMA0_ReqSrcReg 0x80100368
#define HW_DMA0_ReqDstReg 0x80100370
#define HW_DMA0_SglReqSrcReg 0x80100378
#define HW_DMA0_SglReqDstReg 0x80100380
#define HW_DMA0_LstSrcReg 0x80100388
#define HW_DMA0_LstDstReg 0x80100390
#define HW_DMA0_DMACFGREG 0x80100398
#define HW_DMA0_CHENREG 0x801003a0
////////////////////////////////////////////////////////////////////////////////
// DMA1
#define HW_DMA1_SAR0 0x80200000
#define HW_DMA1_DAR0 0x80200008
#define HW_DMA1_LLP0 0x80200010
#define HW_DMA1_CTL0 0x80200018
#define HW_DMA1_SSTAT0 0x80200020
#define HW_DMA1_DSTAT0 0x80200028
#define HW_DMA1_SSTATAR0 0x80200030
#define HW_DMA1_DSTATAR0 0x80200038
#define HW_DMA1_CFG0 0x80200040
#define HW_DMA1_SGR0 0x80200048
#define HW_DMA1_DSR0 0x80200050
#define HW_DMA1_SAR1 0x80200058
#define HW_DMA1_DAR1 0x80200060
#define HW_DMA1_LLP1 0x80200068
#define HW_DMA1_CTL1 0x80200070
#define HW_DMA1_SSTAT1 0x80200078
#define HW_DMA1_DSTAT1 0x80200080
#define HW_DMA1_SSTATAR1 0x80200088
#define HW_DMA1_DSTATAR1 0x80200090
#define HW_DMA1_CFG1 0x80200098
#define HW_DMA1_SGR1 0x802000a0
#define HW_DMA1_DSR1 0x802000a8
#define HW_DMA1_SAR2 0x802000b0
#define HW_DMA1_DAR2 0x802000b8
#define HW_DMA1_LLP2 0x802000c0
#define HW_DMA1_CTL2 0x802000c8
#define HW_DMA1_SSTAT2 0x802000d0
#define HW_DMA1_DSTAT2 0x802000d8
#define HW_DMA1_SSTATAR2 0x802000e0
#define HW_DMA1_DSTATAR2 0x802000e8
#define HW_DMA1_CFG2 0x802000f0
#define HW_DMA1_SGR2 0x802000f8
#define HW_DMA1_DSR2 0x80200100
#define HW_DMA1_SAR3 0x80200108
#define HW_DMA1_DAR3 0x80200110
#define HW_DMA1_LLP3 0x80200118
#define HW_DMA1_CTL3 0x80200120
#define HW_DMA1_SSTAT3 0x80200128
#define HW_DMA1_DSTAT3 0x80200130
#define HW_DMA1_SSTATAR3 0x80200138
#define HW_DMA1_DSTATAR3 0x80200140
#define HW_DMA1_CFG3 0x80200148
#define HW_DMA1_SGR3 0x80200150
#define HW_DMA1_DSR3 0x80200158
#define HW_DMA1_SAR4 0x80200160
#define HW_DMA1_DAR4 0x80200168
#define HW_DMA1_LLP4 0x80200170
#define HW_DMA1_CTL4 0x80200178
#define HW_DMA1_SSTAT4 0x80200180
#define HW_DMA1_DSTAT4 0x80200188
#define HW_DMA1_SSTATAR4 0x80200190
#define HW_DMA1_DSTATAR4 0x80200198
#define HW_DMA1_CFG4 0x802001a0
#define HW_DMA1_SGR4 0x802001a8
#define HW_DMA1_DSR4 0x802001b0
#define HW_DMA1_SAR5 0x802001b8
#define HW_DMA1_DAR5 0x802001c0
#define HW_DMA1_LLP5 0x802001c8
#define HW_DMA1_CTL5 0x802001d0
#define HW_DMA1_SSTAT5 0x802001d8
#define HW_DMA1_DSTAT5 0x802001e0
#define HW_DMA1_SSTATAR5 0x802001e8
#define HW_DMA1_DSTATAR5 0x802001f0
#define HW_DMA1_CFG5 0x802001f8
#define HW_DMA1_SGR5 0x80200200
#define HW_DMA1_DSR5 0x80200208
#define HW_DMA1_SAR6 0x80200210
#define HW_DMA1_DAR6 0x80200218
#define HW_DMA1_LLP6 0x80200220
#define HW_DMA1_CTL6 0x80200228
#define HW_DMA1_SSTAT6 0x80200230
#define HW_DMA1_DSTAT6 0x80200238
#define HW_DMA1_SSTATAR6 0x80200240
#define HW_DMA1_DSTATAR6 0x80200248
#define HW_DMA1_CFG6 0x80200250
#define HW_DMA1_SGR6 0x80200258
#define HW_DMA1_DSR6 0x80200260
#define HW_DMA1_SAR7 0x80200268
#define HW_DMA1_DAR7 0x80200270
#define HW_DMA1_LLP7 0x80200278
#define HW_DMA1_CTL7 0x80200280
#define HW_DMA1_SSTAT7 0x80200288
#define HW_DMA1_DSTAT7 0x80200290
#define HW_DMA1_SSTATAR7 0x80200298
#define HW_DMA1_DSTATAR7 0x802002a0
#define HW_DMA1_CFG7 0x802002a8
#define HW_DMA1_SGR7 0x802002b0
#define HW_DMA1_DSR7 0x802002b8
#define HW_DMA1_RawTFR 0x802002c0
#define HW_DMA1_RawBLOCK 0x802002c8
#define HW_DMA1_RawSRCTRAN 0x802002d0
#define HW_DMA1_RawDSTTRAN 0x802002d8
#define HW_DMA1_RawERR 0x802002e0
#define HW_DMA1_StatusTFR 0x802002e8
#define HW_DMA1_StatusBLOCK 0x802002f0
#define HW_DMA1_StatusSRCTRAN 0x802002f8
#define HW_DMA1_StatusDSTTRAN 0x80200300
#define HW_DMA1_StatusERR 0x80200308
#define HW_DMA1_MaskTFR 0x80200310
#define HW_DMA1_MaskBLOCK 0x80200318
#define HW_DMA1_MaskSRCTRAN 0x80200320
#define HW_DMA1_MaskDSTTRAN 0x80200328
#define HW_DMA1_MaskERR 0x80200330
#define HW_DMA1_ClearTFR 0x80200338
#define HW_DMA1_ClearBLOCK 0x80200340
#define HW_DMA1_ClearSRCTRAN 0x80200348
#define HW_DMA1_ClearDSTTRAN 0x80200350
#define HW_DMA1_ClearERR 0x80200358
#define HW_DMA1_STATUSINT 0x80200360
#define HW_DMA1_ReqSrcReg 0x80200368
#define HW_DMA1_ReqDstReg 0x80200370
#define HW_DMA1_SglReqSrcReg 0x80200378
#define HW_DMA1_SglReqDstReg 0x80200380
#define HW_DMA1_LstSrcReg 0x80200388
#define HW_DMA1_LstDstReg 0x80200390
#define HW_DMA1_DMACFGREG 0x80200398
#define HW_DMA1_CHENREG 0x802003a0
////////////////////////////////////////////////////////////////////////////////
// ICOLL
#define HW_ICOLL_VECTOR 0x80054000
#define HW_ICOLL_LEVELACK 0x80054010
#define HW_ICOLL_CTRL 0x80054020
#define HW_ICOLL_STAT 0x80054030
#define HW_ICOLL_RAW0 0x80054040
#define HW_ICOLL_RAW1 0x80054050
#define HW_ICOLL_PRIORITY0 0x80054060
#define HW_ICOLL_PRIORITY1 0x80054070
#define HW_ICOLL_PRIORITY2 0x80054080
#define HW_ICOLL_PRIORITY3 0x80054090
#define HW_ICOLL_PRIORITY4 0x800540A0
#define HW_ICOLL_PRIORITY5 0x800540B0
#define HW_ICOLL_PRIORITY6 0x800540C0
#define HW_ICOLL_PRIORITY7 0x800540D0
#define HW_ICOLL_PRIORITY8 0x800540E0
#define HW_ICOLL_PRIORITY9 0x800540F0
#define HW_ICOLL_PRIORITY10 0x80054100
#define HW_ICOLL_PRIORITY11 0x80054110
#define HW_ICOLL_PRIORITY12 0x80054120
#define HW_ICOLL_PRIORITY13 0x80054130
#define HW_ICOLL_PRIORITY14 0x80054140
#define HW_ICOLL_PRIORITY15 0x80054150
#define HW_ICOLL_VBASE 0x80054160
#define HW_ICOLL_DEBUG 0x80054170
#define HW_ICOLL_DBGREAD0 0x80054180
#define HW_ICOLL_DBGREAD1 0x80054190
#define HW_ICOLL_DBGFLAG 0x800541A0
#define HW_ICOLL_DBGREQUEST0 0x800541B0
#define HW_ICOLL_DBGREQUEST1 0x800541C0
#define HW_ICOLL_CLEAR0 0x800541D0
#define HW_ICOLL_CLEAR1 0x800541E0
#define HW_ICOLL_UNDEF_VECTOR 0x800541F0
////////////////////////////////////////////////////////////////////////////////
// TIMER0
#define HW_TIMER0_IR 0x80088000
#define HW_TIMER0_TCR 0x80088010
#define HW_TIMER0_DIR 0x80088020
#define HW_TIMER0_TC0 0x80088030
#define HW_TIMER0_TC1 0x80088040
#define HW_TIMER0_TC2 0x80088050
#define HW_TIMER0_TC3 0x80088060
#define HW_TIMER0_PR 0x80088070
#define HW_TIMER0_PC 0x80088080
#define HW_TIMER0_MCR 0x80088090
#define HW_TIMER0_MR0 0x800880a0
#define HW_TIMER0_MR1 0x800880b0
#define HW_TIMER0_MR2 0x800880C0
#define HW_TIMER0_MR3 0x800880D0
#define HW_TIMER0_CCR 0x800880E0
#define HW_TIMER0_CR0 0x800880F0
#define HW_TIMER0_CR1 0x80088100
#define HW_TIMER0_CR2 0x80088110
#define HW_TIMER0_CR3 0x80088120
#define HW_TIMER0_EMR 0x80088130
#define HW_TIMER0_PWMTH0 0x80088140
#define HW_TIMER0_PWMTH1 0x80088150
#define HW_TIMER0_PWMTH2 0x80088160
#define HW_TIMER0_PWMTH3 0x80088170
#define HW_TIMER0_CTCR 0x80088180
#define HW_TIMER0_PWMC 0x80088190
////////////////////////////////////////////////////////////////////////////////
// USART
typedef struct {
__IO unsigned long CTRL0[4];
__IO unsigned long CTRL1[4];
__IO unsigned long CTRL2[4];
__IO unsigned long LINECTRL[4];
__IO unsigned long INTR[4];
__IO unsigned long DATA[4];
__IO unsigned long STAT[4];
__I unsigned long DEBUG[4];
__IO unsigned long ILPR[4];
__IO unsigned long RS485CTRL[4];
__IO unsigned long RS485ADRMATCH[4];
__IO unsigned long RS485DLY[4];
__IO unsigned long AUTOBAUD[4];
__IO unsigned long CTRL3[4];
} ASM_USART_TypeDef;
#define UART0_BASE 0x80000000
#define UART1_BASE 0x80004000
#define UART2_BASE 0x80008000
#define UART3_BASE 0x8000C000
#define UART4_BASE 0x80010000
#define UART5_BASE 0x80014000
#define UART6_BASE 0x80018000
#define UART7_BASE 0x8001C000
#define UART8_BASE 0x80020000
#define UART9_BASE 0x80024000
////////////////////////////////////////////////////////////////////////////////
// MAC
#define HW_ETH_BASE_ADDR 0x80500000
#define HW_ETH_MACCR (HW_ETH_BASE_ADDR + 0x0000)
#define HW_ETH_MACFFR (HW_ETH_BASE_ADDR + 0x0004)
#define HW_ETH_MACHTHR (HW_ETH_BASE_ADDR + 0x0008)
#define HW_ETH_MACHTLR (HW_ETH_BASE_ADDR + 0x000C)
#define HW_ETH_MACMIIAR (HW_ETH_BASE_ADDR + 0x0010)
#define HW_ETH_MACMIIDR (HW_ETH_BASE_ADDR + 0x0014)
#define HW_ETH_MACFCR (HW_ETH_BASE_ADDR + 0x0018)
#define HW_ETH_MACVLANTR (HW_ETH_BASE_ADDR + 0x001C)
#define HW_ETH_MACVR (HW_ETH_BASE_ADDR + 0x0020)
#define HW_ETH_MACRWUFFR (HW_ETH_BASE_ADDR + 0x0028)
#define HW_ETH_MACPMTCSR (HW_ETH_BASE_ADDR + 0x002C)
#define HW_ETH_MACDBGR (HW_ETH_BASE_ADDR + 0x0034)
#define HW_ETH_MACISR (HW_ETH_BASE_ADDR + 0x0038)
#define HW_ETH_MACIMR (HW_ETH_BASE_ADDR + 0x003C)
#define HW_ETH_MACA0HR (HW_ETH_BASE_ADDR + 0x0040)
#define HW_ETH_MACA0LR (HW_ETH_BASE_ADDR + 0x0044)
#define HW_ETH_MACA1HR (HW_ETH_BASE_ADDR + 0x0048)
#define HW_ETH_MACA1LR (HW_ETH_BASE_ADDR + 0x004C)
#define HW_ETH_MACA2HR (HW_ETH_BASE_ADDR + 0x0050)
#define HW_ETH_MACA2LR (HW_ETH_BASE_ADDR + 0x0054)
#define HW_ETH_MACA3HR (HW_ETH_BASE_ADDR + 0x0058)
#define HW_ETH_MACA3LR (HW_ETH_BASE_ADDR + 0x005C)
#define HW_ETH_MACA4HR (HW_ETH_BASE_ADDR + 0x0060)
#define HW_ETH_MACA4LR (HW_ETH_BASE_ADDR + 0x0064)
#define HW_ETH_MMCCR (HW_ETH_BASE_ADDR + 0x0100)
#define HW_ETH_MMCRIR (HW_ETH_BASE_ADDR + 0x0104)
#define HW_ETH_MMCTIR (HW_ETH_BASE_ADDR + 0x0108)
#define HW_ETH_MMCRIMR (HW_ETH_BASE_ADDR + 0x010C)
#define HW_ETH_MMCTIMR (HW_ETH_BASE_ADDR + 0x0110)
#define HW_ETH_MMCTGFSCCR (HW_ETH_BASE_ADDR + 0x014C)
#define HW_ETH_MMCTGFMSCCR (HW_ETH_BASE_ADDR + 0x0150)
#define HW_ETH_MMCTGFCR (HW_ETH_BASE_ADDR + 0x0168)
#define HW_ETH_MMCRFCECR (HW_ETH_BASE_ADDR + 0x0194)
#define HW_ETH_MMCRFAECR (HW_ETH_BASE_ADDR + 0x0198)
#define HW_ETH_MMCRGUFCR (HW_ETH_BASE_ADDR + 0x01C4)
#define HW_ETH_PTPTSCR (HW_ETH_BASE_ADDR + 0x0700)
#define HW_ETH_PTPSSIR (HW_ETH_BASE_ADDR + 0x0704)
#define HW_ETH_PTPTSHR (HW_ETH_BASE_ADDR + 0x0708)
#define HW_ETH_PTPTSLR (HW_ETH_BASE_ADDR + 0x070C)
#define HW_ETH_PTPTSHUR (HW_ETH_BASE_ADDR + 0x0710)
#define HW_ETH_PTPTSLUR (HW_ETH_BASE_ADDR + 0x0714)
#define HW_ETH_PTPTSAR (HW_ETH_BASE_ADDR + 0x0718)
#define HW_ETH_PTPTTHR (HW_ETH_BASE_ADDR + 0x071C)
#define HW_ETH_PTPTTLR (HW_ETH_BASE_ADDR + 0x0720)
#define HW_ETH_PTPTSSR (HW_ETH_BASE_ADDR + 0x0728)
#define HW_ETH_PTPPPSCR (HW_ETH_BASE_ADDR + 0x072C)
#define HW_ETH_DMABMR (HW_ETH_BASE_ADDR + 0x1000)
#define HW_ETH_DMATPDR (HW_ETH_BASE_ADDR + 0x1004)
#define HW_ETH_DMARPDR (HW_ETH_BASE_ADDR + 0x1008)
#define HW_ETH_DMARDLAR (HW_ETH_BASE_ADDR + 0x100C)
#define HW_ETH_DMATDLAR (HW_ETH_BASE_ADDR + 0x1010)
#define HW_ETH_DMASR (HW_ETH_BASE_ADDR + 0x1014)
#define HW_ETH_DMAOMR (HW_ETH_BASE_ADDR + 0x1018)
#define HW_ETH_DMAIER (HW_ETH_BASE_ADDR + 0x101C)
#define HW_ETH_DMAMFBOCR (HW_ETH_BASE_ADDR + 0x1020)
#define HW_ETH_DMARSWTR (HW_ETH_BASE_ADDR + 0x1024)
#define HW_ETH_DMACHTDR (HW_ETH_BASE_ADDR + 0x1048)
#define HW_ETH_DMACHRDR (HW_ETH_BASE_ADDR + 0x104C)
#define HW_ETH_DMACHTBAR (HW_ETH_BASE_ADDR + 0x1050)
#define HW_ETH_DMACHRBAR (HW_ETH_BASE_ADDR + 0x1054)
////////////////////////////////////////////////////////////////////////////////
#endif /* __ASM9260T_REGS_H__ */
|