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
|
Motorola MPC85xxCDS boards
--------------------------
The CDS family of boards consists of a PCI backplane called the
"Arcadia", a PCI-form-factor carrier card that plugs into a PCI slot,
and a CPU daughter card that bolts onto the daughter card.
Much of the content of the README.mpc85xxads for the 85xx ADS boards
applies to the 85xx CDS boards as well. In particular the toolchain,
the switch nomenclature, and the basis for the memory map. There are
some differences, though.
Building U-Boot
---------------
The Binutils in current ELDK toolchain will not support MPC85xx
chip. You need to use binutils-2.14.tar.bz2 (or newer) from
http://ftp.gnu.org/gnu/binutils.
The 85xx CDS code base is known to compile using:
gcc (GCC) 3.2.2 20030217 (Yellow Dog Linux 3.0 3.2.2-2a)
Memory Map
----------
The memory map for u-boot and linux has been extended w.r.t. the ADS
platform to allow for utilization of all 85xx CDS devices. The memory
map is setup for linux to operate properly. The linux source when
configured for MPC85xx CDS has been updated to reflect the new memory
map.
The mapping is:
0x0000_0000 0x7fff_ffff DDR 2G
0x8000_0000 0x9fff_ffff PCI1 MEM 512M
0xa000_0000 0xbfff_ffff PCI2 MEM 512M
0xe000_0000 0xe00f_ffff CCSR 1M
0xe200_0000 0xe2ff_ffff PCI1 IO 16M
0xe300_0000 0xe3ff_ffff PCI2 IO 16M
0xf000_0000 0xf7ff_ffff SDRAM 128M
0xf800_0000 0xf80f_ffff NVRAM/CADMUS (*) 1M
0xff00_0000 0xff7f_ffff FLASH (2nd bank) 8M
0xff80_0000 0xffff_ffff FLASH (boot bank) 8M
(*) The system control registers (CADMUS) start at offset 0xfdb0_4000
within the NVRAM/CADMUS region of memory.
Using Flash
-----------
The CDS board has two flash banks, each 8MB in size (2^23 = 0x00800000).
There is a switch which allows the boot-bank to be selected. The switch
settings for updating flash are given below.
The u-boot commands for copying the boot-bank into the secondary bank are
as follows:
erase ff780000 ff7fffff
cp.b fff80000 ff780000 80000
U-boot/kermit commands for downloading an image, then copying
it into the secondary bank:
loadb
[Drop to kermit:
^\c
send <u-boot-bin-image>
c
]
erase ff780000 ff7fffff
cp.b $loadaddr ff780000 80000
U-boot commands for downloading an image via tftp and flashing
it into the second bank:
tftp 10000 <u-boot.bin.image>
erase ff780000 ff7fffff
cp.b 10000 ff780000 80000
After copying the image into the second bank of flash, be sure to toggle
SW2[2] on the carrier card before resetting the board in order to set the
secondary bank as the boot-bank.
Carrier Board Switches
----------------------
As a reminder, you should read the README.mpc85xxads too.
Most switches on the carrier board should not be changed. The only
user-settable switches on the carrier board are used to configure
the flash banks and determining the PCI slot.
The first two bits of SW2 control how flash is used on the board:
12345678
--------
SW2=00XXXXXX FLASH: Boot bank 1, bank 2 available.
01XXXXXX FLASH: Boot bank 2, bank 1 available (swapped).
10XXXXXX FLASH: Boot promjet, bank 1 available
11XXXXXX FLASH: Boot promjet, bank 2 available
The boot bank is always mapped to FF80_0000 and listed first by
the "flinfo" command. The secondary bank is always FF00_0000.
When using PCI, linux needs to know to which slot the CDS carrier is
connected.. By convention, the user-specific bits of SW2 are used to
convey this information:
12345678
--------
SW2=xxxxxx00 PCI SLOT INFORM: The CDS carrier is in slot0 of the Arcadia
xxxxxx01 PCI SLOT INFORM: The CDS carrier is in slot1 of the Arcadia
xxxxxx10 PCI SLOT INFORM: The CDS carrier is in slot2 of the Arcadia
xxxxxx11 PCI SLOT INFORM: The CDS carrier is in slot3 of the Arcadia
These are cleverly, er, clearly silkscreened as Slot 1 through 4,
respectively, on the Arcadia near the support posts.
The default setting of all switches on the carrier board is:
12345678
--------
SW1=01101100
SW2=0x1111yy x=Flash bank, yy=PCI slot
SW3=11101111
SW4=10001000
8555/41 CPU Card Switches
-------------------------
Most switches on the CPU Card should not be changed. However, the
frequency can be changed by setting SW3:
12345678
--------
SW3=XX00XXXX == CORE:CCB 2:1
XX01XXXX == CORE:CCB 5:2
XX10XXXX == CORE:CCB 3:1
XX11XXXX == CORE:CCB 7:2
XXXX1000 == CCB:SYSCLK 8:1
XXXX1010 == CCB:SYSCLK 10:1
A safe default setting for all switches on the CPU board is:
12345678
--------
SW1=10001111
SW2=01000111
SW3=00001000
SW4=11111110
8548 CPU Card Switches
----------------------
And, just to be confusing, in this set of switches:
ON = 1
OFF = 0
Default
SW1=11111101
SW2=10011111
SW3=11001000 (8X) (2:1)
SW4=11110011
SW3=X000XXXX == CORE:CCB 4:1
X001XXXX == CORE:CCB 9:2
X010XXXX == CORE:CCB 1:1
X011XXXX == CORE:CCB 3:2
X100XXXX == CORE:CCB 2:1
X101XXXX == CORE:CCB 5:2
X110XXXX == CORE:CCB 3:1
X111XXXX == CORE:CCB 7:2
XXXX0000 == CCB:SYSCLK 16:1
XXXX0001 == RESERVED
XXXX0010 == CCB:SYSCLK 2:1
XXXX0011 == CCB:SYSCLK 3:1
XXXX0100 == CCB:SYSCLK 4:1
XXXX0101 == CCB:SYSCLK 5:1
XXXX0110 == CCB:SYSCLK 6:1
XXXX0111 == RESERVED
XXXX1000 == CCB:SYSCLK 8:1
XXXX1001 == CCB:SYSCLK 9:1
XXXX1010 == CCB:SYSCLK 10:1
XXXX1011 == RESERVED
XXXX1100 == CCB:SYSCLK 12:1
XXXX1101 == CCB:SYSCLK 20:1
XXXX1110 == RESERVED
XXXX1111 == RESERVED
eDINK Info
----------
One bank of flash may contain an eDINK image.
Memory Map:
CCSRBAR @ 0xe0000000
Flash Bank 1 @ 0xfe000000
Flash Bank 2 @ 0xff000000
Ram @ 0
Commands for downloading a u-boot image to memory from edink:
env -c
time -s 4/8/2004 4:30p
dl -k -b -o 100000
[Drop to kermit:
^\c
transmit /binary <u-boot-bin-image>
c
]
fu -l 100000 fe780000 80000
|