mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-21 17:38:51 +09:00
![Stefan Roese](/assets/img/avatar_default.png)
As discussed on the list, move "arch/ppc" to "arch/powerpc" to better match the Linux directory structure. Please note that this patch also changes the "ppc" target in MAKEALL to "powerpc" to match this new infrastructure. But "ppc" is kept as an alias for now, to not break compatibility with scripts using this name. Signed-off-by: Stefan Roese <sr@denx.de> Acked-by: Wolfgang Denk <wd@denx.de> Acked-by: Detlev Zundel <dzu@denx.de> Acked-by: Kim Phillips <kim.phillips@freescale.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Anatolij Gustschin <agust@denx.de>
359 lines
13 KiB
Plaintext
359 lines
13 KiB
Plaintext
|
|
This file contains basic information on the port of U-Boot to IPHASE4539
|
|
(Interphase 4539 T1/E1/J1 PMC Communications Controller).
|
|
All the changes fit in the common U-Boot infrastructure, providing a new
|
|
IPHASE4539-specific entry in makefiles. To build U-Boot for IPHASE4539,
|
|
type "make IPHASE4539_config", edit the "include/config_IPHASE4539.h"
|
|
file if necessary, then type "make".
|
|
|
|
|
|
Common file modifications:
|
|
--------------------------
|
|
|
|
The following common files have been modified by this project:
|
|
(starting from the ppcboot-1.1.5/ directory)
|
|
|
|
MAKEALL - IPHASE4539 entry added
|
|
Makefile - IPHASE4539_config entry added
|
|
|
|
|
|
New files:
|
|
----------
|
|
|
|
The following new files have been added by this project:
|
|
(starting from the ppcboot-1.1.5/ directory)
|
|
|
|
board/iphase4539/ - board-specific directory
|
|
board/iphase4539/Makefile - board-specific makefile
|
|
board/iphase4539/config.mk - config file
|
|
board/iphase4539/flash.c - flash driver (for AM29LV033C)
|
|
board/iphase4539/ppcboot.lds - linker script
|
|
board/iphase4539/iphase4539.c - ioport and memory initialization
|
|
include/config_IPHASE4539.h - main configuration file
|
|
|
|
|
|
New configuration options:
|
|
--------------------------
|
|
|
|
CONFIG_IPHASE4539
|
|
|
|
Main board-specific option (should be defined for IPHASE4539).
|
|
|
|
|
|
Acceptance criteria tests:
|
|
--------------------------
|
|
|
|
The following tests have been conducted to validate the port of U-Boot
|
|
to IPHASE4539:
|
|
|
|
1. Operation on serial console:
|
|
|
|
With SMC1 defined as console in the main configuration file, the U-Boot
|
|
output appeared on the serial terminal connected to the 2.5mm stereo jack
|
|
connector as follows:
|
|
|
|
------------------------------------------------------------------------------
|
|
=> help
|
|
base - print or set address offset
|
|
bdinfo - print Board Info structure
|
|
bootm - boot application image from memory
|
|
bootp - boot image via network using BootP/TFTP protocol
|
|
bootd - boot default, i.e., run 'bootcmd'
|
|
cmp - memory compare
|
|
coninfo - print console devices and informations
|
|
cp - memory copy
|
|
crc32 - checksum calculation
|
|
dcache - enable or disable data cache
|
|
echo - echo args to console
|
|
erase - erase FLASH memory
|
|
flinfo - print FLASH memory information
|
|
go - start application at address 'addr'
|
|
help - print online help
|
|
icache - enable or disable instruction cache
|
|
iminfo - print header information for application image
|
|
loadb - load binary file over serial line (kermit mode)
|
|
loads - load S-Record file over serial line
|
|
loop - infinite loop on address range
|
|
md - memory display
|
|
mm - memory modify (auto-incrementing)
|
|
mtest - simple RAM test
|
|
mw - memory write (fill)
|
|
nm - memory modify (constant address)
|
|
printenv- print environment variables
|
|
protect - enable or disable FLASH write protection
|
|
rarpboot- boot image via network using RARP/TFTP protocol
|
|
reset - Perform RESET of the CPU
|
|
run - run commands in an environment variable
|
|
saveenv - save environment variables to persistent storage
|
|
setenv - set environment variables
|
|
sleep - delay execution for some time
|
|
source - run script from memory
|
|
tftpboot- boot image via network using TFTP protocol
|
|
and env variables ipaddr and serverip
|
|
version - print monitor version
|
|
? - alias for 'help'
|
|
=>
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
2. Flash driver operation
|
|
|
|
The following sequence was performed to test the "flinfo" command:
|
|
|
|
------------------------------------------------------------------------------
|
|
=> flinfo
|
|
|
|
Bank # 1: AMD AM29LV033C (32 Mbit, uniform sectors)
|
|
Size: 4 MB in 64 Sectors
|
|
Sector Start Addresses:
|
|
FF800000 (RO) FF810000 (RO) FF820000 FF830000 FF840000
|
|
FF850000 FF860000 FF870000 FF880000 FF890000
|
|
FF8A0000 FF8B0000 FF8C0000 FF8D0000 FF8E0000
|
|
FF8F0000 FF900000 FF910000 FF920000 FF930000
|
|
FF940000 FF950000 FF960000 FF970000 FF980000
|
|
FF990000 FF9A0000 FF9B0000 FF9C0000 FF9D0000
|
|
FF9E0000 FF9F0000 FFA00000 FFA10000 FFA20000
|
|
FFA30000 FFA40000 FFA50000 FFA60000 FFA70000
|
|
FFA80000 FFA90000 FFAA0000 FFAB0000 FFAC0000
|
|
FFAD0000 FFAE0000 FFAF0000 FFB00000 (RO) FFB10000 (RO)
|
|
FFB20000 (RO) FFB30000 (RO) FFB40000 FFB50000 FFB60000
|
|
FFB70000 FFB80000 FFB90000 FFBA0000 FFBB0000
|
|
FFBC0000 FFBD0000 FFBE0000 FFBF0000
|
|
------------------------------------------------------------------------------
|
|
|
|
Note: the Hardware Configuration Word (HWC) of the 8260 is on the
|
|
first sector of the flash and should not be touched. The U-Boot
|
|
environment variables are stored on second sector and U-Boot
|
|
starts at the address 0xFFB00000.
|
|
|
|
|
|
The following sequence was performed to test the erase command:
|
|
|
|
------------------------------------------------------------------------------
|
|
=> cp 0 ff880000 10
|
|
Copy to Flash... done
|
|
=> md ff880000 20
|
|
ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
|
|
ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
|
|
ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
|
|
ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
|
|
ff880040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=> erase ff880000 ff88ffff
|
|
Erase Flash from 0xff880000 to 0xff88ffff
|
|
.. done
|
|
Erased 1 sectors
|
|
=> md ff880000
|
|
ff880000: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880010: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880020: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880030: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=> cp 0 ff880000 10
|
|
Copy to Flash... done
|
|
=> md ff880000 20
|
|
ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
|
|
ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
|
|
ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
|
|
ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
|
|
ff880040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=> erase 1:8
|
|
Erase Flash Sectors 8-8 in Bank # 1
|
|
.. done
|
|
=> md ff880000 20
|
|
ff880000: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880010: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880020: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880030: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=> cp 0 ff880000 10
|
|
Copy to Flash... done
|
|
=> cp 0 ff890000 10
|
|
=> md ff880000 20
|
|
ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
|
|
ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
|
|
ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
|
|
ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
|
|
ff880040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=> md ff890000
|
|
ff890000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
|
|
ff890010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
|
|
ff890020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
|
|
ff890030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
|
|
ff890040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=> erase 1:8-9
|
|
Erase Flash Sectors 8-9 in Bank # 1
|
|
.... done
|
|
=> md ff880000 20
|
|
ff880000: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880010: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880020: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880030: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=> md ff890000
|
|
ff890000: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890010: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890020: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890030: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff890070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=>
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
The following sequence was performed to test the Flash programming commands:
|
|
|
|
------------------------------------------------------------------------------
|
|
=> erase ff880000 ff88ffff
|
|
Erase Flash from 0xff880000 to 0xff88ffff
|
|
.. done
|
|
Erased 1 sectors
|
|
=> cp 0 ff880000 10
|
|
Copy to Flash... done
|
|
=> md 0 20
|
|
00000000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
|
|
00000010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
|
|
00000020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
|
|
00000030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
|
|
00000040: 3c83c000 2c040000 40823378 7c0000a6 <...,...@.3x|...
|
|
00000050: 60000030 7c1b03a6 3c00c000 600035ec `..0|...<...`.5.
|
|
00000060: 7c1a03a6 4c000064 00000000 00000000 |...L..d........
|
|
00000070: 00000000 00000000 00000000 00000000 ................
|
|
=> md ff880000 20
|
|
ff880000: ff000000 60000000 60000000 7c7f1b78 ....`...`...|..x
|
|
ff880010: 7c9e2378 7cbd2b78 7cdc3378 7cfb3b78 |.#x|.+x|.3x|.;x
|
|
ff880020: 3b000000 4811e0f5 48003719 480036a5 ;...H...H.7.H.6.
|
|
ff880030: 480036f9 48003731 48005c5d 7c7a1b78 H.6.H.71H.\]|z.x
|
|
ff880040: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880050: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880060: ffffffff ffffffff ffffffff ffffffff ................
|
|
ff880070: ffffffff ffffffff ffffffff ffffffff ................
|
|
=>
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
The following sequence was performed to test storage of the environment
|
|
variables in Flash:
|
|
|
|
------------------------------------------------------------------------------
|
|
=> setenv foo bar
|
|
=> saveenv
|
|
Un-Protected 1 sectors
|
|
Erasing Flash...
|
|
.. done
|
|
Erased 1 sectors
|
|
Saving Environment to Flash...
|
|
Protected 1 sectors
|
|
=> reset
|
|
...
|
|
=> printenv
|
|
...
|
|
foo=bar
|
|
...
|
|
Environment size: 339/65532 bytes
|
|
=>
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
The following sequence was performed to test image download and run over
|
|
Ethernet interface (both interfaces were tested):
|
|
|
|
------------------------------------------------------------------------------
|
|
=> tftpboot 40000 hello_world.bin
|
|
ARP broadcast 1
|
|
TFTP from server 10.0.0.1; our IP address is 10.0.0.8
|
|
Filename 'hello_world.bin'.
|
|
Load address: 0x40000
|
|
Loading: #############
|
|
done
|
|
Bytes transferred = 65932 (1018c hex)
|
|
=> go 40004
|
|
## Starting application at 0x00040004 ...
|
|
Hello World
|
|
argc = 1
|
|
argv[0] = "40004"
|
|
argv[1] = "<NULL>"
|
|
Hit any key to exit ...
|
|
|
|
## Application terminated, rc = 0x0
|
|
=>
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
3. Known Problems
|
|
|
|
None for the moment.
|
|
|
|
|
|
----------------------------------------------------------------------------
|
|
U-Boot and Linux for Interphase 4539 T1/E1/J1 PMC Communications Controller
|
|
----------------------------------------------------------------------------
|
|
|
|
U-Boot:
|
|
|
|
Configure and make U-Boot:
|
|
|
|
$ cd <path>/u-boot
|
|
$ make IPHASE4539_config
|
|
$ make dep
|
|
$ make
|
|
$ cp -p u-boot.bin /tftpboot
|
|
|
|
Load u-boot.bin into the Flash memory at 0xffb00000.
|
|
|
|
|
|
Linux:
|
|
|
|
Configure and make Linux:
|
|
|
|
$ cd <patch>/linux-2.4
|
|
$ make IPHASE4539_config
|
|
$ make oldconfig
|
|
$ make dep
|
|
$ make uImage
|
|
$ cp -p arch/powerpc/mbxboot/uImage /tftpboot
|
|
|
|
Load uImage via tftp and boot it.
|
|
|
|
|
|
Flash organisation:
|
|
|
|
The following preliminary layout of the Flash memory
|
|
is defined:
|
|
|
|
0xff800000 ( 0 - 64 kB): Hardware Configuration Word.
|
|
0xff810000 ( 64 kB - 128 kB): U-Boot Environment.
|
|
0xff820000 ( 128 kB - 3 MB): RAMdisk.
|
|
0xffb00000 ( 3 MB - 3328 kB): U-Boot.
|
|
0xffb40000 (3328 KB - 4 MB): Linux Kernel.
|
|
|
|
|
|
For further information concerning U-Boot and Linux please consult
|
|
the "DENX U-Boot and Linux Guide".
|
|
|
|
|
|
(C) 2002 Wolfgang Grandegger, DENX Software Engineering, wg@denx.de
|
|
===================================================================
|