blob: 561fb26f5a93cbe720cd70445729ec7268c7c315 (
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
|
/*----------------------------------------------------------------------------+
| This source code has been made available to you by IBM on an AS-IS
| basis. Anyone receiving this source is licensed under IBM
| copyrights to use it in any way he or she deems fit, including
| copying it, modifying it, compiling it, and redistributing it either
| with or without modifications. No license under IBM patents or
| patent applications is to be implied by the copyright license.
|
| Any user of this software should understand that IBM cannot provide
| technical support for this software and will not be responsible for
| any consequences resulting from the use of this software.
|
| Any person who transfers this source code or any derivative work
| must include the IBM copyright notice, this paragraph, and the
| preceding two paragraphs in the transferred software.
|
| COPYRIGHT I B M CORPORATION 1997
| LICENSED MATERIAL - PROGRAM PROPERTY OF I B M
+----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------+
| Author: Tony J. Cerreto
| Component: Assembler include file.
| File: ppc_40x.h
| Purpose: Include file containing PPC DCR defines.
|
| Changes:
| Date Author Comment
| --------- ------ --------------------------------------------------------
| 01-Mar-00 tjc Created
+----------------------------------------------------------------------------*/
/* added by linguohui*/
#define MW
/*----------------------------------------------------------------------------+
| PPC Special purpose registers Numbers
+----------------------------------------------------------------------------*/
#define ccr0 0x3b3 /* core configuration reg */
#define ctr 0x009 /* count register */
#define ctrreg 0x009 /* count register */
#define dbcr0 0x3f2 /* debug control register 0 */
#define dbcr1 0x3bd /* debug control register 1 */
#define dbsr 0x3f0 /* debug status register */
#define dccr 0x3fa /* data cache control reg. */
#define dcwr 0x3ba /* data cache write-thru reg */
#define dear 0x3d5 /* data exception address reg */
#define esr 0x3d4 /* exception syndrome register */
#define evpr 0x3d6 /* exception vector prefix reg */
#define iccr 0x3fb /* instruction cache cntrl re */
#define icdbdr 0x3d3 /* instr cache dbug data reg */
#define lrreg 0x008 /* link register */
#define pid 0x3b1 /* process id reg */
#define pit 0x3db /* programmable interval time */
#define pvr 0x11f /* processor version register */
#define sgr 0x3b9 /* storage guarded reg */
#define sler 0x3bb /* storage little endian reg */
#define sprg0 0x110 /* special general purpose 0 */
#define sprg1 0x111 /* special general purpose 1 */
#define sprg2 0x112 /* special general purpose 2 */
#define sprg3 0x113 /* special general purpose 3 */
#define sprg4 0x114 /* special general purpose 4 */
#define sprg5 0x115 /* special general purpose 5 */
#define sprg6 0x116 /* special general purpose 6 */
#define sprg7 0x117 /* special general purpose 7 */
#define srr0 0x01a /* save/restore register 0 */
#define srr1 0x01b /* save/restore register 1 */
#define srr2 0x3de /* save/restore register 2 */
#define srr3 0x3df /* save/restore register 3 */
#define tbhi 0x11D
#define tblo 0x11C
#define tcr 0x3da /* timer control register */
#define tsr 0x3d8 /* timer status register */
#define xerreg 0x001 /* fixed point exception */
#define xer 0x001 /* fixed point exception */
#define zpr 0x3b0 /* zone protection reg */
/*----------------------------------------------------------------------------+
| Decompression Controller
+----------------------------------------------------------------------------*/
#define kiar 0x014 /* Decompression cntl addr reg */
#define kidr 0x015 /* Decompression cntl data reg */
#define kitor0 0x00 /* index table origin Reg 0 */
#define kitor1 0x01 /* index table origin Reg 1 */
#define kitor2 0x02 /* index table origin Reg 2 */
#define kitor3 0x03 /* index table origin Reg 3 */
#define kaddr0 0x04 /* addr decode Definition Reg 0 */
#define kaddr1 0x05 /* addr decode Definition Reg 1 */
#define kconf 0x40 /* Decompression cntl config reg */
#define kid 0x41 /* Decompression cntl id reg */
#define kver 0x42 /* Decompression cntl ver number */
#define kpear 0x50 /* bus error addr reg (PLB) */
#define kbear 0x51 /* bus error addr reg (DCP-EBC) */
#define kesr0 0x52 /* bus error status reg 0 */
/*----------------------------------------------------------------------------+
| Romeo Specific Device Control Register Numbers.
+----------------------------------------------------------------------------*/
#ifndef VESTA
#define cdbcr 0x3d7 /* cache debug cntrl reg */
#define a_latcnt 0x1a9 /* PLB Latency count */
#define a_tgval 0x1ac /* tone generation value */
#define a_plb_pr 0x1bf /* PLB priority */
#define cic_sel1 0x031 /* select register 1 */
#define cic_sel2 0x032 /* select register 2 */
#define clkgcrst 0x122 /* chip reset register */
#define cp_cpmsr 0x100 /*rstatus register */
#define cp_cpmer 0x101 /* enable register */
#define dcp_kiar 0x190 /* indirect address register */
#define dcp_kidr 0x191 /* indirect data register */
#define hsmc_mcgr 0x1c0 /* HSMC global register */
#define hsmc_mcbesr 0x1c1 /* bus error status register */
#define hsmc_mcbear 0x1c2 /* bus error address register*/
#define hsmc_mcbr0 0x1c4 /* SDRAM sub-ctrl bank reg 0 */
#define hsmc_mccr0 0x1c5 /* SDRAM sub-ctrl ctrl reg 0 */
#define hsmc_mcbr1 0x1c7 /* SDRAM sub-ctrl bank reg 1 */
#define hsmc_mccr1 0x1c8 /* SDRAM sub-ctrl ctrl reg 1 */
#define hsmc_sysr 0x1d1 /* system register */
#define hsmc_data 0x1d2 /* data register */
#define hsmc_mccrr 0x1d3 /* refresh register */
#define ocm_pbar 0x1E0 /* base address register */
#define plb0_pacr0 0x057 /* PLB arbiter control reg */
#define plb1_pacr1 0x067 /* PLB arbiter control reg */
#define v_displb 0x157 /* set left border of display*/
#define v_disptb 0x158 /* top border of display */
#define v_osd_la 0x159 /* first link address for OSD*/
#define v_ptsdlta 0x15E /* PTS delta register */
#define v_v0base 0x16C /* base mem add for VBI-0 */
#define v_v1base 0x16D /* base mem add for VBI-1 */
#define v_osbase 0x16E /* base mem add for OSD data */
#endif
/*----------------------------------------------------------------------------+
| Vesta Device Control Register Numbers.
+----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------+
| Cross bar switch.
+----------------------------------------------------------------------------*/
#define cbs0_cr 0x010 /* CBS configuration register */
/*----------------------------------------------------------------------------+
| DCR external master (DCRX).
+----------------------------------------------------------------------------*/
#define dcrx0_icr 0x020 /* internal control register */
#define dcrx0_isr 0x021 /* internal status register */
#define dcrx0_ecr 0x022 /* external control register */
#define dcrx0_esr 0x023 /* external status register */
#define dcrx0_tar 0x024 /* target address register */
#define dcrx0_tdr 0x025 /* target data register */
#define dcrx0_igr 0x026 /* interrupt generation register */
#define dcrx0_bcr 0x027 /* buffer control register */
/*----------------------------------------------------------------------------+
| Chip interconnect configuration.
+----------------------------------------------------------------------------*/
#define cic0_cr 0x030 /* CIC control register */
#define cic0_vcr 0x033 /* video macro control reg */
#define cic0_sel3 0x035 /* select register 3 */
/*----------------------------------------------------------------------------+
| Chip interconnect configuration.
+----------------------------------------------------------------------------*/
#define sgpo0_sgpO 0x036 /* simplified GPIO output */
#define sgpo0_gpod 0x037 /* simplified GPIO open drain */
#define sgpo0_gptc 0x038 /* simplified GPIO tristate cntl */
#define sgpo0_gpi 0x039 /* simplified GPIO input */
/*----------------------------------------------------------------------------+
| Universal interrupt controller.
+----------------------------------------------------------------------------*/
#define uic0_sr 0x040 /* status register */
#define uic0_srs 0x041 /* status register set */
#define uic0_er 0x042 /* enable register */
#define uic0_cr 0x043 /* critical register */
#define uic0_pr 0x044 /* parity register */
#define uic0_tr 0x045 /* triggering register */
#define uic0_msr 0x046 /* masked status register */
#define uic0_vr 0x047 /* vector register */
#define uic0_vcr 0x048 /* enable config register */
/*----------------------------------------------------------------------------+
| PLB 0 and 1.
+----------------------------------------------------------------------------*/
#define pb0_pesr 0x054 /* PLB error status reg 0 */
#define pb0_pesrs 0x055 /* PLB error status reg 0 set */
#define pb0_pear 0x056 /* PLB error address reg */
#define pb1_pesr 0x064 /* PLB error status reg 1 */
#define pb1_pesrs 0x065 /* PLB error status reg 1 set */
#define pb1_pear 0x066 /* PLB error address reg */
/*----------------------------------------------------------------------------+
| EBIU DCR registers.
+----------------------------------------------------------------------------*/
#define ebiu0_brcrh0 0x070 /* bus region register 0 high */
#define ebiu0_brcrh1 0x071 /* bus region register 1 high */
#define ebiu0_brcrh2 0x072 /* bus region register 2 high */
#define ebiu0_brcrh3 0x073 /* bus region register 3 high */
#define ebiu0_brcrh4 0x074 /* bus region register 4 high */
#define ebiu0_brcrh5 0x075 /* bus region register 5 high */
#define ebiu0_brcrh6 0x076 /* bus region register 6 high */
#define ebiu0_brcrh7 0x077 /* bus region register 7 high */
#define ebiu0_brcr0 0x080 /* bus region register 0 */
#define ebiu0_brcr1 0x081 /* bus region register 1 */
#define ebiu0_brcr2 0x082 /* bus region register 2 */
#define ebiu0_brcr3 0x083 /* bus region register 3 */
#define ebiu0_brcr4 0x084 /* bus region register 4 */
#define ebiu0_brcr5 0x085 /* bus region register 5 */
#define ebiu0_brcr6 0x086 /* bus region register 6 */
#define ebiu0_brcr7 0x087 /* bus region register 7 */
#define ebiu0_bear 0x090 /* bus error address register */
#define ebiu0_besr 0x091 /* bus error syndrome reg */
#define ebiu0_besr0s 0x093 /* bus error syndrome reg */
#define ebiu0_biucr 0x09a /* bus interface control reg */
/*----------------------------------------------------------------------------+
| OPB bridge.
+----------------------------------------------------------------------------*/
#define opbw0_gesr 0x0b0 /* error status reg */
#define opbw0_gesrs 0x0b1 /* error status reg */
#define opbw0_gear 0x0b2 /* error address reg */
/*----------------------------------------------------------------------------+
| DMA.
+----------------------------------------------------------------------------*/
#define dma0_cr0 0x0c0 /* DMA channel control reg 0 */
#define dma0_ct0 0x0c1 /* DMA count register 0 */
#define dma0_da0 0x0c2 /* DMA destination addr reg 0 */
#define dma0_sa0 0x0c3 /* DMA source addr register 0 */
#define dma0_cc0 0x0c4 /* DMA chained count 0 */
#define dma0_cr1 0x0c8 /* DMA channel control reg 1 */
#define dma0_ct1 0x0c9 /* DMA count register 1 */
#define dma0_da1 0x0ca /* DMA destination addr reg 1 */
#define dma0_sa1 0x0cb /* DMA source addr register 1 */
#define dma0_cc1 0x0cc /* DMA chained count 1 */
#define dma0_cr2 0x0d0 /* DMA channel control reg 2 */
#define dma0_ct2 0x0d1 /* DMA count register 2 */
#define dma0_da2 0x0d2 /* DMA destination addr reg 2 */
#define dma0_sa2 0x0d3 /* DMA source addr register 2 */
#define dma0_cc2 0x0d4 /* DMA chained count 2 */
#define dma0_cr3 0x0d8 /* DMA channel control reg 3 */
#define dma0_ct3 0x0d9 /* DMA count register 3 */
#define dma0_da3 0x0da /* DMA destination addr reg 3 */
#define dma0_sa3 0x0db /* DMA source addr register 3 */
#define dma0_cc3 0x0dc /* DMA chained count 3 */
#define dma0_sr 0x0e0 /* DMA status register */
#define dma0_srs 0x0e1 /* DMA status register */
#define dma0_s1 0x031 /* DMA select1 register */
#define dma0_s2 0x032 /* DMA select2 register */
/*---------------------------------------------------------------------------+
| Clock and power management.
+----------------------------------------------------------------------------*/
#define cpm0_fr 0x102 /* force register */
/*----------------------------------------------------------------------------+
| Serial Clock Control.
+----------------------------------------------------------------------------*/
#define ser0_ccr 0x120 /* serial clock control register */
/*----------------------------------------------------------------------------+
| Audio Clock Control.
+----------------------------------------------------------------------------*/
#define aud0_apcr 0x121 /* audio clock ctrl register */
/*----------------------------------------------------------------------------+
| DENC.
+----------------------------------------------------------------------------*/
#define denc0_idr 0x130 /* DENC ID register */
#define denc0_cr1 0x131 /* control register 1 */
#define denc0_rr1 0x132 /* microvision 1 (reserved 1) */
#define denc0_cr2 0x133 /* control register 2 */
#define denc0_rr2 0x134 /* microvision 2 (reserved 2) */
#define denc0_rr3 0x135 /* microvision 3 (reserved 3) */
#define denc0_rr4 0x136 /* microvision 4 (reserved 4) */
#define denc0_rr5 0x137 /* microvision 5 (reserved 5) */
#define denc0_ccdr 0x138 /* closed caption data */
#define denc0_cccr 0x139 /* closed caption control */
#define denc0_trr 0x13A /* teletext request register */
#define denc0_tosr 0x13B /* teletext odd field line se */
#define denc0_tesr 0x13C /* teletext even field line s */
#define denc0_rlsr 0x13D /* RGB rhift left register */
#define denc0_vlsr 0x13E /* video level shift register */
#define denc0_vsr 0x13F /* video scaling register */
/*----------------------------------------------------------------------------+
| Video decoder. Suspect 0x179, 0x169, 0x16a, 0x152 (rc).
+----------------------------------------------------------------------------*/
#define vid0_ccntl 0x140 /* control decoder operation */
#define vid0_cmode 0x141 /* video operational mode */
#define vid0_sstc0 0x142 /* STC high order bits 31:0 */
#define vid0_sstc1 0x143 /* STC low order bit 32 */
#define vid0_spts0 0x144 /* PTS high order bits 31:0 */
#define vid0_spts1 0x145 /* PTS low order bit 32 */
#define vid0_fifo 0x146 /* FIFO data port */
#define vid0_fifos 0x147 /* FIFO status */
#define vid0_cmd 0x148 /* send command to decoder */
#define vid0_cmdd 0x149 /* port for command params */
#define vid0_cmdst 0x14A /* command status */
#define vid0_cmdad 0x14B /* command address */
#define vid0_procia 0x14C /* instruction store */
#define vid0_procid 0x14D /* data port for I_Store */
#define vid0_osdm 0x151 /* OSD mode control */
#define vid0_hosti 0x152 /* base interrupt register */
#define vid0_mask 0x153 /* interrupt mask register */
#define vid0_dispm 0x154 /* operational mode for Disp */
#define vid0_dispd 0x155 /* setting for 'Sync' delay */
#define vid0_vbctl 0x156 /* VBI */
#define vid0_ttxctl 0x157 /* teletext control */
#define vid0_disptb 0x158 /* display left/top border */
#define vid0_osdgla 0x159 /* Graphics plane link addr */
#define vid0_osdila 0x15A /* Image plane link addr */
#define vid0_rbthr 0x15B /* rate buffer threshold */
#define vid0_osdcla 0x15C /* Cursor link addr */
#define vid0_stcca 0x15D /* STC common address */
#define vid0_ptsctl 0x15F /* PTS Control */
#define vid0_wprot 0x165 /* write protect for I_Store */
#define vid0_vcqa 0x167 /* video clip queued block Ad */
#define vid0_vcql 0x168 /* video clip queued block Le */
#define vid0_blksz 0x169 /* block size bytes for copy op */
|