============================================================================= 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 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] = "" 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:~ #