|  | Overview | 
|  | -------- | 
|  | The MPC8544DS system is similar to the 85xx CDS systems such | 
|  | as the MPC8548CDS due to the similar E500 core.  However, it | 
|  | is placed on the same board as the 8641 HPCN system. | 
|  |  | 
|  |  | 
|  | Flash Banks | 
|  | ----------- | 
|  | Like the 85xx CDS systems, the 8544 DS board has two flash banks. | 
|  | They are both present on boot, but there locations can be swapped | 
|  | using the dip-switch SW10, bit 2. | 
|  |  | 
|  | However, unlike the CDS systems, but similar to the 8641 HPCN | 
|  | board, a runtime reset through the FPGA can also affect a swap | 
|  | on the flash bank mappings for the next reset cycle. | 
|  |  | 
|  | Irrespective of the switch SW10[2], booting is always from the | 
|  | boot bank at 0xfff8_0000. | 
|  |  | 
|  |  | 
|  | Memory Map | 
|  | ---------- | 
|  |  | 
|  | 0xff80_0000 - 0xffbf_ffff	Alternate bank		4MB | 
|  | 0xffc0_0000 - 0xffff_ffff	Boot bank		4MB | 
|  |  | 
|  | 0xffb8_0000			Alternate image start	512KB | 
|  | 0xfff8_0000			Boot image start	512KB | 
|  |  | 
|  |  | 
|  | Flashing Images | 
|  | --------------- | 
|  |  | 
|  | For example, to place a new image in the alternate flash bank | 
|  | and then reset with that new image temporarily, use this: | 
|  |  | 
|  | tftp 1000000 u-boot.bin.8544ds | 
|  | erase ffb80000 ffbfffff | 
|  | cp.b 1000000 ffb80000 80000 | 
|  | pixis_reset altbank | 
|  |  | 
|  |  | 
|  | To overwrite the image in the boot flash bank: | 
|  |  | 
|  | tftp 1000000 u-boot.bin.8544ds | 
|  | protect off all | 
|  | erase fff80000 ffffffff | 
|  | cp.b 1000000 fff80000 80000 | 
|  |  | 
|  | Other example U-Boot image and flash manipulations examples | 
|  | can be found in the README.mpc85xxcds file as well. | 
|  |  | 
|  |  | 
|  | The pixis_reset command | 
|  | ----------------------- | 
|  | A new command, "pixis_reset", is introduced to reset mpc8641hpcn board | 
|  | using the FPGA sequencer.  When the board restarts, it has the option | 
|  | of using either the current or alternate flash bank as the boot | 
|  | image, with or without the watchdog timer enabled, and finally with | 
|  | or without frequency changes. | 
|  |  | 
|  | Usage is; | 
|  |  | 
|  | pixis_reset | 
|  | pixis_reset altbank | 
|  | pixis_reset altbank wd | 
|  | pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio> | 
|  | pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio> | 
|  |  | 
|  | Examples; | 
|  |  | 
|  | /* reset to current bank, like "reset" command */ | 
|  | pixis_reset | 
|  |  | 
|  | /* reset board but use the to alternate flash bank */ | 
|  | pixis_reset altbank | 
|  |  | 
|  | /* reset board, use alternate flash bank with watchdog timer enabled*/ | 
|  | pixis_reset altbank wd | 
|  |  | 
|  | /* reset board to alternate bank with frequency changed. | 
|  | * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio | 
|  | */ | 
|  | pixis-reset altbank cf 40 2.5 10 | 
|  |  | 
|  | Valid clock choices are in the 8641 Reference Manuals. | 
|  |  | 
|  |  | 
|  | Using the Device Tree Source File | 
|  | --------------------------------- | 
|  | To create the DTB (Device Tree Binary) image file, | 
|  | use a command similar to this: | 
|  |  | 
|  | dtc -b 0 -f -I dts -O dtb mpc8544ds.dts > mpc8544ds.dtb | 
|  |  | 
|  | Likely, that .dts file will come from here; | 
|  |  | 
|  | linux-2.6/arch/powerpc/boot/dts/mpc8544ds.dts | 
|  |  | 
|  | After placing the DTB file in your TFTP disk area, | 
|  | you can download that dtb file using a command like: | 
|  |  | 
|  | tftp 900000 mpc8544ds.dtb | 
|  |  | 
|  | Burn it to flash if you want. | 
|  |  | 
|  |  | 
|  | Booting Linux | 
|  | ------------- | 
|  |  | 
|  | Place a linux uImage in the TFTP disk area too. | 
|  |  | 
|  | tftp 1000000 uImage.8544 | 
|  | tftp 900000 mpc8544ds.dtb | 
|  | bootm 1000000 - 900000 | 
|  |  | 
|  | Watch your ethact, netdev and bootargs U-Boot environment variables. | 
|  | You may want to do something like this too: | 
|  |  | 
|  | setenv ethact eTSEC3 | 
|  | setenv netdev eth1 |