123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358 |
- 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
- autoscr - run script from memory
- 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
- 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/ppc/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
- ===================================================================
|