]> git.ipfire.org Git - people/ms/u-boot.git/blame - doc/README.IPHASE4539
NAND: Fix integer overflow in ONFI detection of chips >= 4GiB
[people/ms/u-boot.git] / doc / README.IPHASE4539
CommitLineData
5b1d7137
WD
1
2This file contains basic information on the port of U-Boot to IPHASE4539
3(Interphase 4539 T1/E1/J1 PMC Communications Controller).
4All the changes fit in the common U-Boot infrastructure, providing a new
5IPHASE4539-specific entry in makefiles. To build U-Boot for IPHASE4539,
6type "make IPHASE4539_config", edit the "include/config_IPHASE4539.h"
7file if necessary, then type "make".
8
9
10Common file modifications:
11--------------------------
12
13The following common files have been modified by this project:
14(starting from the ppcboot-1.1.5/ directory)
15
16MAKEALL - IPHASE4539 entry added
17Makefile - IPHASE4539_config entry added
18
19
20New files:
21----------
22
23The following new files have been added by this project:
24(starting from the ppcboot-1.1.5/ directory)
25
26board/iphase4539/ - board-specific directory
27board/iphase4539/Makefile - board-specific makefile
28board/iphase4539/config.mk - config file
29board/iphase4539/flash.c - flash driver (for AM29LV033C)
30board/iphase4539/ppcboot.lds - linker script
31board/iphase4539/iphase4539.c - ioport and memory initialization
32include/config_IPHASE4539.h - main configuration file
33
34
35New configuration options:
36--------------------------
37
38CONFIG_IPHASE4539
39
40 Main board-specific option (should be defined for IPHASE4539).
41
42
43Acceptance criteria tests:
44--------------------------
45
46The following tests have been conducted to validate the port of U-Boot
47to IPHASE4539:
48
491. Operation on serial console:
50
51With SMC1 defined as console in the main configuration file, the U-Boot
52output appeared on the serial terminal connected to the 2.5mm stereo jack
53connector as follows:
54
55------------------------------------------------------------------------------
56=> help
5b1d7137
WD
57base - print or set address offset
58bdinfo - print Board Info structure
59bootm - boot application image from memory
60bootp - boot image via network using BootP/TFTP protocol
61bootd - boot default, i.e., run 'bootcmd'
62cmp - memory compare
63coninfo - print console devices and informations
64cp - memory copy
65crc32 - checksum calculation
66dcache - enable or disable data cache
67echo - echo args to console
68erase - erase FLASH memory
69flinfo - print FLASH memory information
70go - start application at address 'addr'
71help - print online help
72icache - enable or disable instruction cache
73iminfo - print header information for application image
74loadb - load binary file over serial line (kermit mode)
75loads - load S-Record file over serial line
76loop - infinite loop on address range
77md - memory display
78mm - memory modify (auto-incrementing)
79mtest - simple RAM test
80mw - memory write (fill)
81nm - memory modify (constant address)
82printenv- print environment variables
83protect - enable or disable FLASH write protection
84rarpboot- boot image via network using RARP/TFTP protocol
85reset - Perform RESET of the CPU
86run - run commands in an environment variable
87saveenv - save environment variables to persistent storage
88setenv - set environment variables
89sleep - delay execution for some time
3202d331 90source - run script from memory
5b1d7137 91tftpboot- boot image via network using TFTP protocol
8bde7f77 92 and env variables ipaddr and serverip
5b1d7137
WD
93version - print monitor version
94? - alias for 'help'
95=>
96------------------------------------------------------------------------------
97
98
992. Flash driver operation
100
101The following sequence was performed to test the "flinfo" command:
102
103------------------------------------------------------------------------------
104=> flinfo
105
106Bank # 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
124Note: the Hardware Configuration Word (HWC) of the 8260 is on the
125first sector of the flash and should not be touched. The U-Boot
126environment variables are stored on second sector and U-Boot
127starts at the address 0xFFB00000.
128
129
130The following sequence was performed to test the erase command:
131
132------------------------------------------------------------------------------
133=> cp 0 ff880000 10
134Copy to Flash... done
135=> md ff880000 20
136ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
137ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
138ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
139ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
140ff880040: ffffffff ffffffff ffffffff ffffffff ................
141ff880050: ffffffff ffffffff ffffffff ffffffff ................
142ff880060: ffffffff ffffffff ffffffff ffffffff ................
143ff880070: ffffffff ffffffff ffffffff ffffffff ................
144=> erase ff880000 ff88ffff
145Erase Flash from 0xff880000 to 0xff88ffff
146.. done
147Erased 1 sectors
148=> md ff880000
149ff880000: ffffffff ffffffff ffffffff ffffffff ................
150ff880010: ffffffff ffffffff ffffffff ffffffff ................
151ff880020: ffffffff ffffffff ffffffff ffffffff ................
152ff880030: ffffffff ffffffff ffffffff ffffffff ................
153ff880040: ffffffff ffffffff ffffffff ffffffff ................
154ff880050: ffffffff ffffffff ffffffff ffffffff ................
155ff880060: ffffffff ffffffff ffffffff ffffffff ................
156ff880070: ffffffff ffffffff ffffffff ffffffff ................
157=> cp 0 ff880000 10
158Copy to Flash... done
159=> md ff880000 20
160ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
161ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
162ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
163ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
164ff880040: ffffffff ffffffff ffffffff ffffffff ................
165ff880050: ffffffff ffffffff ffffffff ffffffff ................
166ff880060: ffffffff ffffffff ffffffff ffffffff ................
167ff880070: ffffffff ffffffff ffffffff ffffffff ................
168=> erase 1:8
169Erase Flash Sectors 8-8 in Bank # 1
170.. done
171=> md ff880000 20
172ff880000: ffffffff ffffffff ffffffff ffffffff ................
173ff880010: ffffffff ffffffff ffffffff ffffffff ................
174ff880020: ffffffff ffffffff ffffffff ffffffff ................
175ff880030: ffffffff ffffffff ffffffff ffffffff ................
176ff880040: ffffffff ffffffff ffffffff ffffffff ................
177ff880050: ffffffff ffffffff ffffffff ffffffff ................
178ff880060: ffffffff ffffffff ffffffff ffffffff ................
179ff880070: ffffffff ffffffff ffffffff ffffffff ................
180=> cp 0 ff880000 10
181Copy to Flash... done
182=> cp 0 ff890000 10
183=> md ff880000 20
184ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
185ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
186ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
187ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
188ff880040: ffffffff ffffffff ffffffff ffffffff ................
189ff880050: ffffffff ffffffff ffffffff ffffffff ................
190ff880060: ffffffff ffffffff ffffffff ffffffff ................
191ff880070: ffffffff ffffffff ffffffff ffffffff ................
192=> md ff890000
193ff890000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
194ff890010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
195ff890020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
196ff890030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
197ff890040: ffffffff ffffffff ffffffff ffffffff ................
198ff890050: ffffffff ffffffff ffffffff ffffffff ................
199ff890060: ffffffff ffffffff ffffffff ffffffff ................
200ff890070: ffffffff ffffffff ffffffff ffffffff ................
201=> erase 1:8-9
202Erase Flash Sectors 8-9 in Bank # 1
203.... done
204=> md ff880000 20
205ff880000: ffffffff ffffffff ffffffff ffffffff ................
206ff880010: ffffffff ffffffff ffffffff ffffffff ................
207ff880020: ffffffff ffffffff ffffffff ffffffff ................
208ff880030: ffffffff ffffffff ffffffff ffffffff ................
209ff880040: ffffffff ffffffff ffffffff ffffffff ................
210ff880050: ffffffff ffffffff ffffffff ffffffff ................
211ff880060: ffffffff ffffffff ffffffff ffffffff ................
212ff880070: ffffffff ffffffff ffffffff ffffffff ................
213=> md ff890000
214ff890000: ffffffff ffffffff ffffffff ffffffff ................
215ff890010: ffffffff ffffffff ffffffff ffffffff ................
216ff890020: ffffffff ffffffff ffffffff ffffffff ................
217ff890030: ffffffff ffffffff ffffffff ffffffff ................
218ff890040: ffffffff ffffffff ffffffff ffffffff ................
219ff890050: ffffffff ffffffff ffffffff ffffffff ................
220ff890060: ffffffff ffffffff ffffffff ffffffff ................
221ff890070: ffffffff ffffffff ffffffff ffffffff ................
222=>
223------------------------------------------------------------------------------
224
225
226The following sequence was performed to test the Flash programming commands:
227
228------------------------------------------------------------------------------
229=> erase ff880000 ff88ffff
230Erase Flash from 0xff880000 to 0xff88ffff
231.. done
232Erased 1 sectors
233=> cp 0 ff880000 10
234Copy to Flash... done
235=> md 0 20
23600000000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
23700000010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
23800000020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
23900000030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
24000000040: 3c83c000 2c040000 40823378 7c0000a6 <...,...@.3x|...
24100000050: 60000030 7c1b03a6 3c00c000 600035ec `..0|...<...`.5.
24200000060: 7c1a03a6 4c000064 00000000 00000000 |...L..d........
24300000070: 00000000 00000000 00000000 00000000 ................
244=> md ff880000 20
245ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
246ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
247ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
248ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
249ff880040: ffffffff ffffffff ffffffff ffffffff ................
250ff880050: ffffffff ffffffff ffffffff ffffffff ................
251ff880060: ffffffff ffffffff ffffffff ffffffff ................
252ff880070: ffffffff ffffffff ffffffff ffffffff ................
253=>
254------------------------------------------------------------------------------
255
256
257The following sequence was performed to test storage of the environment
258variables in Flash:
259
260------------------------------------------------------------------------------
261=> setenv foo bar
262=> saveenv
263Un-Protected 1 sectors
264Erasing Flash...
265.. done
266Erased 1 sectors
267Saving Environment to Flash...
268Protected 1 sectors
269=> reset
270...
271=> printenv
272...
273foo=bar
274...
275Environment size: 339/65532 bytes
276=>
277------------------------------------------------------------------------------
278
279
280The following sequence was performed to test image download and run over
281Ethernet interface (both interfaces were tested):
282
283------------------------------------------------------------------------------
284=> tftpboot 40000 hello_world.bin
285ARP broadcast 1
286TFTP from server 10.0.0.1; our IP address is 10.0.0.8
287Filename 'hello_world.bin'.
288Load address: 0x40000
289Loading: #############
290done
291Bytes transferred = 65932 (1018c hex)
292=> go 40004
293## Starting application at 0x00040004 ...
294Hello World
295argc = 1
296argv[0] = "40004"
297argv[1] = "<NULL>"
298Hit any key to exit ...
299
300## Application terminated, rc = 0x0
301=>
302------------------------------------------------------------------------------
303
304
3053. Known Problems
306
307None for the moment.
308
309
310----------------------------------------------------------------------------
311U-Boot and Linux for Interphase 4539 T1/E1/J1 PMC Communications Controller
312----------------------------------------------------------------------------
313
314U-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
327Linux:
328
329 Configure and make Linux:
330
331 $ cd <patch>/linux-2.4
332 $ make IPHASE4539_config
333 $ make oldconfig
334 $ make dep
3bac3513 335 $ make uImage
a47a12be 336 $ cp -p arch/powerpc/mbxboot/uImage /tftpboot
5b1d7137 337
3bac3513 338 Load uImage via tftp and boot it.
5b1d7137
WD
339
340
341Flash 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
353For further information concerning U-Boot and Linux please consult
354the "DENX U-Boot and Linux Guide".
355
356
357(C) 2002 Wolfgang Grandegger, DENX Software Engineering, wg@denx.de
358===================================================================