mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	The more standard 'source' command provides identical functionality to the autoscr command. Environment variable names/values on the MVBC_P, MVBML7, kmeter1, mgcoge, and km8xx boards are updated to no longer refernce 'autoscr'. The 'autoscript' and 'autoscript_uname' environment variables are also removed. Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Acked-by: Andre Schwarz <andre.schwarz@matrix-vision.de> Acked-by: Heiko Schocher <hs@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/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
 | 
						|
===================================================================
 |