]>
Commit | Line | Data |
---|---|---|
5b1d7137 WD |
1 | |
2 | This file contains basic information on the port of U-Boot to IPHASE4539 | |
3 | (Interphase 4539 T1/E1/J1 PMC Communications Controller). | |
4 | All the changes fit in the common U-Boot infrastructure, providing a new | |
5 | IPHASE4539-specific entry in makefiles. To build U-Boot for IPHASE4539, | |
6 | type "make IPHASE4539_config", edit the "include/config_IPHASE4539.h" | |
7 | file if necessary, then type "make". | |
8 | ||
9 | ||
10 | Common file modifications: | |
11 | -------------------------- | |
12 | ||
13 | The following common files have been modified by this project: | |
14 | (starting from the ppcboot-1.1.5/ directory) | |
15 | ||
16 | MAKEALL - IPHASE4539 entry added | |
17 | Makefile - IPHASE4539_config entry added | |
18 | ||
19 | ||
20 | New files: | |
21 | ---------- | |
22 | ||
23 | The following new files have been added by this project: | |
24 | (starting from the ppcboot-1.1.5/ directory) | |
25 | ||
26 | board/iphase4539/ - board-specific directory | |
27 | board/iphase4539/Makefile - board-specific makefile | |
28 | board/iphase4539/config.mk - config file | |
29 | board/iphase4539/flash.c - flash driver (for AM29LV033C) | |
30 | board/iphase4539/ppcboot.lds - linker script | |
31 | board/iphase4539/iphase4539.c - ioport and memory initialization | |
32 | include/config_IPHASE4539.h - main configuration file | |
33 | ||
34 | ||
35 | New configuration options: | |
36 | -------------------------- | |
37 | ||
38 | CONFIG_IPHASE4539 | |
39 | ||
40 | Main board-specific option (should be defined for IPHASE4539). | |
41 | ||
42 | ||
43 | Acceptance criteria tests: | |
44 | -------------------------- | |
45 | ||
46 | The following tests have been conducted to validate the port of U-Boot | |
47 | to IPHASE4539: | |
48 | ||
49 | 1. Operation on serial console: | |
50 | ||
51 | With SMC1 defined as console in the main configuration file, the U-Boot | |
52 | output appeared on the serial terminal connected to the 2.5mm stereo jack | |
53 | connector as follows: | |
54 | ||
55 | ------------------------------------------------------------------------------ | |
56 | => help | |
57 | autoscr - run script from memory | |
58 | base - print or set address offset | |
59 | bdinfo - print Board Info structure | |
60 | bootm - boot application image from memory | |
61 | bootp - boot image via network using BootP/TFTP protocol | |
62 | bootd - boot default, i.e., run 'bootcmd' | |
63 | cmp - memory compare | |
64 | coninfo - print console devices and informations | |
65 | cp - memory copy | |
66 | crc32 - checksum calculation | |
67 | dcache - enable or disable data cache | |
68 | echo - echo args to console | |
69 | erase - erase FLASH memory | |
70 | flinfo - print FLASH memory information | |
71 | go - start application at address 'addr' | |
72 | help - print online help | |
73 | icache - enable or disable instruction cache | |
74 | iminfo - print header information for application image | |
75 | loadb - load binary file over serial line (kermit mode) | |
76 | loads - load S-Record file over serial line | |
77 | loop - infinite loop on address range | |
78 | md - memory display | |
79 | mm - memory modify (auto-incrementing) | |
80 | mtest - simple RAM test | |
81 | mw - memory write (fill) | |
82 | nm - memory modify (constant address) | |
83 | printenv- print environment variables | |
84 | protect - enable or disable FLASH write protection | |
85 | rarpboot- boot image via network using RARP/TFTP protocol | |
86 | reset - Perform RESET of the CPU | |
87 | run - run commands in an environment variable | |
88 | saveenv - save environment variables to persistent storage | |
89 | setenv - set environment variables | |
90 | sleep - delay execution for some time | |
91 | tftpboot- boot image via network using TFTP protocol | |
8bde7f77 | 92 | and env variables ipaddr and serverip |
5b1d7137 WD |
93 | version - print monitor version |
94 | ? - alias for 'help' | |
95 | => | |
96 | ------------------------------------------------------------------------------ | |
97 | ||
98 | ||
99 | 2. Flash driver operation | |
100 | ||
101 | The following sequence was performed to test the "flinfo" command: | |
102 | ||
103 | ------------------------------------------------------------------------------ | |
104 | => flinfo | |
105 | ||
106 | Bank # 1: AMD AM29LV033C (32 Mbit, uniform sectors) | |
107 | Size: 4 MB in 64 Sectors | |
108 | Sector Start Addresses: | |
109 | FF800000 (RO) FF810000 (RO) FF820000 FF830000 FF840000 | |
110 | FF850000 FF860000 FF870000 FF880000 FF890000 | |
111 | FF8A0000 FF8B0000 FF8C0000 FF8D0000 FF8E0000 | |
112 | FF8F0000 FF900000 FF910000 FF920000 FF930000 | |
113 | FF940000 FF950000 FF960000 FF970000 FF980000 | |
114 | FF990000 FF9A0000 FF9B0000 FF9C0000 FF9D0000 | |
115 | FF9E0000 FF9F0000 FFA00000 FFA10000 FFA20000 | |
116 | FFA30000 FFA40000 FFA50000 FFA60000 FFA70000 | |
117 | FFA80000 FFA90000 FFAA0000 FFAB0000 FFAC0000 | |
118 | FFAD0000 FFAE0000 FFAF0000 FFB00000 (RO) FFB10000 (RO) | |
119 | FFB20000 (RO) FFB30000 (RO) FFB40000 FFB50000 FFB60000 | |
120 | FFB70000 FFB80000 FFB90000 FFBA0000 FFBB0000 | |
121 | FFBC0000 FFBD0000 FFBE0000 FFBF0000 | |
122 | ------------------------------------------------------------------------------ | |
123 | ||
124 | Note: the Hardware Configuration Word (HWC) of the 8260 is on the | |
125 | first sector of the flash and should not be touched. The U-Boot | |
126 | environment variables are stored on second sector and U-Boot | |
127 | starts at the address 0xFFB00000. | |
128 | ||
129 | ||
130 | The following sequence was performed to test the erase command: | |
131 | ||
132 | ------------------------------------------------------------------------------ | |
133 | => cp 0 ff880000 10 | |
134 | Copy to Flash... done | |
135 | => md ff880000 20 | |
136 | ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x | |
137 | ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x | |
138 | ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. | |
139 | ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x | |
140 | ff880040: ffffffff ffffffff ffffffff ffffffff ................ | |
141 | ff880050: ffffffff ffffffff ffffffff ffffffff ................ | |
142 | ff880060: ffffffff ffffffff ffffffff ffffffff ................ | |
143 | ff880070: ffffffff ffffffff ffffffff ffffffff ................ | |
144 | => erase ff880000 ff88ffff | |
145 | Erase Flash from 0xff880000 to 0xff88ffff | |
146 | .. done | |
147 | Erased 1 sectors | |
148 | => md ff880000 | |
149 | ff880000: ffffffff ffffffff ffffffff ffffffff ................ | |
150 | ff880010: ffffffff ffffffff ffffffff ffffffff ................ | |
151 | ff880020: ffffffff ffffffff ffffffff ffffffff ................ | |
152 | ff880030: ffffffff ffffffff ffffffff ffffffff ................ | |
153 | ff880040: ffffffff ffffffff ffffffff ffffffff ................ | |
154 | ff880050: ffffffff ffffffff ffffffff ffffffff ................ | |
155 | ff880060: ffffffff ffffffff ffffffff ffffffff ................ | |
156 | ff880070: ffffffff ffffffff ffffffff ffffffff ................ | |
157 | => cp 0 ff880000 10 | |
158 | Copy to Flash... done | |
159 | => md ff880000 20 | |
160 | ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x | |
161 | ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x | |
162 | ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. | |
163 | ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x | |
164 | ff880040: ffffffff ffffffff ffffffff ffffffff ................ | |
165 | ff880050: ffffffff ffffffff ffffffff ffffffff ................ | |
166 | ff880060: ffffffff ffffffff ffffffff ffffffff ................ | |
167 | ff880070: ffffffff ffffffff ffffffff ffffffff ................ | |
168 | => erase 1:8 | |
169 | Erase Flash Sectors 8-8 in Bank # 1 | |
170 | .. done | |
171 | => md ff880000 20 | |
172 | ff880000: ffffffff ffffffff ffffffff ffffffff ................ | |
173 | ff880010: ffffffff ffffffff ffffffff ffffffff ................ | |
174 | ff880020: ffffffff ffffffff ffffffff ffffffff ................ | |
175 | ff880030: ffffffff ffffffff ffffffff ffffffff ................ | |
176 | ff880040: ffffffff ffffffff ffffffff ffffffff ................ | |
177 | ff880050: ffffffff ffffffff ffffffff ffffffff ................ | |
178 | ff880060: ffffffff ffffffff ffffffff ffffffff ................ | |
179 | ff880070: ffffffff ffffffff ffffffff ffffffff ................ | |
180 | => cp 0 ff880000 10 | |
181 | Copy to Flash... done | |
182 | => cp 0 ff890000 10 | |
183 | => md ff880000 20 | |
184 | ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x | |
185 | ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x | |
186 | ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. | |
187 | ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x | |
188 | ff880040: ffffffff ffffffff ffffffff ffffffff ................ | |
189 | ff880050: ffffffff ffffffff ffffffff ffffffff ................ | |
190 | ff880060: ffffffff ffffffff ffffffff ffffffff ................ | |
191 | ff880070: ffffffff ffffffff ffffffff ffffffff ................ | |
192 | => md ff890000 | |
193 | ff890000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x | |
194 | ff890010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x | |
195 | ff890020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. | |
196 | ff890030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x | |
197 | ff890040: ffffffff ffffffff ffffffff ffffffff ................ | |
198 | ff890050: ffffffff ffffffff ffffffff ffffffff ................ | |
199 | ff890060: ffffffff ffffffff ffffffff ffffffff ................ | |
200 | ff890070: ffffffff ffffffff ffffffff ffffffff ................ | |
201 | => erase 1:8-9 | |
202 | Erase Flash Sectors 8-9 in Bank # 1 | |
203 | .... done | |
204 | => md ff880000 20 | |
205 | ff880000: ffffffff ffffffff ffffffff ffffffff ................ | |
206 | ff880010: ffffffff ffffffff ffffffff ffffffff ................ | |
207 | ff880020: ffffffff ffffffff ffffffff ffffffff ................ | |
208 | ff880030: ffffffff ffffffff ffffffff ffffffff ................ | |
209 | ff880040: ffffffff ffffffff ffffffff ffffffff ................ | |
210 | ff880050: ffffffff ffffffff ffffffff ffffffff ................ | |
211 | ff880060: ffffffff ffffffff ffffffff ffffffff ................ | |
212 | ff880070: ffffffff ffffffff ffffffff ffffffff ................ | |
213 | => md ff890000 | |
214 | ff890000: ffffffff ffffffff ffffffff ffffffff ................ | |
215 | ff890010: ffffffff ffffffff ffffffff ffffffff ................ | |
216 | ff890020: ffffffff ffffffff ffffffff ffffffff ................ | |
217 | ff890030: ffffffff ffffffff ffffffff ffffffff ................ | |
218 | ff890040: ffffffff ffffffff ffffffff ffffffff ................ | |
219 | ff890050: ffffffff ffffffff ffffffff ffffffff ................ | |
220 | ff890060: ffffffff ffffffff ffffffff ffffffff ................ | |
221 | ff890070: ffffffff ffffffff ffffffff ffffffff ................ | |
222 | => | |
223 | ------------------------------------------------------------------------------ | |
224 | ||
225 | ||
226 | The following sequence was performed to test the Flash programming commands: | |
227 | ||
228 | ------------------------------------------------------------------------------ | |
229 | => erase ff880000 ff88ffff | |
230 | Erase Flash from 0xff880000 to 0xff88ffff | |
231 | .. done | |
232 | Erased 1 sectors | |
233 | => cp 0 ff880000 10 | |
234 | Copy to Flash... done | |
235 | => md 0 20 | |
236 | 00000000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x | |
237 | 00000010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x | |
238 | 00000020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. | |
239 | 00000030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x | |
240 | 00000040: 3c83c000 2c040000 40823378 7c0000a6 <...,[email protected]|... | |
241 | 00000050: 60000030 7c1b03a6 3c00c000 600035ec `..0|...<...`.5. | |
242 | 00000060: 7c1a03a6 4c000064 00000000 00000000 |...L..d........ | |
243 | 00000070: 00000000 00000000 00000000 00000000 ................ | |
244 | => md ff880000 20 | |
245 | ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x | |
246 | ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x | |
247 | ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6. | |
248 | ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x | |
249 | ff880040: ffffffff ffffffff ffffffff ffffffff ................ | |
250 | ff880050: ffffffff ffffffff ffffffff ffffffff ................ | |
251 | ff880060: ffffffff ffffffff ffffffff ffffffff ................ | |
252 | ff880070: ffffffff ffffffff ffffffff ffffffff ................ | |
253 | => | |
254 | ------------------------------------------------------------------------------ | |
255 | ||
256 | ||
257 | The following sequence was performed to test storage of the environment | |
258 | variables in Flash: | |
259 | ||
260 | ------------------------------------------------------------------------------ | |
261 | => setenv foo bar | |
262 | => saveenv | |
263 | Un-Protected 1 sectors | |
264 | Erasing Flash... | |
265 | .. done | |
266 | Erased 1 sectors | |
267 | Saving Environment to Flash... | |
268 | Protected 1 sectors | |
269 | => reset | |
270 | ... | |
271 | => printenv | |
272 | ... | |
273 | foo=bar | |
274 | ... | |
275 | Environment size: 339/65532 bytes | |
276 | => | |
277 | ------------------------------------------------------------------------------ | |
278 | ||
279 | ||
280 | The following sequence was performed to test image download and run over | |
281 | Ethernet interface (both interfaces were tested): | |
282 | ||
283 | ------------------------------------------------------------------------------ | |
284 | => tftpboot 40000 hello_world.bin | |
285 | ARP broadcast 1 | |
286 | TFTP from server 10.0.0.1; our IP address is 10.0.0.8 | |
287 | Filename 'hello_world.bin'. | |
288 | Load address: 0x40000 | |
289 | Loading: ############# | |
290 | done | |
291 | Bytes transferred = 65932 (1018c hex) | |
292 | => go 40004 | |
293 | ## Starting application at 0x00040004 ... | |
294 | Hello World | |
295 | argc = 1 | |
296 | argv[0] = "40004" | |
297 | argv[1] = "<NULL>" | |
298 | Hit any key to exit ... | |
299 | ||
300 | ## Application terminated, rc = 0x0 | |
301 | => | |
302 | ------------------------------------------------------------------------------ | |
303 | ||
304 | ||
305 | 3. Known Problems | |
306 | ||
307 | None for the moment. | |
308 | ||
309 | ||
310 | ---------------------------------------------------------------------------- | |
311 | U-Boot and Linux for Interphase 4539 T1/E1/J1 PMC Communications Controller | |
312 | ---------------------------------------------------------------------------- | |
313 | ||
314 | U-Boot: | |
315 | ||
316 | Configure and make U-Boot: | |
317 | ||
318 | $ cd <path>/u-boot | |
319 | $ make IPHASE4539_config | |
320 | $ make dep | |
321 | $ make | |
322 | $ cp -p u-boot.bin /tftpboot | |
323 | ||
324 | Load u-boot.bin into the Flash memory at 0xffb00000. | |
325 | ||
326 | ||
327 | Linux: | |
328 | ||
329 | Configure and make Linux: | |
330 | ||
331 | $ cd <patch>/linux-2.4 | |
332 | $ make IPHASE4539_config | |
333 | $ make oldconfig | |
334 | $ make dep | |
3bac3513 WD |
335 | $ make uImage |
336 | $ cp -p arch/ppc/mbxboot/uImage /tftpboot | |
5b1d7137 | 337 | |
3bac3513 | 338 | Load uImage via tftp and boot it. |
5b1d7137 WD |
339 | |
340 | ||
341 | Flash organisation: | |
342 | ||
343 | The following preliminary layout of the Flash memory | |
344 | is defined: | |
345 | ||
346 | 0xff800000 ( 0 - 64 kB): Hardware Configuration Word. | |
347 | 0xff810000 ( 64 kB - 128 kB): U-Boot Environment. | |
348 | 0xff820000 ( 128 kB - 3 MB): RAMdisk. | |
349 | 0xffb00000 ( 3 MB - 3328 kB): U-Boot. | |
350 | 0xffb40000 (3328 KB - 4 MB): Linux Kernel. | |
351 | ||
352 | ||
353 | For further information concerning U-Boot and Linux please consult | |
354 | the "DENX U-Boot and Linux Guide". | |
355 | ||
356 | ||
357 | (C) 2002 Wolfgang Grandegger, DENX Software Engineering, [email protected] | |
358 | =================================================================== |