xref: /openbmc/u-boot/doc/README.mpc85xxcds (revision 03f5c55021c2d6297e66cc11bfea75f149a5d71c)
1*03f5c550SwdenkMotorola MPC85xxCDS boards
2*03f5c550Swdenk--------------------------
3*03f5c550Swdenk
4*03f5c550SwdenkThe CDS family of boards consists of a PCI backplane called the
5*03f5c550Swdenk"Arcadia", a PCI-form-factor carrier card that plugs into a PCI slot,
6*03f5c550Swdenkand a CPU daughter card that bolts onto the daughter card.
7*03f5c550Swdenk
8*03f5c550SwdenkMuch of the content of the README.mpc85xxads for the 85xx ADS boards
9*03f5c550Swdenkapplies to the 85xx CDS boards as well.  In particular the toolchain,
10*03f5c550Swdenkthe switch nomenclature, and the basis for the memory map.  There are
11*03f5c550Swdenksome differences, though.
12*03f5c550Swdenk
13*03f5c550Swdenk
14*03f5c550SwdenkBuilding U-Boot
15*03f5c550Swdenk---------------
16*03f5c550Swdenk
17*03f5c550SwdenkThe Binutils in current ELDK toolchain will not support MPC85xx
18*03f5c550Swdenkchip.  You need to use binutils-2.14.tar.bz2 (or newer) from
19*03f5c550Swdenk    http://ftp.gnu.org/gnu/binutils.
20*03f5c550Swdenk
21*03f5c550SwdenkThe 85xx CDS code base is known to compile using:
22*03f5c550Swdenk    gcc (GCC) 3.2.2 20030217 (Yellow Dog Linux 3.0 3.2.2-2a)
23*03f5c550Swdenk
24*03f5c550Swdenk
25*03f5c550SwdenkMemory Map
26*03f5c550Swdenk----------
27*03f5c550Swdenk
28*03f5c550SwdenkThe memory map for u-boot and linux has been extended w.r.t. the ADS
29*03f5c550Swdenkplatform to allow for utilization of all 85xx CDS devices.  The memory
30*03f5c550Swdenkmap is setup for linux to operate properly.  The linux source when
31*03f5c550Swdenkconfigured for MPC85xx CDS has been updated to reflect the new memory
32*03f5c550Swdenkmap.
33*03f5c550Swdenk
34*03f5c550SwdenkThe mapping is:
35*03f5c550Swdenk
36*03f5c550Swdenk   0x0000_0000     0x7fff_ffff     DDR                     2G
37*03f5c550Swdenk   0x8000_0000     0x9fff_ffff     PCI1 MEM                512M
38*03f5c550Swdenk   0xa000_0000     0xbfff_ffff     PCI2 MEM                512M
39*03f5c550Swdenk   0xe000_0000     0xe00f_ffff     CCSR                    1M
40*03f5c550Swdenk   0xe200_0000     0xe2ff_ffff     PCI1 IO                 16M
41*03f5c550Swdenk   0xe300_0000     0xe3ff_ffff     PCI2 IO                 16M
42*03f5c550Swdenk   0xf000_0000     0xf7ff_ffff     SDRAM                   128M
43*03f5c550Swdenk   0xf800_0000     0xf80f_ffff     NVRAM/CADMUS (*)        1M
44*03f5c550Swdenk   0xff00_0000     0xff7f_ffff     FLASH (2nd bank)        8M
45*03f5c550Swdenk   0xff80_0000     0xffff_ffff     FLASH (boot bank)       8M
46*03f5c550Swdenk
47*03f5c550Swdenk   (*) The system control registers (CADMUS) start at offset 0xfdb0_4000
48*03f5c550Swdenk   within the NVRAM/CADMUS region of memory.
49*03f5c550Swdenk
50*03f5c550Swdenk
51*03f5c550SwdenkUsing Flash
52*03f5c550Swdenk-----------
53*03f5c550Swdenk
54*03f5c550SwdenkThe CDS board  has two flash banks, each 8MB in size (2^23 = 0x00800000).
55*03f5c550SwdenkThere is a switch which allows the boot-bank to be selected.  The switch
56*03f5c550Swdenksettings for updating flash are given below.
57*03f5c550Swdenk
58*03f5c550SwdenkThe u-boot commands for copying the boot-bank into the secondary bank are
59*03f5c550Swdenkas follows:
60*03f5c550Swdenk
61*03f5c550Swdenk     erase ff780000 ff7fffff
62*03f5c550Swdenk     cp.b fff80000 ff780000 80000
63*03f5c550Swdenk
64*03f5c550Swdenk
65*03f5c550SwdenkU-boot/kermit commands for downloading an image, then copying
66*03f5c550Swdenkit into the secondary bank:
67*03f5c550Swdenk
68*03f5c550Swdenk     loadb
69*03f5c550Swdenk     [Drop to kermit:
70*03f5c550Swdenk        ^\c
71*03f5c550Swdenk        send <u-boot-bin-image>
72*03f5c550Swdenk        c
73*03f5c550Swdenk     ]
74*03f5c550Swdenk
75*03f5c550Swdenk     erase ff780000 ff7fffff
76*03f5c550Swdenk     cp.b $loadaddr ff780000 80000
77*03f5c550Swdenk
78*03f5c550Swdenk
79*03f5c550SwdenkU-boot commands for downloading an image via tftp and flashing
80*03f5c550Swdenkit into the second bank:
81*03f5c550Swdenk
82*03f5c550Swdenk     tftp 10000 <u-boot.bin.image>
83*03f5c550Swdenk     erase ff780000 ff7fffff
84*03f5c550Swdenk     cp.b 10000 ff780000 80000
85*03f5c550Swdenk
86*03f5c550Swdenk
87*03f5c550SwdenkAfter copying the image into the second bank of flash, be sure to toggle
88*03f5c550SwdenkSW2[2] on the carrier card before resetting the board in order to set the
89*03f5c550Swdenksecondary bank as the boot-bank.
90*03f5c550Swdenk
91*03f5c550Swdenk
92*03f5c550SwdenkCarrier Board Switches
93*03f5c550Swdenk----------------------
94*03f5c550Swdenk
95*03f5c550SwdenkAs a reminder, you should read the README.mpc85xxads too.
96*03f5c550Swdenk
97*03f5c550SwdenkMost switches on the carrier board should not be changed.  The only
98*03f5c550Swdenkuser-settable switches on the carrier board are used to configure
99*03f5c550Swdenkthe flash banks and determining the PCI slot.
100*03f5c550Swdenk
101*03f5c550SwdenkThe first two bits of SW2 control how flash is used on the board:
102*03f5c550Swdenk
103*03f5c550Swdenk      12345678
104*03f5c550Swdenk      --------
105*03f5c550Swdenk  SW2=00XXXXXX     FLASH:  Boot bank 1, bank 2 available.
106*03f5c550Swdenk      01XXXXXX     FLASH:  Boot bank 2, bank 1 available (swapped).
107*03f5c550Swdenk      10XXXXXX     FLASH:  Boot promjet, bank 1 available
108*03f5c550Swdenk      11XXXXXX     FLASH:  Boot promjet, bank 2 available
109*03f5c550Swdenk
110*03f5c550SwdenkThe boot bank is always mapped to FF80_0000 and listed first by
111*03f5c550Swdenkthe "flinfo" command.  The secondary bank is always FF00_0000.
112*03f5c550Swdenk
113*03f5c550SwdenkWhen using PCI, linux needs to know to which slot the CDS carrier is
114*03f5c550Swdenkconnected..  By convention, the user-specific bits of SW2 are used to
115*03f5c550Swdenkconvey this information:
116*03f5c550Swdenk
117*03f5c550Swdenk      12345678
118*03f5c550Swdenk      --------
119*03f5c550Swdenk  SW2=xxxxxx00     PCI SLOT INFORM: The CDS carrier is in slot0 of the Arcadia
120*03f5c550Swdenk      xxxxxx01     PCI SLOT INFORM: The CDS carrier is in slot1 of the Arcadia
121*03f5c550Swdenk      xxxxxx10     PCI SLOT INFORM: The CDS carrier is in slot2 of the Arcadia
122*03f5c550Swdenk      xxxxxx11     PCI SLOT INFORM: The CDS carrier is in slot3 of the Arcadia
123*03f5c550Swdenk
124*03f5c550SwdenkThese are cleverly, er, clearly silkscreened as Slot 1 through 4,
125*03f5c550Swdenkrespectively, on the Arcadia near the support posts.
126*03f5c550Swdenk
127*03f5c550Swdenk
128*03f5c550SwdenkThe default setting of all switches on the carrier board is:
129*03f5c550Swdenk
130*03f5c550Swdenk      12345678
131*03f5c550Swdenk      --------
132*03f5c550Swdenk  SW1=01101100
133*03f5c550Swdenk  SW2=0x1111yy     x=Flash bank, yy=PCI slot
134*03f5c550Swdenk  SW3=11101111
135*03f5c550Swdenk  SW4=10001000
136*03f5c550Swdenk
137*03f5c550Swdenk
138*03f5c550SwdenkCPU Card Switches
139*03f5c550Swdenk-----------------
140*03f5c550Swdenk
141*03f5c550SwdenkMost switches on the CPU Card should not be changed.  However, the
142*03f5c550Swdenkfrequency can be changed by setting SW3:
143*03f5c550Swdenk
144*03f5c550Swdenk      12345678
145*03f5c550Swdenk      --------
146*03f5c550Swdenk  SW3=XX00XXXX == CORE:CCB 2:1
147*03f5c550Swdenk      XX01XXXX == CORE:CCB 5:2
148*03f5c550Swdenk      XX10XXXX == CORE:CCB 3:1
149*03f5c550Swdenk      XX11XXXX == CORE:CCB 7:2
150*03f5c550Swdenk      XXXX1000 == CCB:SYSCLK 8:1
151*03f5c550Swdenk      XXXX1010 == CCB:SYSCLK 10:1
152*03f5c550Swdenk
153*03f5c550SwdenkA safe default setting for all switches on the CPU board is:
154*03f5c550Swdenk
155*03f5c550Swdenk      12345678
156*03f5c550Swdenk      --------
157*03f5c550Swdenk  SW1=10001111
158*03f5c550Swdenk  SW2=01000111
159*03f5c550Swdenk  SW3=00001000
160*03f5c550Swdenk  SW4=11111110
161*03f5c550Swdenk
162*03f5c550Swdenk
163*03f5c550SwdenkeDINK Info
164*03f5c550Swdenk----------
165*03f5c550Swdenk
166*03f5c550SwdenkOne bank of flash may contain an eDINK image.
167*03f5c550Swdenk
168*03f5c550SwdenkMemory Map:
169*03f5c550Swdenk
170*03f5c550Swdenk   CCSRBAR @ 0xe0000000
171*03f5c550Swdenk   Flash Bank 1 @ 0xfe000000
172*03f5c550Swdenk   Flash Bank 2 @ 0xff000000
173*03f5c550Swdenk   Ram @ 0
174*03f5c550Swdenk
175*03f5c550SwdenkCommands for downloading a u-boot image to memory from edink:
176*03f5c550Swdenk
177*03f5c550Swdenk   env -c
178*03f5c550Swdenk   time -s 4/8/2004 4:30p
179*03f5c550Swdenk   dl -k -b -o 100000
180*03f5c550Swdenk   [Drop to kermit:
181*03f5c550Swdenk        ^\c
182*03f5c550Swdenk        transmit /binary <u-boot-bin-image>
183*03f5c550Swdenk        c
184*03f5c550Swdenk   ]
185*03f5c550Swdenk
186*03f5c550Swdenk   fu -l 100000 fe780000 80000
187*03f5c550Swdenk
188