Patches by Scott McNutt, 24 Aug 2004:
[platform/kernel/u-boot.git] / doc / README.IPHASE4539
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
92                and env variables ipaddr and serverip
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    <...,...@.3x|...
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
335         $ make uImage
336         $ cp -p arch/ppc/mbxboot/uImage /tftpboot
337
338         Load uImage via tftp and boot it.
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, wg@denx.de
358 ===================================================================