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