| 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 |