Commit 30837e5b21d5a742983581ab9ee3fac085311d19

Authored by Haiying Wang
Committed by Andrew Fleming-AFLEMING
1 parent 6dadc9195a

Add README file for MPC8572DS board

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>

Showing 1 changed file with 167 additions and 0 deletions Side-by-side Diff

doc/README.mpc8572ds
  1 +Overview
  2 +--------
  3 +MPC8572DS is a high-performance computing, evaluation and development platform
  4 +supporting the mpc8572 PowerTM processor.
  5 +
  6 +Building U-boot
  7 +-----------
  8 + make MPC8572DS_config
  9 + make
  10 +
  11 +Flash Banks
  12 +-----------
  13 +MPC8572DS board has two flash banks. They are both present on boot, but their
  14 +locations can be swapped using the dip-switch SW9[1:2].
  15 +
  16 +Booting is always from the boot bank at 0xec00_0000.
  17 +
  18 +
  19 +Memory Map
  20 +----------
  21 +
  22 +0xe800_0000 - 0xebff_ffff Alernate bank 64MB
  23 +0xec00_0000 - 0xefff_ffff Boot bank 64MB
  24 +
  25 +0xebf8_0000 - 0xebff_ffff Alternate u-boot address 512KB
  26 +0xeff8_0000 - 0xefff_ffff Boot u-boot address 512KB
  27 +
  28 +
  29 +Flashing Images
  30 +---------------
  31 +
  32 +To place a new u-boot image in the alternate flash bank and then reset with that
  33 + new image temporarily, use this:
  34 +
  35 + tftp 1000000 u-boot.bin
  36 + erase ebf80000 ebffffff
  37 + cp.b 1000000 ebf80000 80000
  38 + pixis_reset altbank
  39 +
  40 +
  41 +To program the image in the boot flash bank:
  42 +
  43 + tftp 1000000 u-boot.bin
  44 + protect off all
  45 + erase eff80000 ffffffff
  46 + cp.b 1000000 eff80000 80000
  47 +
  48 +
  49 +The pixis_reset command
  50 +-----------------------
  51 +The command - "pixis_reset", is introduced to reset mpc8572ds board
  52 +using the FPGA sequencer. When the board restarts, it has the option
  53 +of using either the current or alternate flash bank as the boot
  54 +image, with or without the watchdog timer enabled, and finally with
  55 +or without frequency changes.
  56 +
  57 +Usage is;
  58 +
  59 + pixis_reset
  60 + pixis_reset altbank
  61 + pixis_reset altbank wd
  62 + pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
  63 + pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
  64 +
  65 +Examples:
  66 +
  67 + /* reset to current bank, like "reset" command */
  68 + pixis_reset
  69 +
  70 + /* reset board but use the to alternate flash bank */
  71 + pixis_reset altbank
  72 +
  73 +
  74 +Using the Device Tree Source File
  75 +---------------------------------
  76 +To create the DTB (Device Tree Binary) image file,
  77 +use a command similar to this:
  78 +
  79 + dtc -b 0 -f -I dts -O dtb mpc8572ds.dts > mpc8572ds.dtb
  80 +
  81 +Likely, that .dts file will come from here;
  82 +
  83 + linux-2.6/arch/powerpc/boot/dts/mpc8572ds.dts
  84 +
  85 +
  86 +Booting Linux
  87 +-------------
  88 +
  89 +Place a linux uImage in the TFTP disk area.
  90 +
  91 + tftp 1000000 uImage.8572
  92 + tftp c00000 mpc8572ds.dtb
  93 + bootm 1000000 - c00000
  94 +
  95 +
  96 +Implementing AMP(Asymmetric MultiProcessing)
  97 +-------------
  98 +1. Build kernel image for core0:
  99 +
  100 + a. $ make 85xx/mpc8572_ds_defconfig
  101 +
  102 + b. $ make menuconfig
  103 + - un-select "Processor support"->"Symetric multi-processing support"
  104 +
  105 + c. $ make uImage
  106 +
  107 + d. $ cp arch/powerpc/boot/uImage /tftpboot/uImage.core0
  108 +
  109 +2. Build kernel image for core1:
  110 +
  111 + a. $ make 85xx/mpc8572_ds_defconfig
  112 +
  113 + b. $ make menuconfig
  114 + - Un-select "Processor support"->"Symetric multi-processing support"
  115 + - Select "Advanced setup" -> " Prompt for advanced kernel
  116 + configuration options"
  117 + - Select "Set physical address where the kernel is loaded" and
  118 + set it to 0x20000000, asssuming core1 will start from 512MB.
  119 + - Select "Set custom page offset address"
  120 + - Select "Set custom kernel base address"
  121 + - Select "Set maximum low memory"
  122 + - "Exit" and save the selection.
  123 +
  124 + c. $ make uImage
  125 +
  126 + d. $ cp arch/powerpc/boot/uImage /tftpboot/uImage.core1
  127 +
  128 +3. Create dtb for core0:
  129 +
  130 + $ dtc -I dts -O dtb -f -b 0 arch/powerpc/boot/dts/mpc8572ds_core0.dts > /tftpboot/mpc8572ds_core0.dtb
  131 +
  132 +4. Create dtb for core1:
  133 +
  134 + $ dtc -I dts -O dtb -f -b 1 arch/powerpc/boot/dts/mpc8572ds_core1.dts > /tftpboot/mpc8572ds_core1.dtb
  135 +
  136 +5. Bring up two cores separately:
  137 +
  138 + a. Power on the board, under u-boot prompt:
  139 + => setenv <serverip>
  140 + => setenv <ipaddr>
  141 + => setenv bootargs root=/dev/ram rw console=ttyS0,115200
  142 + b. Bring up core1's kernel first:
  143 + => setenv bootm_low 0x20000000
  144 + => setenv bootm_size 0x10000000
  145 + => tftp 21000000 8572/uImage.core1
  146 + => tftp 22000000 8572/ramdiskfile
  147 + => tftp 20c00000 8572/mpc8572ds_core1.dtb
  148 + => interrupts off
  149 + => bootm start 21000000 22000000 20c00000
  150 + => bootm loados
  151 + => bootm ramdisk
  152 + => bootm fdt
  153 + => fdt boardsetup
  154 + => fdt chosen $initrd_start $initrd_end
  155 + => bootm prep
  156 + => cpu 1 release $bootm_low - $fdtaddr -
  157 + c. Bring up core0's kernel(on the same u-boot console):
  158 + => setenv bootm_low 0
  159 + => setenv bootm_size 0x20000000
  160 + => tftp 1000000 8572/uImage.core0
  161 + => tftp 2000000 8572/ramdiskfile
  162 + => tftp c00000 8572/mpc8572ds_core0.dtb
  163 + => bootm 1000000 2000000 c00000
  164 +
  165 +Please note only core0 will run u-boot, core1 starts kernel directly after
  166 +"cpu release" command is issued.