
U-Boot for MOUSSE/MPC8240 (KAHLUA)
----------------------------------
James Dougherty (jfd@broadcom.com), 09/10/01

The Broadcom/Vooha Mousse board is a 3U Compact PCI system board
which uses the MPC8240, a 64MB SDRAM SIMM, and has onboard
DEC 21143, NS16550 UART, an SGS M48T59Y TOD, and 4MB FLASH.
See also: http://www.vooha.com/

* NVRAM setenv/printenv/savenv supported.
* Date Command
* Serial Console support
* Network support
* FLASH of kernel images is supported.
* FLASH of U-Boot to onboard and PLCC boot region.
* Kernel command line options from NVRAM is supported.
* IP PNP options supported.

U-Boot Loading...



U-Boot 1.0.5 (Sep 10 2001 - 00:22:25)

CPU:   MPC8240 Revision 1.1 at 198 MHz: 16 kB I-Cache 16 kB D-Cache
Board: MOUSSE MPC8240/KAHLUA - CHRP (MAP B)
Built: Sep 10 2001 at 01:01:50
MPLD:  Revision 127
Local Bus:  33 MHz
RTC:   M48T589 TOD/NVRAM (8176) bytes
  Current date/time: 9/10/2001 0:18:52
DRAM:  64 MB
FLASH:  1.960 MB
PCI:    scanning bus0 ...
  bus dev fn venID devID class  rev MBAR0    MBAR1    IPIN ILINE
  00  00  00 1057  0003  060000 11  00000008 00000000 01   00
  00  0d  00 1011  0019  020000 41  80000001 80000000 01   01
  00  0e  00 105a  4d38  018000 01  a0000001 a0001001 01   03
In:    serial
Out:   serial
Err:   serial

Hit any key to stop autoboot:  0
=>

I. Root FileSystem/IP Configuration

bootcmd=tftp 100000 vmlinux.img;bootm
bootdelay=3
baudrate=9600
ipaddr=<IP ADDRESS>
netmask=<NETMASK>
hostname=<NAME>
serverip=<NFS SERVER IP ADDRESS>
ethaddr=00:00:10:20:30:44
nfsroot=<NFS SERVER IP ADDRESS>:/boot/root-fs
gateway=<IP ADDRESS>
root=/dev/nfs
stdin=serial
stdout=serial
stderr=serial

NVRAM environment variables.

use the command:

setenv <attribute> <value>

type "saveenv" to write to NVRAM.



II. To boot from a hard drive:

setenv root /dev/hda1


III. IP options which configure the network:

ipaddr=<IP ADDRESS OF MACHINE>
netmask=<NETMASK>
hostname=mousse
ethaddr=00:00:10:20:30:44
gateway=<IP ADDRESS OF GATEWAY/ROUTER>


IV. IP Options which configure NFS Root/Boot Support

root=/dev/nfs
serverip=<NFS SERVER IP ADDRESS>
nfsroot=<NFS SERVER IP ADDRESS>:/boot/root-fs

V. U-Boot Image Support

The U-Boot boot loader assumes that after you build
your kernel (vmlinux), you will create a U-Boot image
using the following commands or script:

#!/bin/csh
/bin/touch vmlinux.img
/bin/rm vmlinux.img
set path=($TOOLBASE/bin $path)
set path=($U_BOOT/tools $path)
powerpc-linux-objcopy -S -O binary vmlinux vmlinux.bin
gzip -vf vmlinux.bin
mkimage -A ppc -O linux -T kernel -C gzip -a 0 -e 0 -n vmlinux.bin.gz -d vmlinux.bin.gz vmlinux.img
ls -l vmlinux.img


VI. ONBOARD FLASH Support

FLASH support is provided for the onboard FLASH chip Bootrom area.
U-Boot is loaded into either the ROM boot region of the FLASH chip,
after first being boot-strapped from a pre-progammed AMD29F040 PLCC
bootrom. The PLCC needs to be programmed with a ROM burner using
AMD 29F040 ROM parts and the u-boot.bin or u-boot.hex (S-Record)
images.

The PLCC overlays this same region of flash as the onboard FLASH,
the jumper J100 is a chip-select for which flash chip you want to
progam. When jumper J100 is connected to pins 2-3, you boot from
PLCC FLASH.

To bringup a system, simply flash a flash an AMD29F040 PLCC
bootrom, and put this in the PLCC socket. Move jumper J100 to
pins 2-3 and boot from the PLCC.


Now, while the system is running, move Jumper J100 to
pins 1-2 and follow the procedure below to FLASH a bootrom
(u-boot.bin) image into the onboard bootrom region (AMD29LV160DB):

tftp 100000 u-boot.bin
protect off FFF00000 FFF7FFFF
erase FFF00000 FFF7FFFF
cp.b 100000 FFF00000 \$(filesize)\


Here is an example:

=>tftp 100000 u-boot.bin
eth_halt
eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0)
DEC Ethernet iobase=0x80000000
ARP broadcast 1
Filename 'u-boot.bin'.
Load address: 0x100000
Loading: #########################
done
Bytes transferred = 123220 (1e154 hex)
eth_halt
=>protect off FFF00000 FFF7FFFF
Un-Protected 8 sectors
=>erase FFF00000 FFF7FFFF
Erase Flash from 0xfff00000 to 0xfff7ffff
Erase FLASH[PLCC_BOOT] -8 sectors:........ done
Erased 8 sectors
=>cp.b 100000 FFF00000 1e154
Copy to Flash... FLASH[PLCC_BOOT]:..done
=>


B. FLASH RAMDISK REGION

FLASH support is provided for an Onboard 512K RAMDISK region.

TThe following commands will FLASH a bootrom (u-boot.bin) image
into the onboard FLASH region (AMD29LV160DB 2MB FLASH):

tftp 100000 u-boot.bin
protect off FFF80000 FFFFFFFF
erase FFF80000 FFFFFFFF
cp.b 100000 FFF80000 \$(filesize)\



C. FLASH KERNEL REGION (960KB)

FLASH support is provided for the 960KB onboard FLASH1 segment.
This allows flashing of kernel images which U-Boot can load
and run (standalone) from the onboard FLASH chip. It also assumes

The following commands will FLASH a kernel image to 0xffe10000

tftp 100000 vmlinux.img
protect off FFE10000 FFEFFFFF
erase FFE10000 FFEFFFFF
cp.b 100000 FFE10000 \$(filesize)\
reset

Here is an example:


=>tftp 100000 vmlinux.img
eth_halt
eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0)
DEC Ethernet iobase=0x80000000
ARP broadcast 1
TFTP from server 209.128.93.133; our IP address is 209.128.93.138
Filename 'vmlinux.img'.
Load address: 0x100000
Loading: #####################################################################################################################################################
done
Bytes transferred = 760231 (b99a7 hex)
eth_halt
=>protect off FFE10000 FFEFFFFF
Un-Protected 15 sectors
=>erase FFE10000 FFEFFFFF
Erase Flash from 0xffe10000 to 0xffefffff
Erase FLASH[F0_SA3(KERNEL)] -15 sectors:............... done
Erased 15 sectors
=>cp.b 100000 FFE10000 b99a7
Copy to Flash... FLASH[F0_SA3(KERNEL)]:............done
=>



When finished, use the command:

bootm ffe10000

to start the kernel.

Finally, to make this the default boot command, use
the following commands:

setenv bootcmd bootm ffe10000
savenv

to make it automatically boot the kernel from FLASH.


To go back to development mode (NFS boot)

setenv bootcmd tftp 100000 vmlinux.img\;bootm
savenv


=>tftp 100000 vmlinux.img
eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0)
DEC Ethernet iobase=0x80000000
ARP broadcast 1
Filename 'vmlinux.img'.
Load address: 0x100000
Loading: ####################################################################################################################################################
done
Bytes transferred = 752717 (b7c4d hex)
eth_halt
=>protect off FFE10000 FFEFFFFF
Un-Protected 15 sectors
=>erase FFE10000 FFEFFFFF
Erase Flash from 0xffe10000 to 0xffefffff
Erase FLASH[F0_SA3(KERNEL)] -15 sectors:............... done
Erased 15 sectors
=>cp.b 100000 FFE10000 b7c4d
Copy to Flash... FLASH[F0_SA3(KERNEL)]:............done
=>bootm ffe10000
## Booting image at ffe10000 ...
   Image Name:   vmlinux.bin.gz
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    752653 Bytes = 735 kB = 0 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
Total memory = 64MB; using 0kB for hash table (at 00000000)
Linux version 2.4.2_hhl20 (jfd@atlantis) (gcc version 2.95.2 19991024 (release)) #597 Wed Sep 5 23:23:23 PDT 2001
cpu0: MPC8240/KAHLUA : MOUSSE Platform : 64MB RAM: MPLD Rev. 7f
Sandpoint port (C) 2000, 2001 MontaVista Software, Inc. (source@mvista.com)
IP PNP: 802.3 Ethernet Address=<0:0:10:20:30:44>
NOTICE: mounting root file system via NFS
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
time_init: decrementer frequency = 16.665914 MHz
time_init: MPC8240 PCI Bus frequency = 33.331828 MHz
Calibrating delay loop... 133.12 BogoMIPS
Memory: 62436k available (1336k kernel code, 500k data, 88k init, 0k highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd v1.8
pty: 256 Unix98 ptys configured
block: queued sectors max/low 41394kB/13798kB, 128 slots per queue
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PDC20262: IDE controller on PCI bus 00 dev 70
PDC20262: chipset revision 1
PDC20262: not 100% native mode: will probe irqs later
PDC20262: ROM enabled at 0x000d0000
PDC20262: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode.
PDC20262: FORCING BURST BIT 0x00 -> 0x01 ACTIVE
PDC20262: irq=3 dev->irq=3
    ide0: BM-DMA at 0xbfff00-0xbfff07, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xbfff08-0xbfff0f, BIOS settings: hdc:pio, hdd:pio
hda: WDC WD300AB-00BVA0, ATA DISK drive
hdc: SONY CD-RW CRX160E, ATAPI CD/DVD-ROM drive
ide0 at 0xbfff78-0xbfff7f,0xbfff76 on irq 3
ide1 at 0xbfff68-0xbfff6f,0xbfff66 on irq 3
hda: 58633344 sectors (30020 MB) w/2048KiB Cache, CHS=58168/16/63, UDMA(66)
hdc: ATAPI 32X CD-ROM CD-R/RW drive, 4096kB Cache
Uniform CD-ROM driver Revision: 3.12
Partition check:
 /dev/ide/host0/bus0/target0/lun0: p1 p2
hd: unable to get major 3 for hard disk
udf: registering filesystem
loop: loaded (max 8 devices)
Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xffe08080 (irq = 4) is a ST16650
Linux Tulip driver version 0.9.13a (January 20, 2001)
eth0: Digital DS21143 Tulip rev 65 at 0xbfff80, EEPROM not present, 00:00:10:20:30:44, IRQ 1.
eth0:  MII transceiver #0 config 3000 status 7829 advertising 01e1.
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 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
devfs: v0.102 (20000622) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
VFS: Mounted root (nfs filesystem).
Mounted devfs on /dev
Freeing unused kernel memory: 88k init 4k openfirmware
eth0: Setting full-duplex based on MII#0 link partner capability of 45e1.
INIT: version 2.78 booting
INIT: Entering runlevel: 2


Welcome to Linux/PPC
MPC8240/MOUSSE


mousse login: root
Password:
PAM_unix[13]: (login) session opened for user root by LOGIN(uid=0)
Last login: Thu Sep  6 00:16:51 2001 on console


Welcome to Linux/PPC
MPC8240/MOUSSE


mousse#
