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".
10 Common file modifications:
11 --------------------------
13 The following common files have been modified by this project:
14 (starting from the ppcboot-1.1.5/ directory)
16 MAKEALL - IPHASE4539 entry added
17 Makefile - IPHASE4539_config entry added
23 The following new files have been added by this project:
24 (starting from the ppcboot-1.1.5/ directory)
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
35 New configuration options:
36 --------------------------
40 Main board-specific option (should be defined for IPHASE4539).
43 Acceptance criteria tests:
44 --------------------------
46 The following tests have been conducted to validate the port of U-Boot
49 1. Operation on serial console:
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
55 ------------------------------------------------------------------------------
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'
64 coninfo - print console devices and informations
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
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
92 and env variables ipaddr and serverip
93 version - print monitor version
96 ------------------------------------------------------------------------------
99 2. Flash driver operation
101 The following sequence was performed to test the "flinfo" command:
103 ------------------------------------------------------------------------------
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 ------------------------------------------------------------------------------
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.
130 The following sequence was performed to test the erase command:
132 ------------------------------------------------------------------------------
134 Copy to Flash... done
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
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 ................
158 Copy to Flash... done
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 ................
169 Erase Flash Sectors 8-8 in Bank # 1
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 ................
181 Copy to Flash... done
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 ................
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 ................
202 Erase Flash Sectors 8-9 in Bank # 1
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 ................
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 ................
223 ------------------------------------------------------------------------------
226 The following sequence was performed to test the Flash programming commands:
228 ------------------------------------------------------------------------------
229 => erase ff880000 ff88ffff
230 Erase Flash from 0xff880000 to 0xff88ffff
234 Copy to Flash... done
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 <...,...@.3x|...
241 00000050: 60000030 7c1b03a6 3c00c000 600035ec `..0|...<...`.5.
242 00000060: 7c1a03a6 4c000064 00000000 00000000 |...L..d........
243 00000070: 00000000 00000000 00000000 00000000 ................
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 ................
254 ------------------------------------------------------------------------------
257 The following sequence was performed to test storage of the environment
260 ------------------------------------------------------------------------------
263 Un-Protected 1 sectors
267 Saving Environment to Flash...
275 Environment size: 339/65532 bytes
277 ------------------------------------------------------------------------------
280 The following sequence was performed to test image download and run over
281 Ethernet interface (both interfaces were tested):
283 ------------------------------------------------------------------------------
284 => tftpboot 40000 hello_world.bin
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: #############
291 Bytes transferred = 65932 (1018c hex)
293 ## Starting application at 0x00040004 ...
298 Hit any key to exit ...
300 ## Application terminated, rc = 0x0
302 ------------------------------------------------------------------------------
310 ----------------------------------------------------------------------------
311 U-Boot and Linux for Interphase 4539 T1/E1/J1 PMC Communications Controller
312 ----------------------------------------------------------------------------
316 Configure and make U-Boot:
319 $ make IPHASE4539_config
322 $ cp -p u-boot.bin /tftpboot
324 Load u-boot.bin into the Flash memory at 0xffb00000.
329 Configure and make Linux:
331 $ cd <patch>/linux-2.4
332 $ make IPHASE4539_config
336 $ cp -p arch/ppc/mbxboot/uImage /tftpboot
338 Load uImage via tftp and boot it.
343 The following preliminary layout of the Flash memory
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.
353 For further information concerning U-Boot and Linux please consult
354 the "DENX U-Boot and Linux Guide".
357 (C) 2002 Wolfgang Grandegger, DENX Software Engineering, wg@denx.de
358 ===================================================================