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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems/] [c/] [src/] [exec/] [score/] [cpu/] [i960/] [i960RP.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 chris
/*
2
 *  i960RP Related Definitions.
3
 *
4
 *  NOTE:  There is some commonality with the JX series which is
5
 *         not currently supported by RTEMS.
6
 *
7 208 chris
 *  $Id: i960RP.h,v 1.2 2001-09-27 11:59:27 chris Exp $
8 158 chris
 */
9
 
10
#ifndef __I960RP_h
11
#define __I960RP_h
12
 
13
/*----------------------------------------------------------*/
14
/*  Example 6. Include File (evrp.h)                        */
15
/*----------------------------------------------------------*/
16
/* Define JX Core memory mapped register addresses */
17
/* Common to Jx and RP: */
18
#define    DLMCON_ADDR    0xff008100
19
#define    LMAR0_ADDR     0xff008108
20
#define    LMMR0_ADDR     0xff00810c
21
#define    LMAR1_ADDR     0xff008110
22
#define    LMMR1_ADDR     0xff008114
23
#define    IPB0_ADDR      0xff008400
24
#define    IPB1_ADDR      0xff008404
25
#define    DAB0_ADDR      0xff008420
26
#define    DAB1_ADDR      0xff008424
27
#define    BPCON_ADDR     0xff008440
28
#define    IPND_ADDR      0xff008500
29
#define    IMSK_ADDR      0xff008504
30
#define    ICON_ADDR      0xff008510
31
#define    IMAP0_ADDR     0xff008520
32
#define    IMAP1_ADDR     0xff008524
33
#define    IMAP2_ADDR     0xff008528
34
#define    PMCON0_ADDR    0xff008600
35
#define    PMCON2_ADDR    0xff008608
36
#define    PMCON4_ADDR    0xff008610
37
#define    PMCON6_ADDR    0xff008618
38
#define    PMCON8_ADDR    0xff008620
39
#define    PMCON10_ADDR   0xff008628
40
#define    PMCON12_ADDR   0xff008630
41
#define    PMCON14_ADDR   0xff008638
42
#define    BCON_ADDR      0xff0086fc
43
#define    PRCB_ADDR      0xff008700
44
#define    ISP_ADDR       0xff008704
45
#define    SSP_ADDR       0xff008708
46
#define    DEVID_ADDR     0xff008710
47
#define    TRR0_ADDR      0xff000300
48
#define    TCR0_ADDR      0xff000304
49
#define    TMR0_ADDR      0xff000308
50
#define    TRR1_ADDR      0xff000310
51
#define    TCR1_ADDR      0xff000314
52
#define    TMR1_ADDR      0xff000318
53
 
54
/* RP-only addresses: */
55
/* RP MMRs */
56
 
57
/* PCI-to-PCI Bridge Unit 0000 1000H through 0000 10FFH */
58
#define VIDR_ADDR 0x00001000
59
#define DIDR_ADDR 0x00001002
60
#define PCMDR_ADDR 0x00001004
61
#define PSR_ADDR 0x00001006
62
#define RIDR_ADDR 0x00001008
63
#define CCR_ADDR 0x00001009
64
#define CLSR_ADDR 0x0000100C
65
#define PLTR_ADDR 0x0000100D
66
#define HTR_ADDR 0x0000100E
67
/* Reserved 0x0000100F through  0x00001017 */
68
#define PBNR_ADDR 0x00001018
69
#define SBNR_ADDR 0x00001019
70
#define SUBBNR_ADDR 0x0000101A
71
#define SLTR_ADDR 0x0000101B
72
#define IOBR_ADDR 0x0000101C
73
#define IOLR_ADDR 0x0000101D
74
#define SSR_ADDR 0x0000101E
75
#define MBR_ADDR 0x00001020
76
#define MLR_ADDR 0x00001022
77
#define PMBR_ADDR 0x00001024
78
#define PMLR_ADDR 0x00001026
79
/* Reserved 0x00001028 through 0x00001033 */
80
#define BSVIR_ADDR 0x00001034
81
#define BSIR_ADDR 0x00001036
82
/* Reserved 0x00001038 through 0x0000103D */
83
#define BCR_ADDR 0x0000103E
84
#define EBCR_ADDR 0x00001040
85
#define SISR_ADDR 0x00001042
86
#define PBISR_ADDR 0x00001044
87
#define SBISR_ADDR 0x00001048
88
#define SACR_ADDR 0x0000104C
89
#define PIRSR_ADDR 0x00001050
90
#define SIOBR_ADDR 0x00001054
91
#define SIOLR_ADDR 0x00001055
92
#define SMBR_ADDR 0x00001058
93
#define SMLR_ADDR 0x0000105A
94
#define SDER_ADDR 0x0000105C
95
/* Reserved 0x0000105E through 0x000011FFH */
96
 
97
/* Address Translation Unit 0000 1200H through 0000 12FFH */
98
#define ATUVID_ADDR 0x00001200
99
#define ATUDID_ADDR 0x00001202
100
#define PATUCMD_ADDR 0x00001204
101
#define PATUSR_ADDR 0x00001206
102
#define ATURID_ADDR 0x00001208
103
#define ATUCCR_ADDR 0x00001209
104
#define ATUCLSR_ADDR 0x0000120C
105
#define ATULT_ADDR 0x0000120D
106
#define ATUHTR_ADDR 0x0000120E
107
#define ATUBISTR_ADDR 0x0000120F
108
#define PIABAR_ADDR 0x00001210
109
/* Reserved 0x00001214 */
110
/* Reserved 0x00001218 */
111
/* Reserved 0x0000121C */
112
/* Reserved 0x00001220 */
113
/* Reserved 0x00001224 */
114
/* Reserved 0x00001228 */
115
#define ASVIR_ADDR 0x0000122C
116
#define ASIR_ADDR 0x0000122E
117
#define ERBAR_ADDR 0x00001230
118
/* Reserved 0x00001234 */
119
/* Reserved 0x00001238 */
120
#define ATUILR_ADDR 0x0000123C
121
#define ATUIPR_ADDR 0x0000123D
122
#define ATUMGNT_ADDR 0x0000123E
123
#define ATUMLAT_ADDR 0x0000123F
124
#define PIALR_ADDR 0x00001240
125
#define PIATVR_ADDR 0x00001244
126
#define SIABAR_ADDR 0x00001248
127
#define SIALR_ADDR 0x0000124C
128
#define SIATVR_ADDR 0x00001250
129
#define POMWVR_ADDR 0x00001254
130
/* Reserved 0x00001258 */
131
#define POIOWVR_ADDR 0x0000125C
132
#define PODWVR_ADDR 0x00001260
133
#define POUDR_ADDR 0x00001264
134
#define SOMWVR_ADDR 0x00001268
135
#define SOIOWVR_ADDR 0x0000126C
136
/* Reserved 0x00001270 */
137
#define ERLR_ADDR 0x00001274
138
#define ERTVR_ADDR 0x00001278
139
/* Reserved 0x0000127C */
140
/* Reserved 0x00001280 */
141
/* Reserved 0x00001284 */
142
#define ATUCR_ADDR 0x00001288
143
/* Reserved 0x0000128C */
144
#define PATUISR_ADDR 0x00001290
145
#define SATUISR_ADDR 0x00001294
146
#define SATUCMD_ADDR 0x00001298
147
#define SATUSR_ADDR 0x0000129A
148
#define SODWVR_ADDR 0x0000129C
149
#define SOUDR_ADDR 0x000012A0
150
#define POCCAR_ADDR 0x000012A4
151
#define SOCCAR_ADDR 0x000012A8
152
#define POCCDR_ADDR 0x000012AC
153
#define SOCCDR_ADDR 0x000012B0
154
/* Reserved 0x000012B4 through 0x000012FF */
155
 
156
/* Messaging Unit 0000 1300H through 0000 13FFH */
157
#define ARSR_ADDR 0x00001300
158
/* Reserved 0x00001304 */
159
#define AWR_ADDR 0x00001308
160
/* Reserved 0x0000130C */
161
#define IMR0_ADDR 0x00001310
162
#define IMR1_ADDR 0x00001314
163
#define OMR0_ADDR 0x00001318
164
#define OMR1_ADDR 0x0000131C
165
#define IDR_ADDR 0x00001320
166
#define IISR_ADDR 0x00001324
167
#define IIMR_ADDR 0x00001328
168
#define ODR_ADDR 0x0000132C
169
#define OISR_ADDR 0x00001330
170
#define OIMR_ADDR 0x00001334
171
/* Reserved 0x00001338 through 0x0000134F */
172
#define MUCR_ADDR 0x00001350
173
#define QBAR_ADDR 0x00001354
174
/* Reserved 0x00001358 */
175
/* Reserved 0x0000135C */
176
#define IFHPR_ADDR 0x00001360
177
#define IFTPR_ADDR 0x00001364
178
#define IPHPR_ADDR 0x00001368
179
#define IPTPR_ADDR 0x0000136C
180
#define OFHPR_ADDR 0x00001370
181
#define OFTPR_ADDR 0x00001374
182
#define OPHPR_ADDR 0x00001378
183
#define OPTPR_ADDR 0x0000137C
184
#define IAR_ADDR 0x00001380
185
/* Reserved 0x00001384 through 0x000013FF */
186
 
187
/* DMA Controller 0000 1400H through 0000 14FFH */
188
#define CCR0_ADDR 0x00001400
189
#define CSR0_ADDR 0x00001404
190
/* Reserved 0x00001408 */
191
#define DAR0_ADDR 0x0000140C
192
#define NDAR0_ADDR 0x00001410
193
#define PADR0_ADDR 0x00001414
194
#define PUADR0_ADDR 0x00001418
195
#define LADR0_ADDR 0x0000141C
196
#define BCR0_ADDR 0x00001420
197
#define DCR0_ADDR 0x00001424
198
/* Reserved 0x00001428 through 0x0000143F */
199
#define CCR1_ADDR 0x00001440
200
#define CSR1_ADDR 0x00001444
201
/* Reserved 0x00001448 */
202
#define DAR1_ADDR 0x0000144C
203
#define NDAR1_ADDR 0x00001450
204
#define PADR1_ADDR 0x00001454
205
#define PUADR1_ADDR 0x00001458
206
#define LADR1_ADDR 0x0000145C
207
#define BCR1_ADDR 0x00001460
208
#define DCR1_ADDR 0x00001464
209
/* Reserved 0x00001468 through 0x0000147F */
210
#define CCR2_ADDR 0x00001480
211
#define CSR2_ADDR 0x00001484
212
/* Reserved 0x00001488 */
213
#define DAR2_ADDR 0x0000148C
214
#define NDAR2_ADDR 0x00001490
215
#define PADR2_ADDR 0x00001494
216
#define PUADR2_ADDR 0x00001498
217
#define LADR2_ADDR 0x0000149C
218
#define BCR2_ADDR 0x000014A0
219
#define DCR2_ADDR 0x000014A4
220
/* Reserved 0x000014A8 through 0x000014FF */
221
 
222
/* Memory Controller 0000 1500H through 0000 15FFH */
223
#define MBCR_ADDR 0x00001500
224
#define MBBAR0_ADDR 0x00001504
225
#define MBRWS0_ADDR 0x00001508
226
#define MBWWS0_ADDR 0x0000150C
227
#define MBBAR1_ADDR 0x00001510
228
#define MBRWS1_ADDR 0x00001514
229
#define MBWWS1_ADDR 0x00001518
230
#define DBCR_ADDR 0x0000151C
231
#define DBAR_ADDR 0x00001520
232
#define DRWS_ADDR 0x00001524
233
#define DWWS_ADDR 0x00001528
234
#define DRIR_ADDR 0x0000152C
235
#define DPER_ADDR 0x00001530
236
#define BMER_ADDR 0x00001534
237
#define MEAR_ADDR 0x00001538
238
#define LPISR_ADDR 0x0000153C
239
/* Reserved 0x00001540 through 0x000015FF */
240
 
241
/* Local Bus Arbitration Unit 0000 1600H through 0000 167FH
242
*/
243
#define LBACR_ADDR 0x00001600
244
#define LBALCR_ADDR 0x00001604
245
/* Reserved 0x00001608 through 0x0000167F */
246
 
247
/* I2C Bus Interface Unit 0000 1680H through 0000 16FFH */
248
#define ICR_ADDR 0x00001680
249
#define ISR_ADDR 0x00001684
250
#define ISAR_ADDR 0x00001688
251
#define IDBR_ADDR 0x0000168C
252
#define ICCR_ADDR 0x00001690
253
/* Reserved 0x00001694 through 0x000016FF */
254
 
255
/* PCI And Peripheral Interrupt Controller 0000 1700H through
256
0000 177FH */
257
#define NISR_ADDR 0x00001700
258
#define X7ISR_ADDR 0x00001704
259
#define X6ISR_ADDR 0x00001708
260
#define PDDIR_ADDR 0x00001710
261
/* Reserved 0x00001714 through 0x0000177F */
262
 
263
/* APIC Bus Interface Unit 0000 1780H through 0000 17FFH */
264
#define APICIDR_ADDR 0x00001780
265
#define APICARBID_ADDR 0x00001784
266
#define EVR_ADDR 0x00001788
267
#define IMR_ADDR 0x0000178C
268
#define APICCSR_ADDR 0x00001790
269
/* Reserved 0x00001794 through 0x000017FF  */
270
 
271
/* Byte order bit for region configuration */
272
/* Set to Little Endian for the 80960RP*/
273
#define I960RP_BYTE_ORDER I960RP_BIG_ENDIAN(0)
274
#define I960RP_BUS_WIDTH(bw)  ((bw==16)?(1<<22):(0)) | ((bw==32)?(2<<22):(0))
275
#define I960RP_BIG_ENDIAN(on) ((on)?(0x1<<31):0)
276
#define I960RP_BYTE_N(n,data)  (((unsigned)(data) >> (n*8)) & 0xFF)
277
#define I960RP_BUS_WIDTH_8 0
278
#define I960RP_BUS_WIDTH_16 (1<<22)
279
#define I960RP_BUS_WIDTH_32 (1<<23)
280
 
281
 
282
/* ATU Register Definitions */
283
 
284
#define ATUCR_SECOUTEN 0x4
285
#define ATUCR_PRIOUTEN 0x2
286
#define ATUCR_DADRSELEN  0x100
287
#define ATUCR_SECDADREN  0x80
288
#define AUTCR_SECERRINTEN 0x20 
289
#define AUTCR_PRIERRINTEN 0x10 
290
 
291
#define ATUSCMD_IOEN 0x1
292
#define ATUSCMD_MEMEN 0x2
293
#define ATUSCMD_BUSMSTEN 0x4
294
 
295
#define ATUPCMD_IOEN 0x1
296
#define ATUPCMD_MEMEN 0x2
297
#define ATUPCMD_BUSMSTEN 0x4
298
 
299
/* EBCR Register Definitions */
300
#define EBCR_CCR_MASK   0x4
301
 
302
#define rp_readreg32( x) ( *((unsigned int *) x))
303
#define rp_writereg32( x, v) ( *((unsigned int *) x) = v)
304
#define rp_readreg16( x) ( *((unsigned short *) x))
305
#define rp_writereg16( x, v) ( *((unsigned short *) x) = v)
306
#define rp_readreg8( x) ( *((unsigned char *) x))
307
#define rp_writereg8( x, v) ( *((unsigned char *) x) = v)
308
 
309
 
310
/* i960 Memory Map values */
311
 
312
#define RP_PRI_IO_WIND_BASE     0x90000000
313
#define RP_SEC_IO_WIND_BASE     0x90010000
314
#define RP_SEC_MEM_WIND_BASE    0x88000000
315
#define RP_PRI_MEM_WIND_BASE    0x80000000
316
 
317
#endif
318
/* end of include file */

powered by: WebSVN 2.1.0

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