OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [powerpc/] [mpc8260/] [v2_0/] [include/] [var_regs.h] - Blame information for rev 459

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef CYGONCE_HAL_VAR_REGS_H
2
#define CYGONCE_HAL_VAR_REGS_H
3
 
4
//==========================================================================
5
//
6
//      var_regs.h
7
//
8
//      PowerPC MPC8260 CPU definitions
9
//
10
//==========================================================================
11
//####ECOSGPLCOPYRIGHTBEGIN####
12
// -------------------------------------------
13
// This file is part of eCos, the Embedded Configurable Operating System.
14
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
15
// Copyright (C) 2002 Gary Thomas
16
//
17
// eCos is free software; you can redistribute it and/or modify it under
18
// the terms of the GNU General Public License as published by the Free
19
// Software Foundation; either version 2 or (at your option) any later version.
20
//
21
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
22
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
23
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
24
// for more details.
25
//
26
// You should have received a copy of the GNU General Public License along
27
// with eCos; if not, write to the Free Software Foundation, Inc.,
28
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
29
//
30
// As a special exception, if other files instantiate templates or use macros
31
// or inline functions from this file, or you compile this file and link it
32
// with other works to produce a work based on this file, this file does not
33
// by itself cause the resulting work to be covered by the GNU General Public
34
// License. However the source code for this file must still be made available
35
// in accordance with section (3) of the GNU General Public License.
36
//
37
// This exception does not invalidate any other reasons why a work based on
38
// this file might be covered by the GNU General Public License.
39
//
40
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
41
// at http://sources.redhat.com/ecos/ecos-license/
42
// -------------------------------------------
43
//####ECOSGPLCOPYRIGHTEND####
44
//==========================================================================
45
//#####DESCRIPTIONBEGIN####
46
//
47
// Author(s):    pfine
48
// Contributors: jskov
49
// Date:         2001-12-12
50
// Purpose:      Provide MPC8260 register definitions
51
// Description:  Provide MPC8260 register definitions
52
//               The short definitions (sans CYGARC_REG_) are exported only
53
//               if CYGARC_HAL_COMMON_EXPORT_CPU_MACROS is defined.
54
// Usage:        Included via the acrhitecture register header:
55
//               #include <cyg/hal/ppc_regs.h>
56
//               ...
57
//              
58
//
59
//####DESCRIPTIONEND####
60
//
61
//==========================================================================
62
 
63
//--------------------------------------------------------------------------
64
#define CYGARC_REG_LR   8              // Link Register
65
#define CYGARC_REG_CTR   9              // Counter Register
66
 
67
#define CYGARC_REG_DSISR  18
68
#define CYGARC_REG_DAR    19
69
#define CYGARC_REG_DEC    22
70
#define CYGARC_REG_SDR1   25
71
 
72
#define CYGARC_REG_TBL  268
73
#define CYGARC_REG_TBU  269
74
 
75
#define CYGARC_REG_SPRG0  272
76
#define CYGARC_REG_SPRG1  273
77
#define CYGARC_REG_SPRG2  274
78
#define CYGARC_REG_SPRG3  275
79
#define CYGARC_REG_EAR    282
80
#define CYGARC_REG_PVR    287
81
 
82
#define CYGARC_REG_IBAT0U          528
83
#define CYGARC_REG_IBAT0L          529
84
#define CYGARC_REG_IBAT1U          530
85
#define CYGARC_REG_IBAT1L          531
86
#define CYGARC_REG_IBAT2U          532
87
#define CYGARC_REG_IBAT2L          533
88
#define CYGARC_REG_IBAT3U          534
89
#define CYGARC_REG_IBAT3L          535
90
 
91
#define CYGARC_REG_DBAT0U          536
92
#define CYGARC_REG_DBAT0L          537
93
#define CYGARC_REG_DBAT1U          538
94
#define CYGARC_REG_DBAT1L          539
95
#define CYGARC_REG_DBAT2U          540
96
#define CYGARC_REG_DBAT2L          541
97
#define CYGARC_REG_DBAT3U          542
98
#define CYGARC_REG_DBAT3L          543
99
 
100
#define CYGARC_REG_DMISS   976
101
#define CYGARC_REG_DCMP    977
102
#define CYGARC_REG_HASH1   978
103
#define CYGARC_REG_HASH2   979
104
#define CYGARC_REG_IMISS   980
105
#define CYGARC_REG_ICMP    981
106
#define CYGARC_REG_RPA     982
107
 
108
 
109
// Hardware Implementation Defined Special Purpose Registers
110
#define CYGARC_REG_HID0   1008
111
#define CYGARC_REG_HID1   1009
112
#define CYGARC_REG_IABR   1010
113
#define CYGARC_REG_HID2   1011
114
#define CYGARC_REG_DABR   1013
115
 
116
// MPC8260 Internal Memory Mapped Registers
117
// These values are the offsets from the base memory address, which
118
// is stored in the IMMR register (0x101A8).
119
#define CYGARC_REG_IMM_SIUMCR    0x0000   // SIU Module Configuration Register
120
#define CYGARC_REG_IMM_SYPCR     0x0004   // System Protection Control Register
121
#define CYGARC_REG_IMM_SWSR      0x000E   // Software Service Register
122
#define CYGARC_REG_IMM_BCR       0x0024   // Bus Configuration Register
123
#define CYGARC_REG_IMM_PPC_ACR   0x0028   // .60x Bus Arbiter Config Register
124
#define CYGARC_REG_IMM_PPC_ALRH  0x002C   // .60x Bus Arb-Level[High] Register
125
#define CYGARC_REG_IMM_PPC_ALRL  0x0030   // .60x Bus Arb-Level[Low] Register
126
#define CYGARC_REG_IMM_LCL_ACR   0x0034   // Local Arbiter Config Register
127
#define CYGARC_REG_IMM_LCL_ACRH  0x0038   // Local Arb-Level[High] Register
128
#define CYGARC_REG_IMM_LCL_ACRL  0x003C   // Local Arb-Level[Low] Register
129
#define CYGARC_REG_IMM_TESCR1    0x0040   // .60x Bus Transfer Error Status and
130
                                          //    Control Register 1
131
#define CYGARC_REG_IMM_TESCR2    0x0044   // .60x Bus Transfer Error Status and
132
                                          //    Control Register 2
133
 
134
#define CYGARC_REG_IMM_LTESCR1   0x0048   // Local Bus Transfer Error Status
135
                                          //    and Control Register 1
136
#define CYGARC_REG_IMM_LTESCR2   0x004C   // Local Bus Transfer Error Status and
137
                                          // //Control Register 2
138
 
139
#define CYGARC_REG_IMM_PDTEA     0x0050   // .60x Bus DMA Transfer
140
                                          //    Error Address
141
#define CYGARC_REG_IMM_PDTEM     0x0054   // .60x Bus DMA Transfer Error MSNUM
142
#define CYGARC_REG_IMM_LDTEA     0x0058   // Local Bus DMA Xfer Error Address
143
#define CYGARC_REG_IMM_LDTEM     0x005C   // Local Bus DMA Transfer Error MSNUM
144
 
145
#define CYGARC_REG_IMM_SCCR      0x0C80   // System Clock Control Register
146
#define CYGARC_REG_IMM_BR0       0x0100   // Base Register Bank 0
147
#define CYGARC_REG_IMM_OR0       0x0104   // Option Register Bank 0
148
#define CYGARC_REG_IMM_BR1       0x0108   // Base Register Bank 1
149
#define CYGARC_REG_IMM_OR1       0x010C   // Option Register Bank 1
150
#define CYGARC_REG_IMM_BR2       0x0110   // Base Register Bank 2
151
#define CYGARC_REG_IMM_OR2       0x0114   // Option Regiser Bank 2
152
#define CYGARC_REG_IMM_BR3       0x0118   // Base Register Bank 3
153
#define CYGARC_REG_IMM_OR3       0x011C   // Option Register Bank 3
154
#define CYGARC_REG_IMM_BR4       0x0120   // Base Register Bank 4
155
#define CYGARC_REG_IMM_OR4       0x0124   // Option Register Bank 4
156
#define CYGARC_REG_IMM_BR5       0x0128   // Base Register Bank 5
157
#define CYGARC_REG_IMM_OR5       0x012C   // Option Register Bank 5
158
#define CYGARC_REG_IMM_BR6       0x0130   // Base Register Bank 6
159
#define CYGARC_REG_IMM_OR6       0x0134   // Option Register Bank 6
160
#define CYGARC_REG_IMM_BR7       0x0138   // Base Register Bank 7
161
#define CYGARC_REG_IMM_OR7       0x013C   // Option Register Bank 7
162
#define CYGARC_REG_IMM_BR8       0x0140   // Base Register Bank 8
163
#define CYGARC_REG_IMM_OR8       0x0144   // Option Regiser Bank 8
164
#define CYGARC_REG_IMM_BR9       0x0148   // Base Register Bank 9
165
#define CYGARC_REG_IMM_OR9       0x014C   // Option Register Bank 9
166
#define CYGARC_REG_IMM_BR10      0x0150   // Base Register Bank 10
167
#define CYGARC_REG_IMM_OR10      0x0154   // Option Register Bank 10
168
#define CYGARC_REG_IMM_BR11      0x0158   // Base Register Bank 11
169
#define CYGARC_REG_IMM_OR11      0x015C   // Option Register Bank 11
170
 
171
#define CYGARC_REG_IMM_MAR       0x0168   // Memory Address Register
172
#define CYGARC_REG_IMM_MAMR      0x0170   // Machine A mode Register
173
#define CYGARC_REG_IMM_MBMR      0x0174   // Machine B mode Register
174
#define CYGARC_REG_IMM_MCMR      0x0178   // Machine C mode Register
175
 
176
#define CYGARC_REG_IMM_MPTPR     0x0184   // Memory Periodic Timer
177
                                          //    Prescaler Register
178
#define CYGARC_REG_IMM_MDR       0x0188   // Memory Data Register
179
#define CYGARC_REG_IMM_PSDMR     0x0190   // PowerPC Bus SDRAM Machine
180
                                          //    Mode Register
181
#define CYGARC_REG_IMM_LSDMR     0x0194   // Local Bus SDRAM Machine
182
                                          //    Mode Register
183
#define CYGARC_REG_IMM_PURT      0x0198   // .60x Bus-assigned UPM Refresh timer
184
#define CYGARC_REG_IMM_PSRT      0x019C   // .60x Bus Assigned SDRAM
185
                                          //    Refresh Timer
186
#define CYGARC_REG_IMM_LURT      0x01A0   // Local Bus-assigned UPM
187
                                          //    Refresh timer
188
#define CYGARC_REG_IMM_LSRT      0x01A4   // Local Bus Assigned SDRAM
189
                                          //    Refresh Timer
190
#define CYGARC_REG_IMM_IMMR      0x01A8   // Internal I/O base register offset
191
 
192
// Interrupt Controller
193
#define CYGARC_REG_IMM_SICR      0x0C00   // SIU Interrupt Config Register
194
#define CYGARC_REG_IMM_SIVEC     0x0C04   // SIU Interrupt Vector Register
195
#define CYGARC_REG_IMM_SIPNR_H   0x0C08   // SIU Interrupt Pending Reg. High
196
#define CYGARC_REG_IMM_SIPNR_L   0x0C0C   // SIU Interrupt Pending Reg. Low
197
#define CYGARC_REG_IMM_SIPRR     0x0C10   // SIU Interrupt Priority Register
198
#define CYGARC_REG_IMM_SCPRR_H   0x0C14   // CPM Interrupt Priority Reg. High
199
#define CYGARC_REG_IMM_SCPRR_L   0x0C18   // CPM Interrupt Priority Reg. Low
200
#define CYGARC_REG_IMM_SIMR_H    0x0C1C   // SIU Interrupt Mask Register High
201
#define CYGARC_REG_IMM_SIMR_L    0x0C20   // SIU Interrupt Mask Register High
202
#define CYGARC_REG_IMM_SIEXR     0x0C24   // SIU External Interrupt Ctrl Reg.
203
 
204
#ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS
205
#define HID0       CYGARC_REG_HID0
206
#define HID1       CYGARC_REG_HID1
207
#define HID2       CYGARC_REG_HID2
208
#endif // ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS
209
 
210
//--------------------------------------------------------------------------
211
#ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS
212
 
213
// BATs
214
#define IBAT0U          528
215
#define IBAT0L          529
216
#define IBAT1U          530
217
#define IBAT1L          531
218
#define IBAT2U          532
219
#define IBAT2L          533
220
#define IBAT3U          534
221
#define IBAT3L          535
222
 
223
#define DBAT0U          536
224
#define DBAT0L          537
225
#define DBAT1U          538
226
#define DBAT1L          539
227
#define DBAT2U          540
228
#define DBAT2L          541
229
#define DBAT3U          542
230
#define DBAT3L          543
231
 
232
#define UBAT_BEPIMASK   0xfffe0000      // effective address mask
233
#define UBAT_BLMASK     0x00001ffc      // block length mask
234
#define UBAT_VS         0x00000002      // supervisor mode valid bit
235
#define UBAT_VP         0x00000001      // problem mode valid bit
236
 
237
#define LBAT_BRPNMASK   0xfffe0000      // real address mask
238
#define LBAT_W          0x00000040      // write-through
239
#define LBAT_I          0x00000020      // caching-inhibited
240
#define LBAT_M          0x00000010      // memory coherence
241
#define LBAT_G          0x00000008      // guarded
242
 
243
#define LBAT_PP_NA      0x00000000      // no access
244
#define LBAT_PP_RO      0x00000001      // read-only
245
#define LBAT_PP_RW      0x00000002      // read/write
246
 
247
 
248
#endif // ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS
249
 
250
//-----------------------------------------------------------------------------
251
#endif // ifdef CYGONCE_HAL_VAR_REGS_H
252
// End of var_regs.h

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.