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
base - print or set address offset
58
bdinfo - print Board Info structure
59
bootm - boot application image from memory
60
bootp - boot image via network using BootP/TFTP protocol
61
bootd - boot default, i.e., run 'bootcmd'
63
coninfo - print console devices and informations
65
crc32 - checksum calculation
66
dcache - enable or disable data cache
67
echo - echo args to console
68
erase - erase FLASH memory
69
flinfo - print FLASH memory information
70
go - start application at address 'addr'
71
help - print online help
72
icache - enable or disable instruction cache
73
iminfo - print header information for application image
74
loadb - load binary file over serial line (kermit mode)
75
loads - load S-Record file over serial line
76
loop - infinite loop on address range
78
mm - memory modify (auto-incrementing)
79
mtest - simple RAM test
80
mw - memory write (fill)
81
nm - memory modify (constant address)
82
printenv- print environment variables
83
protect - enable or disable FLASH write protection
84
rarpboot- boot image via network using RARP/TFTP protocol
85
reset - Perform RESET of the CPU
86
run - run commands in an environment variable
87
saveenv - save environment variables to persistent storage
88
setenv - set environment variables
89
sleep - delay execution for some time
90
source - run script from memory
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/powerpc/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
===================================================================