=============================================================================

	     U-Boot port on the LEOX's ELPT860 CPU board
	     -------------------------------------------

LEOX.org is about the development of free hardware and software resources
	 for system on chip.

For more information, contact The LEOX team <team@leox.org>

References:
~~~~~~~~~~
    1) Get the last stable release from denx.de:
	   o ftp://ftp.denx.de/pub/u-boot/u-boot-0.2.0.tar.bz2
    2) Get the current CVS snapshot:
	   o cvs -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot login
	   o cvs -z6 -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot co -P u-boot

=============================================================================

The ELPT860 CPU board has the following features:

Processor:	- MPC860T @ 50MHz
		- PowerPC Core
		- 65 MIPS
		- Caches: D->4KB, I->4KB
		- CPM: 4 SCCs, 2 SMCs
		- Ethernet 10/100
		- SPI, I2C, PCMCIA, Parallel

CPU board:	- DRAM:   16 MB
		- FLASH: 512 KB + (2 * 4 MB)
		- NVRAM: 128 KB
		- 1 Serial link
		- 2 Ethernet 10 BaseT Channels

On power-up the processor jumps to the address of 0x02000100

Thus, U-Boot is configured to reside in flash starting at the address of
0x02001000.  The environment space is located in NVRAM separately from
U-Boot, at the address of 0x03000000.

=============================================================================

			U-Boot test results

=============================================================================

##################################################
# Operation on the serial console (SMC1)
##############################

U-Boot 0.2.2 (Jan 19 2003 - 11:08:39)

CPU:   XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present
	 *** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: ### No HW ID - assuming ELPT860
DRAM:  16 MB
FLASH: 512 kB
In:    serial
Out:   serial
Err:   serial
Net:   SCC ETHERNET

Type "run nfsboot" to mount root filesystem over NFS

Hit any key to stop autoboot:  0
LEOX_elpt860: help
askenv  - get environment variables from stdin
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
echo    - echo args to console
erase   - erase FLASH memory
flinfo  - print FLASH memory information
go      - start application at address 'addr'
help    - print online help
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'

##################################################
# Environment Variables (CONFIG_ENV_IS_IN_NVRAM)
##############################

LEOX_elpt860: printenv
bootdelay=5
loads_echo=1
baudrate=9600
stdin=serial
stdout=serial
stderr=serial
ethaddr=00:03:ca:00:64:df
ipaddr=192.168.0.30
netmask=255.255.255.0
serverip=192.168.0.1
nfsserverip=192.168.0.1
preboot=echo;echo Type "run nfsboot" to mount root filesystem over NFS;echo
gatewayip=192.168.0.1
ramargs=setenv bootargs root=/dev/ram rw
rootargs=setenv rootpath /tftp/${ipaddr}
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${nfsserverip}:${rootpath}
addip=setenv bootargs ${bootargs} ip=${ipaddr}:${nfsserverip}:${gatewayip}:${netmask}:${hostname}:eth0:
ramboot=tftp 400000 /home/leox/pMulti;run ramargs;bootm
nfsboot=tftp 400000 /home/leox/uImage;run rootargs;run nfsargs;run addip;bootm
bootcmd=run ramboot
clocks_in_mhz=1

Environment size: 730/16380 bytes

##################################################
# Flash Memory Information
##############################

LEOX_elpt860: flinfo

Bank # 1: AMD AM29F040   (4 Mbits)
  Size: 512 KB in 8 Sectors
  Sector Start Addresses:
    02000000 (RO) 02010000 (RO) 02020000 (RO) 02030000 (RO) 02040000
    02050000      02060000      02070000

##################################################
# Board Information Structure
##############################

LEOX_elpt860: bdinfo
memstart    = 0x00000000
memsize     = 0x01000000
flashstart  = 0x02000000
flashsize   = 0x00080000
flashoffset = 0x00030000
sramstart   = 0x00000000
sramsize    = 0x00000000
immr_base   = 0xFF000000
bootflags   = 0x00000001
intfreq     =     50 MHz
busfreq     =     50 MHz
ethaddr     = 00:03:ca:00:64:df
IP addr     = 192.168.0.30
baudrate    =   9600 bps

##################################################
# Image Download and run over serial port
#    hello_world (S-Record image)
#    ===> 1) Enter "loads" command into U-Boot monitor
#    ===> 2) From TeraTerm's bar menu, Select 'File/Send file...'
#            Then select 'hello_world.srec' with the file browser
##############################

U-Boot 0.2.2 (Jan 19 2003 - 11:08:39)

CPU:   XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present
	 *** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: ### No HW ID - assuming ELPT860
DRAM:  16 MB
FLASH: 512 kB
In:    serial
Out:   serial
Err:   serial
Net:   SCC ETHERNET

Type "run nfsboot" to mount root filesystem over NFS

Hit any key to stop autoboot:  0
LEOX_elpt860: loads
## Ready for S-Record download ...
S804040004F3050154000501709905014C000501388D
## First Load Addr = 0x00040000
## Last  Load Addr = 0x0005018B
## Total Size      = 0x0001018C = 65932 Bytes
## Start Addr      = 0x00040004
LEOX_elpt860: go 40004 This is a test !!!
## Starting application at 0x00040004 ...
Hello World
argc = 6
argv[0] = "40004"
argv[1] = "This"
argv[2] = "is"
argv[3] = "a"
argv[4] = "test"
argv[5] = "!!!"
argv[6] = "<NULL>"
Hit any key to exit ...

## Application terminated, rc = 0x0

##################################################
# Image download and run over ethernet interface
#    Linux-2.4.4 (uImage) + Root filesystem mounted over NFS
##############################

U-Boot 0.2.2 (Jan 19 2003 - 11:08:39)

CPU:   XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present
	 *** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: ### No HW ID - assuming ELPT860
DRAM:  16 MB
FLASH: 512 kB
In:    serial
Out:   serial
Err:   serial
Net:   SCC ETHERNET

Type "run nfsboot" to mount root filesystem over NFS

Hit any key to stop autoboot:  0
LEOX_elpt860: run nfsboot
ARP broadcast 1
TFTP from server 192.168.0.1; our IP address is 192.168.0.30
Filename '/home/leox/uImage'.
Load address: 0x400000
Loading: #################################################################
	 #############################
done
Bytes transferred = 477294 (7486e hex)
## Booting image at 00400000 ...
   Image Name:   Linux-2.4.4
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    477230 Bytes = 466 kB = 0 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Linux version 2.4.4-rthal5 (leox@p5ak6650) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 Wed Jul 3 10:23:53 CEST 2002
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.1:/tftp/192.168.0.30 ip=192.168.0.30:192.168.0.1:192.168.0.1:255.255.255.0::eth0:
rtsched version <20010618.1050.24>
Decrementer Frequency: 3125000
Warning: real time clock seems stuck!
Calibrating delay loop... 49.76 BogoMIPS
Memory: 14720k available (928k kernel code, 384k data, 44k init, 0k highmem)
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd v1.8
CPM UART driver version 0.03
ttyS0 on SMC1 at 0x0280, BRG1
block: queued sectors max/low 9701kB/3233kB, 64 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
eth0: CPM ENET Version 0.2 on SCC1, 00:03:ca:00:64:df
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 192.168.0.1
Looking up port of RPC 100005/2 on 192.168.0.1
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 44k init
INIT: version 2.78 booting
		Welcome to DENX Embedded Linux Environment
		Press 'I' to enter interactive startup.
Mounting proc filesystem:  [  OK  ]
Configuring kernel parameters:  [  OK  ]
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
Setting clock : Wed Dec 31 19:00:11 EST 1969 [  OK  ]
Activating swap partitions:  [  OK  ]
Setting hostname 192.168.0.30:  [  OK  ]
Finding module dependencies:
[  OK  ]
Checking filesystems
Checking all file systems.
[  OK  ]
Mounting local filesystems:  [  OK  ]
Enabling swap space:  [  OK  ]
INIT: Entering runlevel: 3
Entering non-interactive startup
Starting system logger: [  OK  ]
Starting kernel logger: [  OK  ]
Starting xinetd: [  OK  ]

192 login: root
Last login: Wed Dec 31 19:00:41 on ttyS0
bash-2.04#

##################################################
# Image download and run over ethernet interface
#    Linux-2.4.4 + Root filesystem mounted from RAM (pMulti)
##############################

U-Boot 0.2.2 (Jan 19 2003 - 11:08:39)

CPU:   XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present
	 *** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: ### No HW ID - assuming ELPT860
DRAM:  16 MB
FLASH: 512 kB
In:    serial
Out:   serial
Err:   serial
Net:   SCC ETHERNET

Type "run nfsboot" to mount root filesystem over NFS

Hit any key to stop autoboot:  0
LEOX_elpt860: run ramboot
ARP broadcast 1
TFTP from server 192.168.0.1; our IP address is 192.168.0.30
Filename '/home/leox/pMulti'.
Load address: 0x400000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 ########################################################
done
Bytes transferred = 1947816 (1db8a8 hex)
## Booting image at 00400000 ...
   Image Name:   linux-2.4.4-2002-03-21 Multiboot
   Image Type:   PowerPC Linux Multi-File Image (gzip compressed)
   Data Size:    1947752 Bytes = 1902 kB = 1 MB
   Load Address: 00000000
   Entry Point:  00000000
   Contents:
   Image 0:   477230 Bytes = 466 kB = 0 MB
   Image 1:  1470508 Bytes = 1436 kB = 1 MB
   Verifying Checksum ... OK
   Uncompressing Multi-File Image ... OK
   Loading Ramdisk to 00e44000, end 00fab02c ... OK
Linux version 2.4.4-rthal5 (leox@p5ak6650) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 Wed Jul 3 10:23:53 CEST 2002
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram rw
rtsched version <20010618.1050.24>
Decrementer Frequency: 3125000
Warning: real time clock seems stuck!
Calibrating delay loop... 49.76 BogoMIPS
Memory: 13280k available (928k kernel code, 384k data, 44k init, 0k highmem)
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd v1.8
CPM UART driver version 0.03
ttyS0 on SMC1 at 0x0280, BRG1
block: queued sectors max/low 8741kB/2913kB, 64 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
eth0: CPM ENET Version 0.2 on SCC1, 00:03:ca:00:64:df
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 1436k freed
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
IP-Config: Incomplete network configuration information.
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 44k init
init started:  BusyBox v0.60.2 (2002.07.01-12:06+0000) multi-call Configuring hostname
Configuring lo...
Configuring eth0...
Configuring Gateway...

Please press Enter to activate this console.

ELPT860 login: root
Password:
Welcome to Linux-2.4.4 for ELPT CPU board (MPC860T @ 50MHz)

					      a8888b.
					     d888888b.
					     8P"YP"Y88
     _      _                                8|o||o|88
    | |    |_|                               8'    .88
    | |     _ ____  _   _  _  _              8`._.' Y8.
    | |    | |  _ \| | | |\ \/ /            d/      `8b.
    | |___ | | | | | |_| |/    \          .dP   .     Y8b.
    |_____||_|_| |_|\____|\_/\_/         d8:'   "   `::88b.
					d8"           `Y88b
				       :8P     '       :888
					8a.    :      _a88P
				      ._/"Yaa_ :    .| 88P|
				      \    YP"      `| 8P  `.
				      /     \._____.d|    .'
				      `--..__)888888P`._.'
login[21]: root login  on `ttyS0'



BusyBox v0.60.3 (2002.07.20-10:39+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@ELPT860:~ #
