Blame view
doc/README.mpc85xxads
10.1 KB
42d1f0394 * Patches by Xian... |
1 |
Motorola MPC8540ADS and MPC8560ADS board |
9aea95307 Patch by Jon Loel... |
2 3 |
Created 10/15/03 Xianghua Xiao Updated 13-July-2004 Jon Loeliger |
42d1f0394 * Patches by Xian... |
4 |
----------------------------------------- |
4654af27b Fix PCI problems ... |
5 |
0. Toolchain |
9aea95307 Patch by Jon Loel... |
6 7 |
The Binutils in current ELDK toolchain will not support MPC85xx |
03f5c5502 Patches by Jon Lo... |
8 |
chip. You need to use binutils-2.14.tar.bz2 (or newer) from |
9aea95307 Patch by Jon Loel... |
9 10 11 12 |
http://ftp.gnu.org/gnu/binutils. The 8540/8560 ADS code base is known to compile using: gcc (GCC) 3.2.2 20030217 (Yellow Dog Linux 3.0 3.2.2-2a) |
4654af27b Fix PCI problems ... |
13 |
|
42d1f0394 * Patches by Xian... |
14 |
1. SWITCH SETTINGS & JUMPERS |
48abe7bfa Patch by Robert S... |
15 |
|
9aea95307 Patch by Jon Loel... |
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
1.0 Nomenclature For some reason, the HW designers describe the switch settings in terms of 0 and 1, and then map that to physical switches where the label "On" refers to logic 0 and "Off" (unlabeled) is logic 1. Luckily, we're SW types and virtual settings are handled daily. The switches for the Rev A board are numbered differently than for the Pilot board. Oh yeah. Switch bits are numbered 1 through, like, 4 6 8 or 10, but the bits may contribute to signals that are numbered based at 0, and some of those signals may be high-bit-number-0 too. Heed well the names and labels and do not get confused. "Off" == 1 "On" == 0 SW18 is switch 18 as silk-screened onto the board. |
c46bf09e0 doc: Fix some typ... |
35 |
SW4[8] is the bit labeled 8 on Switch 4. |
9aea95307 Patch by Jon Loel... |
36 37 38 39 40 41 |
SW2[1:6] refers to bits labeled 1 through 6 in order on switch 2 SW3[7:1] refers to bits labeled 7 through 1 in order on switch 3 1.1 For the MPC85xxADS Pilot Board First, make sure the board default setting is consistent with the document |
42d1f0394 * Patches by Xian... |
42 |
shipped with your board. Then apply the following changes: |
9aea95307 Patch by Jon Loel... |
43 |
SW3[1-6]="all OFF" (boot from 32bit flash, no boot sequence is used) |
42d1f0394 * Patches by Xian... |
44 |
SW10[2-6]="all OFF" (turn on CPM SCC for serial port,works for 8540/8560) |
0ac6f8b74 Patch by Jon Loel... |
45 |
SW11[2]='OFF for 8560, ON for 8540' (toggle 8540.8560 mode) |
547b4cb25 Patches by Jon Lo... |
46 |
SW11[7]='ON' (rev2), 'OFF' (rev1) |
42d1f0394 * Patches by Xian... |
47 48 49 50 |
SW4[7-8]="OFF OFF" (enable serial ports,I'm using the top serial connector) SW22[1-4]="OFF OFF ON OFF" SW5[1-10[="ON ON OFF OFF OFF OFF OFF OFF OFF OFF" J1 = "Enable Prog" (Make sure your flash is programmable for development) |
48abe7bfa Patch by Robert S... |
51 |
|
9aea95307 Patch by Jon Loel... |
52 |
If you want to test PCI functionality with a 33Mhz PCI card, you will |
547b4cb25 Patches by Jon Lo... |
53 54 55 |
have to change the system clock from the default 66Mhz to 33Mhz by setting SW15[1]="OFF" and SW17[8]="OFF". After that you may also need double your platform clock(SW6) because the system clock is now only |
0ac6f8b74 Patch by Jon Loel... |
56 57 |
half of its original value. For example, if at 66MHz your system clock showed SW6[0:1] = 01, then at 33MHz SW6[0:1] it should be 10. |
48abe7bfa Patch by Robert S... |
58 |
|
9aea95307 Patch by Jon Loel... |
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 |
SW17[8] ------+ SW6 SW15[1] ----+ | [0:1] V V V V 33MHz 1 1 1 0 66MHz 0 0 0 1 Hmmm... That SW6 setting description is incomplete but it works. 1.3 For the MPC85xxADS Rev A Board As shipped, the board should be a 33MHz PCI bus with a CPU Clock rate of 825 +/- fuzz: Clocks: CPU: 825 MHz, CCB: 330 MHz, DDR: 165 MHz, LBC: 82 MHz For 33MHz PCI, the switch settings should be like this: SW18[7:1] = 0100001 = M==33 => 33MHz SW18[8] = 1 => PWD Divider == 16 SW16[1:2] = 11 => N == 16 as PWD==1 Use the magical formula: Fout (MHz) = 16 * M / N = 16 * 33 / 16 = 33 MHz SW7[1:4] = 1010 = 10 => 10 x 33 = 330 CCB Sysclk SW7[5:6] = 01 => 5:2 x 330 = 825 Core clock For 66MHz PCI, the switch settings should be like this: SW18[7:1] = 0100001 = M==33 => 33MHz SW18[8] = 0 => PWD Divider == 1 SW16[1:2] = 01 => N == 8 as PWD == 0 Use the magical formula: Fout (MHz) = 16 * M / N = 16 * 33 / 8 = 66 MHz SW7[1:4] = 0101 = 5 => 5 x 66 = 330 CCB Sysclk SW7[5:6] = 01 => 5:2 x 330 = 825 Core clock |
547b4cb25 Patches by Jon Lo... |
99 |
|
38433ccc5 * Switched defaul... |
100 101 102 |
In order to use PCI-X (only in the first PCI slot. The one with the RIO connector), you need to set SW1[4] (config) to 1 (off). Also, configure the board to run PCI at 66 MHz. |
42d1f0394 * Patches by Xian... |
103 104 |
2. MEMORY MAP TO WORK WITH LINUX KERNEL |
547b4cb25 Patches by Jon Lo... |
105 106 107 108 |
2.1. For the initial bringup, we adopted a consistent memory scheme between u-boot and linux kernel, you can customize it based on your system requirements: |
9aea95307 Patch by Jon Loel... |
109 110 111 112 113 114 115 116 |
0x0000_0000 0x7fff_ffff DDR 2G 0x8000_0000 0x9fff_ffff PCI MEM 512M 0xc000_0000 0xdfff_ffff Rapid IO 512M 0xe000_0000 0xe00f_ffff CCSR 1M 0xe200_0000 0xe2ff_ffff PCI IO 16M 0xf000_0000 0xf7ff_ffff SDRAM 128M 0xf800_0000 0xf80f_ffff BCSR 1M 0xff00_0000 0xffff_ffff FLASH (boot bank) 16M |
547b4cb25 Patches by Jon Lo... |
117 118 119 120 121 122 |
2.2 We are submitting Linux kernel patches for MPC8540 and MPC8560. You can download them from linuxppc-2.4 public source. Please make sure the kernel's ppcboot.h is consistent with U-Boot's u-boot.h. You can use two default configuration files as your starting points to configure the kernel: |
a47a12bec Move arch/ppc to ... |
123 124 |
arch/powerpc/configs/mpc8540_ads_defconfig arch/powerpc/configs/mpc8560_ads_defconfig |
42d1f0394 * Patches by Xian... |
125 126 |
3. DEFINITIONS AND COMPILATION |
48abe7bfa Patch by Robert S... |
127 |
|
0ac6f8b74 Patch by Jon Loel... |
128 129 130 |
3.1 Explanation on NEW definitions in: include/configs/MPC8540ADS.h include/configs/MPC8560ADS.h |
0c8721a46 Cleanup (PPC4xx i... |
131 |
CONFIG_BOOKE BOOKE(e.g. Motorola MPC85xx, AMCC 440, etc) |
9aea95307 Patch by Jon Loel... |
132 133 134 |
CONFIG_E500 BOOKE e500 family(Motorola) CONFIG_MPC85xx MPC8540,MPC8560 and their derivatives CONFIG_MPC8540 MPC8540 specific |
9aea95307 Patch by Jon Loel... |
135 136 137 138 139 |
CONFIG_MPC8540ADS MPC8540ADS board specific CONFIG_MPC8560ADS MPC8560ADS board specific CONFIG_TSEC_ENET Use on-chip 10/100/1000 ethernet for networking CONFIG_SPD_EEPROM Use SPD EEPROM for DDR auto configuration, you can also manual config the DDR after undef this |
0ac6f8b74 Patch by Jon Loel... |
140 |
definition. |
9aea95307 Patch by Jon Loel... |
141 |
CONFIG_DDR_ECC only for ECC DDR module |
810c44274 85xx boards: Rena... |
142 143 |
CONFIG_SYS_FSL_ERRATUM_DDR_MSYNC_IN DLL fix on some ADS boards needed for more stability. |
d9b94f28a * Patch by Jon Lo... |
144 |
CONFIG_HAS_FEC If an FEC is on chip, set to 1, else 0. |
0ac6f8b74 Patch by Jon Loel... |
145 146 147 |
Other than the above definitions, the rest in the config files are straightforward. |
42d1f0394 * Patches by Xian... |
148 |
|
42d1f0394 * Patches by Xian... |
149 |
3.2 Compilation |
42d1f0394 * Patches by Xian... |
150 |
|
0ac6f8b74 Patch by Jon Loel... |
151 152 153 154 155 156 157 |
Assuming you're using BASH shell: export CROSS_COMPILE=your-cross-compile-prefix cd u-boot make distclean make MPC8560ADS_config (or make MPC8540ADS_config) make |
48abe7bfa Patch by Robert S... |
158 |
|
547b4cb25 Patches by Jon Lo... |
159 |
4. Notes: |
48abe7bfa Patch by Robert S... |
160 |
|
547b4cb25 Patches by Jon Lo... |
161 |
4.1 When connecting with kermit, the following commands must be present.in |
0ac6f8b74 Patch by Jon Loel... |
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 |
your .kermrc file. These are especially important when booting as MPC8560, as the serial console will not work without them: set speed 115200 set carrier-watch off set handshake none set flow-control none robust 4.2 Sometimes after U-Boot is up, the 'tftp' won't work well with TSEC ethernet. If that happens, you can try the following steps to make network work: MPC8560ADS>tftp 1000000 pImage (if it hangs, use Ctrl-C to quit) MPC8560ADS>nm fdf24524 >0 >1 >. (to quit this memory operation) MPC8560ADS>tftp 1000000 pImage 4.3 If you're one of the early developers using the Rev1 8540/8560 chips, please use U-Boot 1.0.0, as the newer silicon will only support Rev2 and future revisions of 8540/8560. |
547b4cb25 Patches by Jon Lo... |
187 188 |
4.4 Reflash U-boot Image using U-boot |
d9b94f28a * Patch by Jon Lo... |
189 190 191 192 |
tftp 10000 u-boot.bin protect off fff80000 ffffffff erase fff80000 ffffffff cp.b 10000 fff80000 80000 |
547b4cb25 Patches by Jon Lo... |
193 |
|
42d1f0394 * Patches by Xian... |
194 |
|
0ac6f8b74 Patch by Jon Loel... |
195 |
4.5 Reflash U-Boot with a BDI-2000 |
48abe7bfa Patch by Robert S... |
196 |
|
9aea95307 Patch by Jon Loel... |
197 |
BDI> erase 0xFFF80000 0x4000 0x20 |
0ac6f8b74 Patch by Jon Loel... |
198 199 |
BDI> prog 0xfff80000 u-boot.bin.8560ads BDI> verify |
9aea95307 Patch by Jon Loel... |
200 |
5. Screen dump MPC8540ADS board |
42d1f0394 * Patches by Xian... |
201 |
|
9aea95307 Patch by Jon Loel... |
202 203 204 205 206 207 208 209 210 |
U-Boot 1.1.2(pq3-20040707-0) (Jul 6 2004 - 17:34:25) Freescale PowerPC Core: E500, Version: 2.0, (0x80200020) System: 8540, Version: 2.0, (0x80300020) Clocks: CPU: 825 MHz, CCB: 330 MHz, DDR: 165 MHz, LBC: 82 MHz L1 D-cache 32KB, L1 I-cache 32KB enabled. Board: ADS PCI1: 32 bit, 66 MHz (compiled) |
42d1f0394 * Patches by Xian... |
211 |
I2C: ready |
9aea95307 Patch by Jon Loel... |
212 213 214 |
DRAM: Initializing SDRAM: 64 MB DDR: 256 MB |
42d1f0394 * Patches by Xian... |
215 216 217 218 219 220 221 |
FLASH: 16 MB L2 cache enabled: 256KB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial |
9aea95307 Patch by Jon Loel... |
222 223 224 225 |
Net: MOTO ENET0: PHY is Marvell 88E1011S (1410c62) MOTO ENET1: PHY is Marvell 88E1011S (1410c62) MOTO ENET2: PHY is Davicom DM9161E (181b881) MOTO ENET0, MOTO ENET1, MOTO ENET2 |
42d1f0394 * Patches by Xian... |
226 |
Hit any key to stop autoboot: 0 |
9aea95307 Patch by Jon Loel... |
227 228 |
=> => fli |
42d1f0394 * Patches by Xian... |
229 230 231 232 |
Bank # 1: Intel 28F640J3A (64 Mbit, 64 x 128K) Size: 16 MB in 64 Sectors Sector Start Addresses: |
9aea95307 Patch by Jon Loel... |
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 |
FF000000 FF040000 FF080000 FF0C0000 FF100000 FF140000 FF180000 FF1C0000 FF200000 FF240000 FF280000 FF2C0000 FF300000 FF340000 FF380000 FF3C0000 FF400000 FF440000 FF480000 FF4C0000 FF500000 FF540000 FF580000 FF5C0000 FF600000 FF640000 FF680000 FF6C0000 FF700000 FF740000 FF780000 FF7C0000 FF800000 FF840000 FF880000 FF8C0000 FF900000 FF940000 FF980000 FF9C0000 FFA00000 FFA40000 FFA80000 FFAC0000 FFB00000 FFB40000 FFB80000 FFBC0000 FFC00000 FFC40000 FFC80000 FFCC0000 FFD00000 FFD40000 FFD80000 FFDC0000 FFE00000 FFE40000 FFE80000 FFEC0000 FFF00000 FFF40000 FFF80000 (RO) FFFC0000 (RO) => bdinfo |
42d1f0394 * Patches by Xian... |
248 |
memstart = 0x00000000 |
9aea95307 Patch by Jon Loel... |
249 |
memsize = 0x10000000 |
42d1f0394 * Patches by Xian... |
250 251 252 253 254 |
flashstart = 0xFF000000 flashsize = 0x01000000 flashoffset = 0x00000000 sramstart = 0x00000000 sramsize = 0x00000000 |
9aea95307 Patch by Jon Loel... |
255 256 257 258 259 260 261 262 |
immr_base = 0xE0000000 bootflags = 0xE4013F80 intfreq = 825 MHz busfreq = 330 MHz ethaddr = 00:E0:0C:00:00:FD eth1addr = 00:E0:0C:00:01:FD eth2addr = 00:E0:0C:00:02:FD IP addr = 192.168.1.253 |
42d1f0394 * Patches by Xian... |
263 |
baudrate = 115200 bps |
42d1f0394 * Patches by Xian... |
264 |
|
42d1f0394 * Patches by Xian... |
265 |
|
9aea95307 Patch by Jon Loel... |
266 267 268 269 270 |
=> printenv bootcmd=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;bootm $loadaddr ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;bootm $loadaddr $ramdiskaddr nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;bootm $loadaddr bootdelay=10 |
42d1f0394 * Patches by Xian... |
271 272 |
baudrate=115200 loads_echo=1 |
9aea95307 Patch by Jon Loel... |
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 |
ethaddr=00:E0:0C:00:00:FD eth1addr=00:E0:0C:00:01:FD eth2addr=00:E0:0C:00:02:FD ipaddr=192.168.1.253 serverip=192.168.1.1 rootpath=/nfsroot gatewayip=192.168.1.1 netmask=255.255.255.0 hostname=unknown bootfile=your.uImage loadaddr=200000 netdev=eth0 consoledev=ttyS0 ramdiskaddr=400000 ramdiskfile=your.ramdisk.u-boot |
42d1f0394 * Patches by Xian... |
288 289 290 |
stdin=serial stdout=serial stderr=serial |
9aea95307 Patch by Jon Loel... |
291 |
ethact=MOTO ENET0 |
42d1f0394 * Patches by Xian... |
292 |
|
9aea95307 Patch by Jon Loel... |
293 |
Environment size: 1020/8188 bytes |