summaryrefslogtreecommitdiff
path: root/system/alpha/h/eb66.h
blob: 484c583c8ebe40885fccecb7d8977d17196714a8 (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
#ifndef __EB66_H_LOADED
#define __EB66_H_LOADED
/*****************************************************************************

       Copyright © 1993, 1994 Digital Equipment Corporation,
                       Maynard, Massachusetts.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided
that the copyright notice and this permission notice appear in all copies
of software and supporting documentation, and that the name of Digital not
be used in advertising or publicity pertaining to distribution of the software
without specific, written prior permission. Digital grants this permission
provided that you prominently mark, as not part of the original, any
modifications made to this software or documentation.

Digital Equipment Corporation disclaims all warranties and/or guarantees
with regard to this software, including all implied warranties of fitness for
a particular purpose and merchantability, and makes no representations
regarding the use of, or the results of the use of, the software and
documentation in terms of correctness, accuracy, reliability, currentness or
otherwise; and you rely on the software, documentation and results solely at
your own risk.

******************************************************************************/

/*
 *  $Id: eb66.h,v 1.1.1.1 1997/10/30 23:27:15 verghese Exp $;
 */

/*
 * $Log: eb66.h,v $
 * Revision 1.1.1.1  1997/10/30 23:27:15  verghese
 * current 10/29/97
 *
 * Revision 1.21  1995/02/10  02:56:08  fdh
 * Disabled bootopt command because the current SROM doesn't support it.
 *
 * Revision 1.20  1994/12/08  16:42:29  fdh
 * Removed EB66P definitions. Moved to eb66p.h
 *
 * Revision 1.19  1994/11/17  14:15:30  fdh
 * Modified definitions for EB66P
 *
 * Revision 1.18  1994/11/08  21:38:33  fdh
 * Added ROM definitions. Moved from rom.c
 * Also added Flash ROM definitions to support
 * a variant of the EB66 design.
 *
 * Revision 1.17  1994/08/05  20:13:47  fdh
 * Updated Copyright header and RCS $Id: identifier.
 *
 * Revision 1.16  1994/07/21  18:09:32  fdh
 * Added MAXIMUM_SYSTEM_CACHE definition.
 *
 * Revision 1.15  1994/06/28  20:08:21  fdh
 * Modified filenames and build precedure to fit into a FAT filesystem.
 *
 * Revision 1.14  1994/06/20  14:18:59  fdh
 * Fixup header file preprocessor #include conditionals.
 *
 * Revision 1.13  1994/04/06  05:10:07  fdh
 * Removed and ethernet driver.
 *
 * Revision 1.12  1994/04/04  15:16:29  fdh
 * Added definition for LEDPORT.
 *
 * Revision 1.11  1994/04/01  13:58:53  fdh
 * Added MINIMUM_SYSTEM_MEMORY definition and
 * removed obsoleted PAL_IMPURE definition.
 *
 * Revision 1.10  1994/03/24  21:42:48  fdh
 * Removed unnecessary compile-time conditionals.
 *
 * Revision 1.9  1994/03/11  02:55:24  fdh
 * Modified the Amd79c960 definitions to accomodate Ladebug.
 *
 * Revision 1.8  1994/02/14  16:18:14  rusling
 * Allow remote debug support in NT build case.
 *
 * Revision 1.7  1994/01/19  10:22:28  rusling
 * Ported to ALpha Windows NT.
 *
 * Revision 1.6  1993/11/30  15:29:22  rusling
 * Mostly complete versions.  I've integrated changes to
 * the PCI to system address space mappings with all the
 * definitions in the system specific include file.
 *
 * Revision 1.5  1993/11/23  10:43:50  rusling
 * Added in IOC information (taken from pci.h).
 *
 * Revision 1.4  1993/11/22  14:23:03  rusling
 * Modified the am8=79c960 definitions.
 *
 * Revision 1.3  1993/11/22  13:17:55  rusling
 * *** empty log message ***
 *
 * Revision 1.2  1993/11/22  12:16:20  rusling
 * Added in further definitions
 *
 * Revision 1.2  1993/11/22  12:16:20  rusling
 * Added in further definitions
 *
 * Revision 1.1  1993/11/22  11:43:22  rusling
 * Initial revision
 *
 */

#ifdef EB66

#define BANNER "DECchip 21066 Evaluation Board (EB66) Debug Monitor"
#define PROMPT "EB66> "

/****************************************************************************
 * Basic                                                                    *
 ****************************************************************************/

#define NEEDPCI
#define NEEDDEBUGGER
#define NEEDFLOPPY
#define NEED21040
#define DISABLEBOOTOPTION   /* Current SROM does not support this */

/****************************************************************************
 * The IOC registers                                                        *
 ****************************************************************************/

/*
 * Status Register.
 */
#define IOC_REG_STATUS_0           0x40
#define IOC_STATUS_0_M_ERR         0x00000010
                                        /* 4 = error */
#define IOC_STATUS_0_M_CODE        0x00000700
                                        /* 10:8 = error code */
#define IOC_STATUS_0_ERROR_RETRY   0
#define IOC_STATUS_0_ERROR_NODEV   1
#define IOC_STATUS_0_ERROR_BADDATA 2
#define IOC_STATUS_0_ERROR_ABORT   3
#define IOC_STATUS_0_ERROR_BADADDR 4
#define IOC_STATUS_0_ERROR_PAGERD  5
#define IOC_STATUS_0_ERROR_BADPAGE 6
#define IOC_STATUS_0_ERROR_DATA    7

/*
 * PCI Target Window Registers (64bits wide).
 */
#define IOC_W_BASE_0               0x100
#define IOC_W_BASE_1               0x120
#define IOC_W_MASK_0               0x140
#define IOC_W_MASK_1               0x160
#define IOC_W_T_BASE_0             0x180
#define IOC_W_T_BASE_1             0x1A0

#define IOC_W_BASE_M_WEN           0x0000000200000000   /* bit 33 */

/****************************************************************************
 * Plug in cards, what does it have?                                        *
 ****************************************************************************/
/*
 * The Allied Telesis card is an ISA card based on the am79c960
 * chip.
 */
#define ALLIED_TELESIS_AT_1500T

/*
 *  The DEC Etherworks ISA card is a LANCE like device.
 */
#define DEC_ETHERWORKS


/****************************************************************************
 * ISA Address Space                                                        *
 ****************************************************************************/

#define RTCBASE 0x70
#define LEDPORT                             0x80  /* JDR Microdevices P.O.S.T. Diagnostics Card. */

/*
 * Allied telesis is optional.  We treat it like an optional
 * am79c960 as far as the driver is concerned, see /h/am79c960.h
 * for more definitions and /ether/am79c960.c for the device
 * driver.
 */
#ifdef ALLIED_TELESIS_AT_1500T
#define OPTIONAL_AM79C960		/* warning only define this once */
#define NEEDAM79C960			/* same for this */
#define OPTIONAL_AM79C960_BASE              0x360
#define OPTIONAL_AM79C960_INT               9

/*
 * This parameter determines the
 * DMA Mask for the DMA2 controller.
 *       Mask     Channel
 *       ----     -------
 *        1          5
 *        2          6
 *        3          7
 *        4          8
 */
#define OPTIONAL_AM79C960_DMA               1 /* Selects DMA Channel 5 */
#endif

#ifdef DEC_ETHERWORKS
#define DEC_ETHERWORKS_BASE                 0x300
#endif

/****************************************************************************
 * System Address Space                                                     *
 ****************************************************************************/

#define MINIMUM_SYSTEM_MEMORY    0x800000
#define MAXIMUM_SYSTEM_CACHE     0x100000
#define DMA_BUFF_BASE            0x100000


/****************************************************************************
 * PCI Address Space                                                        *
 ****************************************************************************/
/*
 * Definitions for the windows mapping PCI addresses into
 * system addresses.
 *
 * 1 megabyte window at 1 megabyte mapping into 1 megabyte.
 */
#define PCI_BASE_1_USED                     1
#define PCI_BASE_1                          0x00100000
#define PCI_MASK_1                          0x00000000
#define PCI_TBASE_1                         0x00100000

#define PCI_BASE_2_USED                     0
#define PCI_BASE_2                          0x00000000
#define PCI_MASK_2                          0x00000000
#define PCI_TBASE_2                         0x00000000

/*
 * Each mask translates to a number of these units.  For
 * 21066 this unit is 1Mbyte.
 */
#define PCI_MASK_UNIT                       0x100000

/*
 * Where do we start allocating addresses from in PCI I/O space?
 */
#define PCI_IO_BASE		            0xB000

/*
 * ROM definitions.
 */
#define ROMBASE 0xFFF80000
#define ROMSIZE 0x80000
#define ROMINC 0x1

#endif /* EB66 */
#endif /* __EB66_H_LOADED */