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