Commit | Line | Data |
---|---|---|
7a78f148 TT |
1 | Freescale MPC8349E-mITX and MPC8349E-mITX-GP Boards |
2 | --------------------------------------------------- | |
3 | ||
4 | 1. Board Description | |
5 | ||
6 | The MPC8349E-mITX and MPC8349E-mITX-GP are reference boards featuring | |
7 | the Freescale MPC8349E processor in a Mini-ITX form factor. | |
8 | ||
9 | The MPC8349E-mITX-GP is an MPC8349E-mITX with the following differences: | |
10 | ||
11 | A) One 8MB on-board flash EEPROM chip, instead of two. | |
12 | B) No SATA controller | |
13 | C) No Compact Flash slot | |
14 | D) No Mini-PCI slot | |
15 | E) No Vitesse 7385 5-port Ethernet switch | |
16 | F) No 4-port USB Type-A interface | |
17 | ||
18 | 2. Board Switches and Jumpers | |
19 | ||
20 | 2.0 Descriptions for all of the board jumpers can be found in the User | |
21 | Guide. Of particular interest to U-Boot developers is jumper J22: | |
22 | ||
23 | Pos. Name Default Description | |
24 | ----------------------------------------------------------------------- | |
25 | A LGPL0 ON (0) HRCW source, bit 0 | |
26 | B LGPL1 ON (0) HRCW source, bit 1 | |
27 | C LGPL3 ON (0) HRCW source, bit 2 | |
28 | D LGPL5 OFF (1) PCI_SYNC_OUT frequency | |
29 | E BOOT1 ON (0) Flash EEPROM boot device | |
30 | F PCI_M66EN ON (0) PCI 66MHz enable | |
31 | G I2C-WP ON (0) I2C EEPROM write protection | |
32 | H F_WP OFF (1) Flash EEPROM write protection | |
33 | ||
34 | Jumper J22.E is only for the ITX, and it decides the configuration | |
35 | of the flash chips. If J22.E is ON (i.e. jumpered), then flash chip | |
36 | U4 is located at address FE000000 and flash chip U7 is at FE800000. | |
37 | If J22.E is OFF, then U7 is at FE000000 and U4 is at FE800000. | |
38 | ||
39 | For U-Boot development, J22.E can be used to switch back-and-forth | |
40 | between two U-Boot images. | |
41 | ||
42 | 3. Memory Map | |
43 | ||
44 | 3.1. The memory map should look pretty much like this: | |
45 | ||
46 | 0x0000_0000 - 0x0FFF_FFFF DDR SDRAM (256 MB) | |
47 | 0x8000_0000 - 0x9FFF_FFFF PCI1 memory space (512 MB) | |
48 | 0xA000_0000 - 0xBFFF_FFFF PCI2 memory space (512 MB) | |
49 | 0xE000_0000 - 0xEFFF_FFFF IMMR (1 MB) | |
50 | 0xE200_0000 - 0xE2FF_FFFF PCI1 I/O space (16 MB) | |
51 | 0xE300_0000 - 0xE3FF_FFFF PCI2 I/O space (16 MB) | |
52 | 0xF000_0000 - 0xF000_FFFF Compact Flash (ITX only) | |
53 | 0xF001_0000 - 0xF001_FFFF Local bus expansion slot | |
54 | 0xF800_0000 - 0xF801_FFFF Vitesse 7385 Parallel Interface (ITX only) | |
55 | 0xFE00_0000 - 0xFE7F_FFFF First 8MB bank of Flash memory | |
56 | 0xFE80_0000 - 0xFEFF_FFFF Second 8MB bank of Flash memory (ITX only) | |
57 | ||
58 | 3.2 Flash EEPROM layout. | |
59 | ||
60 | On the ITX, jumper J22.E is used to determine which flash chips are | |
61 | at which address. When J22.E is switched, addresses from FE000000 | |
62 | to FE7FFFFF are swapped with addresses from FE800000 to FEFFFFFF. | |
63 | ||
64 | On the ITX, at the normal boot address (aka HIGHBOOT): | |
65 | ||
66 | FE00_0000 HRCW | |
67 | FE70_0000 Alternative U-Boot image | |
68 | FE80_0000 Alternative HRCW | |
69 | FEF0_0000 U-Boot image | |
70 | FEFF_FFFF End of flash | |
71 | ||
72 | On the ITX, at the low boot address (LOWBOOT) | |
73 | ||
74 | FE00_0000 HRCW and U-Boot image | |
75 | FE04_0000 U-Boot environment variables | |
76 | FE80_0000 Alternative HRCW and U-Boot image | |
77 | FEFF_FFFF End of flash | |
78 | ||
79 | On the ITX-GP, the only option is LOWBOOT and there is only one chip | |
80 | ||
81 | FE00_0000 HRCW and U-Boot image | |
82 | FE04_0000 U-Boot environment variables | |
83 | F7FF_FFFF End of flash | |
84 | ||
85 | 4. Definitions | |
86 | ||
87 | 4.1 Explanation of NEW definitions in: | |
88 | ||
89 | include/configs/MPC8349ITX.h | |
90 | ||
91 | CONFIG_MPC83XX MPC83xx family | |
92 | CONFIG_MPC8349 MPC8349 specific | |
93 | CONFIG_MPC8349ITX MPC8349E-mITX | |
94 | CONFIG_MPC8349ITXGP MPC8349E-mITX-GP | |
95 | ||
96 | 5. Compilation | |
97 | ||
98 | Assuming you're using BASH shell: | |
99 | ||
100 | export CROSS_COMPILE=your-cross-compile-prefix | |
101 | cd u-boot | |
102 | make distclean | |
103 | ||
104 | make MPC8349ITX_config | |
105 | or: | |
106 | make MPC8349ITXGP_config | |
107 | or: | |
108 | make MPC8349ITX_LOWBOOT_config | |
109 | ||
110 | make | |
111 | ||
112 | 6. Downloading and Flashing Images | |
113 | ||
114 | 6.1 Download via tftp: | |
115 | ||
116 | tftp $loadaddr <uboot> | |
117 | ||
118 | where "<uboot>" is the path and filename, on the TFTP server, of | |
119 | the U-Boot image. | |
120 | ||
121 | 6.1 Reflash U-Boot Image using U-Boot | |
122 | ||
123 | setenv uboot <uboot> | |
124 | run tftpflash | |
125 | ||
126 | where "<uboot>" is the path and filename, on the TFTP server, of | |
127 | the U-Boot image. | |
128 | ||
129 | 6.2 Using the HRCW to switch between two different U-Boot images on the ITX | |
130 | ||
131 | Because the ITX has 16MB of flash, it is possible to keep two U-Boot | |
132 | images in flash, and use the HRCW to specify which one is to be used | |
133 | when the board boots. This trick is especially effective with a | |
134 | hardware debugger that can override the HRCW, such as the BDI-2000. | |
135 | ||
136 | When the BMS bit in the HRCW is 0, the ITX will boot the U-Boot image | |
137 | at address FE000000. When the BMS bit is 1, the ITX will boot the | |
138 | image at address FEF00000. | |
139 | ||
140 | Therefore, just put a U-Boot image at both FE000000 and FEF00000 and | |
141 | change the BMS bit whenever you want to boot the other image. | |
142 | ||
143 | Step-by-step instructions: | |
144 | ||
145 | 1) Build an ITX image to be loaded at FEF00000 | |
146 | ||
147 | make distclean | |
148 | make MPC8349ITX_config | |
149 | make | |
150 | ||
151 | 2) Take the u-boot.bin image and flash it at FEF00000. | |
152 | ||
153 | tftp $loadaddr u-boot.bin | |
154 | protect off all | |
155 | erase FEF00000 +$filesize | |
156 | cp.b $loadaddr FEF00000 $filesize | |
157 | ||
158 | 3) Build an ITX image to be loaded at FE000000 | |
159 | ||
160 | make distclean | |
161 | make MPC8349ITX_LOWBOOT_config | |
162 | make | |
163 | ||
164 | 4) Take the u-boot.bin image and flash it at FE000000. | |
165 | ||
166 | tftp $loadaddr u-boot.bin | |
167 | protect off FE000000 +$filesize | |
168 | erase FE000000 +$filesize | |
169 | cp.b $loadaddr FE000000 $filesize | |
170 | ||
171 | The HRCW in flash is currently set to boot the image at FE000000. | |
172 | ||
173 | If you have a hardware debugger, configure it to set the HRCW to | |
174 | B460A000 04040000 if you want to boot the image at FEF00000, or set | |
175 | it to B060A000 04040000 if you want to boot the image at FE000000. | |
176 | ||
177 | To change the HRCW in flash to boot the image at FEF00000, use these | |
178 | U-Boot commands: | |
179 | ||
180 | cp.b FE000000 1000 10000 ; copy 1st flash sector to 1000 | |
181 | mw.b 1020 b4 8 ; modify BMS bit | |
182 | protect off FE000000 +10000 | |
183 | erase FE000000 +10000 | |
184 | cp.b 1000 FE000000 10000 | |
185 | ||
186 | 7. Notes | |
187 | 1) The console baudrate for MPC8349EITX is 115200bps. |