1*702e6014SWolfgang DenkOverview
2*702e6014SWolfgang Denk--------
3*702e6014SWolfgang DenkThe MPC8544DS system is similar to the 85xx CDS systems such
4*702e6014SWolfgang Denkas the MPC8548CDS due to the similar E500 core.  However, it
5*702e6014SWolfgang Denkis placed on the same board as the 8641 HPCN system.
6*702e6014SWolfgang Denk
7*702e6014SWolfgang Denk
8*702e6014SWolfgang DenkFlash Banks
9*702e6014SWolfgang Denk-----------
10*702e6014SWolfgang DenkLike the 85xx CDS systems, the 8544 DS board has two flash banks.
11*702e6014SWolfgang DenkThey are both present on boot, but there locations can be swapped
12*702e6014SWolfgang Denkusing the dip-switch SW10, bit 2.
13*702e6014SWolfgang Denk
14*702e6014SWolfgang DenkHowever, unlike the CDS systems, but similar to the 8641 HPCN
15*702e6014SWolfgang Denkboard, a runtime reset through the FPGA can also affect a swap
16*702e6014SWolfgang Denkon the flash bank mappings for the next reset cycle.
17*702e6014SWolfgang Denk
18*702e6014SWolfgang DenkIrrespective of the switch SW10[2], booting is always from the
19*702e6014SWolfgang Denkboot bank at 0xfff8_0000.
20*702e6014SWolfgang Denk
21*702e6014SWolfgang Denk
22*702e6014SWolfgang DenkMemory Map
23*702e6014SWolfgang Denk----------
24*702e6014SWolfgang Denk
25*702e6014SWolfgang Denk0xff80_0000 - 0xffbf_ffff	Alternate bank		4MB
26*702e6014SWolfgang Denk0xffc0_0000 - 0xffff_ffff	Boot bank		4MB
27*702e6014SWolfgang Denk
28*702e6014SWolfgang Denk0xffb8_0000			Alternate image start	512KB
29*702e6014SWolfgang Denk0xfff8_0000			Boot image start	512KB
30*702e6014SWolfgang Denk
31*702e6014SWolfgang Denk
32*702e6014SWolfgang DenkFlashing Images
33*702e6014SWolfgang Denk---------------
34*702e6014SWolfgang Denk
35*702e6014SWolfgang DenkFor example, to place a new image in the alternate flash bank
36*702e6014SWolfgang Denkand then reset with that new image temporarily, use this:
37*702e6014SWolfgang Denk
38*702e6014SWolfgang Denk    tftp 1000000 u-boot.bin.8544ds
39*702e6014SWolfgang Denk    erase ffb80000 ffbfffff
40*702e6014SWolfgang Denk    cp.b 1000000 ffb80000 80000
41*702e6014SWolfgang Denk    pixis_reset altbank
42*702e6014SWolfgang Denk
43*702e6014SWolfgang Denk
44*702e6014SWolfgang DenkTo overwrite the image in the boot flash bank:
45*702e6014SWolfgang Denk
46*702e6014SWolfgang Denk    tftp 1000000 u-boot.bin.8544ds
47*702e6014SWolfgang Denk    protect off all
48*702e6014SWolfgang Denk    erase fff80000 ffffffff
49*702e6014SWolfgang Denk    cp.b 1000000 fff80000 80000
50*702e6014SWolfgang Denk
51*702e6014SWolfgang DenkOther example U-Boot image and flash manipulations examples
52*702e6014SWolfgang Denkcan be found in the README.mpc85xxcds file as well.
53*702e6014SWolfgang Denk
54*702e6014SWolfgang Denk
55*702e6014SWolfgang DenkThe pixis_reset command
56*702e6014SWolfgang Denk-----------------------
57*702e6014SWolfgang DenkA new command, "pixis_reset", is introduced to reset mpc8641hpcn board
58*702e6014SWolfgang Denkusing the FPGA sequencer.  When the board restarts, it has the option
59*702e6014SWolfgang Denkof using either the current or alternate flash bank as the boot
60*702e6014SWolfgang Denkimage, with or without the watchdog timer enabled, and finally with
61*702e6014SWolfgang Denkor without frequency changes.
62*702e6014SWolfgang Denk
63*702e6014SWolfgang DenkUsage is;
64*702e6014SWolfgang Denk
65*702e6014SWolfgang Denk	pixis_reset
66*702e6014SWolfgang Denk	pixis_reset altbank
67*702e6014SWolfgang Denk	pixis_reset altbank wd
68*702e6014SWolfgang Denk	pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
69*702e6014SWolfgang Denk	pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
70*702e6014SWolfgang Denk
71*702e6014SWolfgang DenkExamples;
72*702e6014SWolfgang Denk
73*702e6014SWolfgang Denk	/* reset to current bank, like "reset" command */
74*702e6014SWolfgang Denk	pixis_reset
75*702e6014SWolfgang Denk
76*702e6014SWolfgang Denk	/* reset board but use the to alternate flash bank */
77*702e6014SWolfgang Denk	pixis_reset altbank
78*702e6014SWolfgang Denk
79*702e6014SWolfgang Denk	/* reset board, use alternate flash bank with watchdog timer enabled*/
80*702e6014SWolfgang Denk	pixis_reset altbank wd
81*702e6014SWolfgang Denk
82*702e6014SWolfgang Denk	/* reset board to alternate bank with frequency changed.
83*702e6014SWolfgang Denk	 * 40 is SYSCLK, 2.5 is COREPLL ratio, 10 is MPXPLL ratio
84*702e6014SWolfgang Denk	 */
85*702e6014SWolfgang Denk	pixis-reset altbank cf 40 2.5 10
86*702e6014SWolfgang Denk
87*702e6014SWolfgang DenkValid clock choices are in the 8641 Reference Manuals.
88*702e6014SWolfgang Denk
89*702e6014SWolfgang Denk
90*702e6014SWolfgang DenkUsing the Device Tree Source File
91*702e6014SWolfgang Denk---------------------------------
92*702e6014SWolfgang DenkTo create the DTB (Device Tree Binary) image file,
93*702e6014SWolfgang Denkuse a command similar to this:
94*702e6014SWolfgang Denk
95*702e6014SWolfgang Denk    dtc -b 0 -f -I dts -O dtb mpc8544ds.dts > mpc8544ds.dtb
96*702e6014SWolfgang Denk
97*702e6014SWolfgang DenkLikely, that .dts file will come from here;
98*702e6014SWolfgang Denk
99*702e6014SWolfgang Denk    linux-2.6/arch/powerpc/boot/dts/mpc8544ds.dts
100*702e6014SWolfgang Denk
101*702e6014SWolfgang DenkAfter placing the DTB file in your TFTP disk area,
102*702e6014SWolfgang Denkyou can download that dtb file using a command like:
103*702e6014SWolfgang Denk
104*702e6014SWolfgang Denk    tftp 900000 mpc8544ds.dtb
105*702e6014SWolfgang Denk
106*702e6014SWolfgang DenkBurn it to flash if you want.
107*702e6014SWolfgang Denk
108*702e6014SWolfgang Denk
109*702e6014SWolfgang DenkBooting Linux
110*702e6014SWolfgang Denk-------------
111*702e6014SWolfgang Denk
112*702e6014SWolfgang DenkPlace a linux uImage in the TFTP disk area too.
113*702e6014SWolfgang Denk
114*702e6014SWolfgang Denk    tftp 1000000 uImage.8544
115*702e6014SWolfgang Denk    tftp 900000 mpc8544ds.dtb
116*702e6014SWolfgang Denk    bootm 1000000 - 900000
117*702e6014SWolfgang Denk
118*702e6014SWolfgang DenkWatch your ethact, netdev and bootargs U-Boot environment variables.
119*702e6014SWolfgang DenkYou may want to do something like this too:
120*702e6014SWolfgang Denk
121*702e6014SWolfgang Denk    setenv ethact eTSEC3
122*702e6014SWolfgang Denk    setenv netdev eth1
123