blob: 6bfedbd5aef84a3efa9f4dc0a350ef1e7754a787 (
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
|
/*
* Filename: diagdefs.h
*
* Description: Some general definitions used by the diagnostics
*
* Author(s): Timothy Stonis
*
* Copyright 1997, Cobalt Microserver, Inc.
*/
#define KSEG0_Base 0x80000000
#define KSEG1_Base 0xA0000000
// Some useful Galileo registers/base addresses (boot time kseg1 mapping)
#define kGal_InternalBase ( 0x14000000 | KSEG1_Base )
#define kGal_DevBank0Base ( 0x1C000000 | KSEG1_Base )
#define kGal_DevBank1Base ( 0x1C800000 | KSEG1_Base )
#define kGal_RAS10Lo 0x008
#define kGal_RAS10Hi 0x010
#define kGal_RAS32Lo 0x018
#define kGal_RAS32Hi 0x020
#define kGal_PCIIOLo 0x048
#define kGal_PCIIOHi 0x050
#define kGal_RAS10LoCfg 0x000
#define kGal_RAS10HiCfg 0x03
#define kGal_RAS32LoCfg 0x004
#define kGal_RAS32HiCfg 0x07
#define kGal_PCIIOLoCfg 0x000
#define kGal_PCIIOHiCfg 0x0F
#define kGal_DevBank0PReg 0x45C
#define kGal_DevBank1PReg 0x460
#define kGal_DevBank2PReg 0x464
#define kGal_DevBank3PReg 0x468
#define kGal_DevBankBPReg 0x46C
#define kGal_DRAMCReg 0x448
#define kGal_DRAM0PReg 0x44C
#define kGal_DRAM1PReg 0x450
#define kGal_DRAM2PReg 0x454
#define kGal_DRAM3PReg 0x458
#define kGal_ConfigAddr 0xCF8
#define kGal_ConfigData 0xCFC
#define kGal_PCICfgEn 0x1F // Generate config cycle
#define kGal_DevNum 0x00 // Technically 0x06, but 0 works too
#define kGal_MasMemEn 0x06
#define kGal_Latency 0x700
#define kGal_RAS01StartReg 0x10
#define kGal_RAS23StartReg 0x14
#define kGal_RAS01SizeReg 0x0C08
#define kGal_RAS23SizeReg 0x0C0C
#define kGal_RAS01Start 0x000
#define kGal_RAS23Start 0x00800000
#define kGal_RAS01Size 0x007FFFFF
#define kGal_RAS23Size 0x007FFFFF
// Paramter information for devices, DRAM, etc
#define kGal_DevBank0Cfg 0x1446DB33
#define kGal_DevBank1Cfg 0x144FE667
#define kGal_DevBankBCfg 0x1446DC43
#define kGal_DRAMConfig 0x00000300
#define kGal_DRAM0Config 0x00000010
#define kGal_DRAM1Config 0x00000010
#define kGal_DRAM2Config 0x00000010
#define kGal_DRAM3Config 0x00000010
#define kGal_DRAM0Hi 0x00000003
#define kGal_DRAM0Lo 0x00000000
#define kGal_DRAM1Hi 0x00000007
#define kGal_DRAM1Lo 0x00000004
#define kGal_DRAM2Hi 0x0000000B
#define kGal_DRAM2Lo 0x00000008
#define kGal_DRAM3Hi 0x0000000F
#define kGal_DRAM3Lo 0x0000000C
#define kGal_RAS0Lo 0x400
#define kGal_RAS0Hi 0x404
#define kGal_RAS1Lo 0x408
#define kGal_RAS1Hi 0x40C
#define kGal_RAS2Lo 0x410
#define kGal_RAS2Hi 0x414
#define kGal_RAS3Lo 0x418
#define kGal_RAS3Hi 0x41C
// Feedback LED indicators during setup code (reset.S, main.c)
#define kLED_AllOn 0x0F
#define kLED_FlashTest 0x01
#define kLED_MemTest 0x02
#define kLED_SCCTest 0x03
#define kLED_GalPCI 0x04
#define kLED_EnetTest 0x05
#define kLED_SCSITest 0x06
#define kLED_IOCTest 0x07
#define kLED_Quickdone 0x0A
#define kLED_Exception 0x0B
#define kLED_ProcInit 0x0E
#define kLED_AllOff 0x00
#define kLEDBase kGal_DevBank0Base
// Some memory related constants
#define kRAM_Start (0x00000000 | KSEG0_Base)
#define kTestPat1 0xA5A5A5A5
#define kTestPat2 0x5A5A5A5A
#define k1Meg_kseg1 (0x00100000 | KSEG0_Base)
#define k2Meg_kseg1 (0x00200000 | KSEG0_Base)
#define k4Meg_kseg1 (0x00400000 | KSEG0_Base)
#define k8Meg_kseg1 (0x00800000 | KSEG0_Base)
#define k16Meg_kseg1 (0x01000000 | KSEG0_Base)
#define kInit_SP k4Meg_kseg1 - 0x100
#define kVectorBase 0x200
#define kDebugVectors 0x400
#define kMallocCheese 0x80E00000
#define kDecompAddr 0x80700000
#define kCompAddr 0x80500000
// Ethernet definitions
#define kEnet_VIOBase ( 0x12100000 | KSEG1_Base )
#define kEnet_PIOBase 0x12100000
#define kEnet_CSCfg 0x46
#define kEnet_DevNum 0x07
#define kEnet_CSR3 0x18
#define kEnet_CSR15 0x78
#define kEnet_GEPOut 0x080f0000
#define kEnet_GEPOn 0x000f0000
// SCSI definitions
#define kSCSI_VIOBase ( 0x12200000 | KSEG1_Base )
#define kSCSI_PIOBase 0x12200000
#define kSCSI_CSCfg 0x46
#define kSCSI_DevNum 0x08
#define kSCSI_GPCNTL 0x47
#define kSCSI_GPREG 0x07
#define kSCSI_SCRTCHA 0x34
#define kSCSI_GPIOOut 0x0C
#define kSCSI_LEDsOn 0x00
// I/O Controller definitions
#define kIOC_VIOBase ( 0x10000000 | KSEG1_Base )
#define kIOC_RIOBase 0x10000000
#define kIOC_DevNum 0x09
#define kIOC_ISAFunc 0x00
#define kIOC_IDEFunc 0x01
#define kIOC_USBFunc 0x02
#define kIOC_MiscC0 0x44
#define kIOC_IDEEnable 0x40
#define kIOC_PCIIDEOn 0x02800085
#define kIOC_PriIDEOn 0x0A
// Some PCI Definitions
#define kPCI_StatCmd 0x04
#define kPCI_LatCache 0x0C
#define kPCI_CBIO 0x10
#define kPCI_CBMEM 0x14
// Random constants
#define kBogoSec 0x0003F940
#define kSCCDelay 0x00000001
|