1*4882a593SmuzhiyunOverview 2*4882a593Smuzhiyun-------- 3*4882a593SmuzhiyunThe MPC8544DS system is similar to the 85xx CDS systems such 4*4882a593Smuzhiyunas the MPC8548CDS due to the similar E500 core. However, it 5*4882a593Smuzhiyunis placed on the same board as the 8641 HPCN system. 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunFlash Banks 9*4882a593Smuzhiyun----------- 10*4882a593SmuzhiyunLike the 85xx CDS systems, the 8544 DS board has two flash banks. 11*4882a593SmuzhiyunThey are both present on boot, but there locations can be swapped 12*4882a593Smuzhiyunusing the dip-switch SW10, bit 2. 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunHowever, unlike the CDS systems, but similar to the 8641 HPCN 15*4882a593Smuzhiyunboard, a runtime reset through the FPGA can also affect a swap 16*4882a593Smuzhiyunon the flash bank mappings for the next reset cycle. 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunIrrespective of the switch SW10[2], booting is always from the 19*4882a593Smuzhiyunboot bank at 0xfff8_0000. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunMemory Map 23*4882a593Smuzhiyun---------- 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun0xff80_0000 - 0xffbf_ffff Alternate bank 4MB 26*4882a593Smuzhiyun0xffc0_0000 - 0xffff_ffff Boot bank 4MB 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun0xffb8_0000 Alternate image start 512KB 29*4882a593Smuzhiyun0xfff8_0000 Boot image start 512KB 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunFlashing Images 33*4882a593Smuzhiyun--------------- 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunFor example, to place a new image in the alternate flash bank 36*4882a593Smuzhiyunand then reset with that new image temporarily, use this: 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun tftp 1000000 u-boot.bin.8544ds 39*4882a593Smuzhiyun erase ffb80000 ffbfffff 40*4882a593Smuzhiyun cp.b 1000000 ffb80000 80000 41*4882a593Smuzhiyun pixis_reset altbank 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun 44*4882a593SmuzhiyunTo overwrite the image in the boot flash bank: 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun tftp 1000000 u-boot.bin.8544ds 47*4882a593Smuzhiyun protect off all 48*4882a593Smuzhiyun erase fff80000 ffffffff 49*4882a593Smuzhiyun cp.b 1000000 fff80000 80000 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunOther example U-Boot image and flash manipulations examples 52*4882a593Smuzhiyuncan be found in the README.mpc85xxcds file as well. 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunThe pixis_reset command 56*4882a593Smuzhiyun----------------------- 57*4882a593SmuzhiyunA new command, "pixis_reset", is introduced to reset mpc8641hpcn board 58*4882a593Smuzhiyunusing the FPGA sequencer. When the board restarts, it has the option 59*4882a593Smuzhiyunof using either the current or alternate flash bank as the boot 60*4882a593Smuzhiyunimage, with or without the watchdog timer enabled, and finally with 61*4882a593Smuzhiyunor without frequency changes. 62*4882a593Smuzhiyun 63*4882a593SmuzhiyunUsage is; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun pixis_reset 66*4882a593Smuzhiyun pixis_reset altbank 67*4882a593Smuzhiyun pixis_reset altbank wd 68*4882a593Smuzhiyun pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio> 69*4882a593Smuzhiyun pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio> 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunExamples; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun /* reset to current bank, like "reset" command */ 74*4882a593Smuzhiyun pixis_reset 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun /* reset board but use the to alternate flash bank */ 77*4882a593Smuzhiyun pixis_reset altbank 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun /* reset board, use alternate flash bank with watchdog timer enabled*/ 80*4882a593Smuzhiyun pixis_reset altbank wd 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun /* reset board to alternate bank with frequency changed. 83*4882a593Smuzhiyun * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio 84*4882a593Smuzhiyun */ 85*4882a593Smuzhiyun pixis-reset altbank cf 40 2.5 10 86*4882a593Smuzhiyun 87*4882a593SmuzhiyunValid clock choices are in the 8641 Reference Manuals. 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun 90*4882a593SmuzhiyunUsing the Device Tree Source File 91*4882a593Smuzhiyun--------------------------------- 92*4882a593SmuzhiyunTo create the DTB (Device Tree Binary) image file, 93*4882a593Smuzhiyunuse a command similar to this: 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun dtc -b 0 -f -I dts -O dtb mpc8544ds.dts > mpc8544ds.dtb 96*4882a593Smuzhiyun 97*4882a593SmuzhiyunLikely, that .dts file will come from here; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun linux-2.6/arch/powerpc/boot/dts/mpc8544ds.dts 100*4882a593Smuzhiyun 101*4882a593SmuzhiyunAfter placing the DTB file in your TFTP disk area, 102*4882a593Smuzhiyunyou can download that dtb file using a command like: 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun tftp 900000 mpc8544ds.dtb 105*4882a593Smuzhiyun 106*4882a593SmuzhiyunBurn it to flash if you want. 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun 109*4882a593SmuzhiyunBooting Linux 110*4882a593Smuzhiyun------------- 111*4882a593Smuzhiyun 112*4882a593SmuzhiyunPlace a linux uImage in the TFTP disk area too. 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun tftp 1000000 uImage.8544 115*4882a593Smuzhiyun tftp 900000 mpc8544ds.dtb 116*4882a593Smuzhiyun bootm 1000000 - 900000 117*4882a593Smuzhiyun 118*4882a593SmuzhiyunWatch your ethact, netdev and bootargs U-Boot environment variables. 119*4882a593SmuzhiyunYou may want to do something like this too: 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun setenv ethact eTSEC3 122*4882a593Smuzhiyun setenv netdev eth1 123