Blame view

doc/README.mpc85xxcds 6.08 KB
d41ce506b   Eric Lee   Initial Release, ...
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