wdenk | fe8c280 | 2002-11-03 00:38:21 +0000 | [diff] [blame^] | 1 | |
| 2 | U-Boot for MOUSSE/MPC8240 (KAHLUA) |
| 3 | ---------------------------------- |
| 4 | James Dougherty (jfd@broadcom.com), 09/10/01 |
| 5 | |
| 6 | The Broadcom/Vooha Mousse board is a 3U Compact PCI system board |
| 7 | which uses the MPC8240, a 64MB SDRAM SIMM, and has onboard |
| 8 | DEC 21143, NS16550 UART, an SGS M48T59Y TOD, and 4MB FLASH. |
| 9 | See also: http://www.vooha.com/ |
| 10 | |
| 11 | * NVRAM setenv/printenv/savenv supported. |
| 12 | * Date Command |
| 13 | * Serial Console support |
| 14 | * Network support |
| 15 | * FLASH of kernel images is supported. |
| 16 | * FLASH of U-Boot to onboard and PLCC boot region. |
| 17 | * Kernel command line options from NVRAM is supported. |
| 18 | * IP PNP options supported. |
| 19 | |
| 20 | U-Boot Loading... |
| 21 | |
| 22 | |
| 23 | |
| 24 | U-Boot 1.0.5 (Sep 10 2001 - 00:22:25) |
| 25 | |
| 26 | CPU: MPC8240 Revision 1.1 at 198 MHz: 16 kB I-Cache 16 kB D-Cache |
| 27 | Board: MOUSSE MPC8240/KAHLUA - CHRP (MAP B) |
| 28 | Built: Sep 10 2001 at 01:01:50 |
| 29 | MPLD: Revision 127 |
| 30 | Local Bus: 33 MHz |
| 31 | RTC: M48T589 TOD/NVRAM (8176) bytes |
| 32 | Current date/time: 9/10/2001 0:18:52 |
| 33 | DRAM: 64 MB |
| 34 | FLASH: 1.960 MB |
| 35 | PCI: scanning bus0 ... |
| 36 | bus dev fn venID devID class rev MBAR0 MBAR1 IPIN ILINE |
| 37 | 00 00 00 1057 0003 060000 11 00000008 00000000 01 00 |
| 38 | 00 0d 00 1011 0019 020000 41 80000001 80000000 01 01 |
| 39 | 00 0e 00 105a 4d38 018000 01 a0000001 a0001001 01 03 |
| 40 | In: serial |
| 41 | Out: serial |
| 42 | Err: serial |
| 43 | |
| 44 | Hit any key to stop autoboot: 0 |
| 45 | => |
| 46 | |
| 47 | I. Root FileSystem/IP Configuration |
| 48 | |
| 49 | bootcmd=tftp 100000 vmlinux.img;bootm |
| 50 | bootdelay=3 |
| 51 | baudrate=9600 |
| 52 | ipaddr=<IP ADDRESS> |
| 53 | netmask=<NETMASK> |
| 54 | hostname=<NAME> |
| 55 | serverip=<NFS SERVER IP ADDRESS> |
| 56 | ethaddr=00:00:10:20:30:44 |
| 57 | nfsroot=<NFS SERVER IP ADDRESS>:/boot/root-fs |
| 58 | gateway=<IP ADDRESS> |
| 59 | root=/dev/nfs |
| 60 | stdin=serial |
| 61 | stdout=serial |
| 62 | stderr=serial |
| 63 | |
| 64 | NVRAM environment variables. |
| 65 | |
| 66 | use the command: |
| 67 | |
| 68 | setenv <attribute> <value> |
| 69 | |
| 70 | type "saveenv" to write to NVRAM. |
| 71 | |
| 72 | |
| 73 | |
| 74 | II. To boot from a hard drive: |
| 75 | |
| 76 | setenv root /dev/hda1 |
| 77 | |
| 78 | |
| 79 | III. IP options which configure the network: |
| 80 | |
| 81 | ipaddr=<IP ADDRESS OF MACHINE> |
| 82 | netmask=<NETMASK> |
| 83 | hostname=mousse |
| 84 | ethaddr=00:00:10:20:30:44 |
| 85 | gateway=<IP ADDRESS OF GATEWAY/ROUTER> |
| 86 | |
| 87 | |
| 88 | IV. IP Options which configure NFS Root/Boot Support |
| 89 | |
| 90 | root=/dev/nfs |
| 91 | serverip=<NFS SERVER IP ADDRESS> |
| 92 | nfsroot=<NFS SERVER IP ADDRESS>:/boot/root-fs |
| 93 | |
| 94 | V. U-Boot Image Support |
| 95 | |
| 96 | The U-Boot boot loader assumes that after you build |
| 97 | your kernel (vmlinux), you will create a U-Boot image |
| 98 | using the following commands or script: |
| 99 | |
| 100 | #!/bin/csh |
| 101 | /bin/touch vmlinux.img |
| 102 | /bin/rm vmlinux.img |
| 103 | set path=($TOOLBASE/bin $path) |
| 104 | set path=($U_BOOT/tools $path) |
| 105 | powerpc-linux-objcopy -S -O binary vmlinux vmlinux.bin |
| 106 | gzip -vf vmlinux.bin |
| 107 | mkimage -A ppc -O linux -T kernel -C gzip -a 0 -e 0 -n vmlinux.bin.gz -d vmlinux.bin.gz vmlinux.img |
| 108 | ls -l vmlinux.img |
| 109 | |
| 110 | |
| 111 | VI. ONBOARD FLASH Support |
| 112 | |
| 113 | FLASH support is provided for the onboard FLASH chip Bootrom area. |
| 114 | U-Boot is loaded into either the ROM boot region of the FLASH chip, |
| 115 | after first being boot-strapped from a pre-progammed AMD29F040 PLCC |
| 116 | bootrom. The PLCC needs to be programmed with a ROM burner using |
| 117 | AMD 29F040 ROM parts and the u-boot.bin or u-boot.hex (S-Record) |
| 118 | images. |
| 119 | |
| 120 | The PLCC overlays this same region of flash as the onboard FLASH, |
| 121 | the jumper J100 is a chip-select for which flash chip you want to |
| 122 | progam. When jumper J100 is connected to pins 2-3, you boot from |
| 123 | PLCC FLASH. |
| 124 | |
| 125 | To bringup a system, simply flash a flash an AMD29F040 PLCC |
| 126 | bootrom, and put this in the PLCC socket. Move jumper J100 to |
| 127 | pins 2-3 and boot from the PLCC. |
| 128 | |
| 129 | |
| 130 | Now, while the system is running, move Jumper J100 to |
| 131 | pins 1-2 and follow the procedure below to FLASH a bootrom |
| 132 | (u-boot.bin) image into the onboard bootrom region (AMD29LV160DB): |
| 133 | |
| 134 | tftp 100000 u-boot.bin |
| 135 | protect off FFF00000 FFF7FFFF |
| 136 | erase FFF00000 FFF7FFFF |
| 137 | cp.b 100000 FFF00000 \$(filesize)\ |
| 138 | |
| 139 | |
| 140 | Here is an example: |
| 141 | |
| 142 | =>tftp 100000 u-boot.bin |
| 143 | eth_halt |
| 144 | eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0) |
| 145 | DEC Ethernet iobase=0x80000000 |
| 146 | ARP broadcast 1 |
| 147 | Filename 'u-boot.bin'. |
| 148 | Load address: 0x100000 |
| 149 | Loading: ######################### |
| 150 | done |
| 151 | Bytes transferred = 123220 (1e154 hex) |
| 152 | eth_halt |
| 153 | =>protect off FFF00000 FFF7FFFF |
| 154 | Un-Protected 8 sectors |
| 155 | =>erase FFF00000 FFF7FFFF |
| 156 | Erase Flash from 0xfff00000 to 0xfff7ffff |
| 157 | Erase FLASH[PLCC_BOOT] -8 sectors:........ done |
| 158 | Erased 8 sectors |
| 159 | =>cp.b 100000 FFF00000 1e154 |
| 160 | Copy to Flash... FLASH[PLCC_BOOT]:..done |
| 161 | => |
| 162 | |
| 163 | |
| 164 | B. FLASH RAMDISK REGION |
| 165 | |
| 166 | FLASH support is provided for an Onboard 512K RAMDISK region. |
| 167 | |
| 168 | TThe following commands will FLASH a bootrom (u-boot.bin) image |
| 169 | into the onboard FLASH region (AMD29LV160DB 2MB FLASH): |
| 170 | |
| 171 | tftp 100000 u-boot.bin |
| 172 | protect off FFF80000 FFFFFFFF |
| 173 | erase FFF80000 FFFFFFFF |
| 174 | cp.b 100000 FFF80000 \$(filesize)\ |
| 175 | |
| 176 | |
| 177 | |
| 178 | C. FLASH KERNEL REGION (960KB) |
| 179 | |
| 180 | FLASH support is provided for the 960KB onboard FLASH1 segment. |
| 181 | This allows flashing of kernel images which U-Boot can load |
| 182 | and run (standalone) from the onboard FLASH chip. It also assumes |
| 183 | |
| 184 | The following commands will FLASH a kernel image to 0xffe10000 |
| 185 | |
| 186 | tftp 100000 vmlinux.img |
| 187 | protect off FFE10000 FFEFFFFF |
| 188 | erase FFE10000 FFEFFFFF |
| 189 | cp.b 100000 FFE10000 \$(filesize)\ |
| 190 | reset |
| 191 | |
| 192 | Here is an example: |
| 193 | |
| 194 | |
| 195 | =>tftp 100000 vmlinux.img |
| 196 | eth_halt |
| 197 | eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0) |
| 198 | DEC Ethernet iobase=0x80000000 |
| 199 | ARP broadcast 1 |
| 200 | TFTP from server 209.128.93.133; our IP address is 209.128.93.138 |
| 201 | Filename 'vmlinux.img'. |
| 202 | Load address: 0x100000 |
| 203 | Loading: ##################################################################################################################################################### |
| 204 | done |
| 205 | Bytes transferred = 760231 (b99a7 hex) |
| 206 | eth_halt |
| 207 | =>protect off FFE10000 FFEFFFFF |
| 208 | Un-Protected 15 sectors |
| 209 | =>erase FFE10000 FFEFFFFF |
| 210 | Erase Flash from 0xffe10000 to 0xffefffff |
| 211 | Erase FLASH[F0_SA3(KERNEL)] -15 sectors:............... done |
| 212 | Erased 15 sectors |
| 213 | =>cp.b 100000 FFE10000 b99a7 |
| 214 | Copy to Flash... FLASH[F0_SA3(KERNEL)]:............done |
| 215 | => |
| 216 | |
| 217 | |
| 218 | |
| 219 | When finished, use the command: |
| 220 | |
| 221 | bootm ffe10000 |
| 222 | |
| 223 | to start the kernel. |
| 224 | |
| 225 | Finally, to make this the default boot command, use |
| 226 | the following commands: |
| 227 | |
| 228 | setenv bootcmd bootm ffe10000 |
| 229 | savenv |
| 230 | |
| 231 | to make it automatically boot the kernel from FLASH. |
| 232 | |
| 233 | |
| 234 | To go back to development mode (NFS boot) |
| 235 | |
| 236 | setenv bootcmd tftp 100000 vmlinux.img\;bootm |
| 237 | savenv |
| 238 | |
| 239 | |
| 240 | =>tftp 100000 vmlinux.img |
| 241 | eth0: DC21143 Ethernet adapter(bus=0, device=13, func=0) |
| 242 | DEC Ethernet iobase=0x80000000 |
| 243 | ARP broadcast 1 |
| 244 | Filename 'vmlinux.img'. |
| 245 | Load address: 0x100000 |
| 246 | Loading: #################################################################################################################################################### |
| 247 | done |
| 248 | Bytes transferred = 752717 (b7c4d hex) |
| 249 | eth_halt |
| 250 | =>protect off FFE10000 FFEFFFFF |
| 251 | Un-Protected 15 sectors |
| 252 | =>erase FFE10000 FFEFFFFF |
| 253 | Erase Flash from 0xffe10000 to 0xffefffff |
| 254 | Erase FLASH[F0_SA3(KERNEL)] -15 sectors:............... done |
| 255 | Erased 15 sectors |
| 256 | =>cp.b 100000 FFE10000 b7c4d |
| 257 | Copy to Flash... FLASH[F0_SA3(KERNEL)]:............done |
| 258 | =>bootm ffe10000 |
| 259 | ## Booting image at ffe10000 ... |
| 260 | Image Name: vmlinux.bin.gz |
| 261 | Image Type: PowerPC Linux Kernel Image (gzip compressed) |
| 262 | Data Size: 752653 Bytes = 735 kB = 0 MB |
| 263 | Load Address: 00000000 |
| 264 | Entry Point: 00000000 |
| 265 | Verifying Checksum ... OK |
| 266 | Uncompressing Kernel Image ... OK |
| 267 | Total memory = 64MB; using 0kB for hash table (at 00000000) |
| 268 | Linux version 2.4.2_hhl20 (jfd@atlantis) (gcc version 2.95.2 19991024 (release)) #597 Wed Sep 5 23:23:23 PDT 2001 |
| 269 | cpu0: MPC8240/KAHLUA : MOUSSE Platform : 64MB RAM: MPLD Rev. 7f |
| 270 | Sandpoint port (C) 2000, 2001 MontaVista Software, Inc. (source@mvista.com) |
| 271 | IP PNP: 802.3 Ethernet Address=<0:0:10:20:30:44> |
| 272 | NOTICE: mounting root file system via NFS |
| 273 | On node 0 totalpages: 16384 |
| 274 | zone(0): 16384 pages. |
| 275 | zone(1): 0 pages. |
| 276 | zone(2): 0 pages. |
| 277 | time_init: decrementer frequency = 16.665914 MHz |
| 278 | time_init: MPC8240 PCI Bus frequency = 33.331828 MHz |
| 279 | Calibrating delay loop... 133.12 BogoMIPS |
| 280 | Memory: 62436k available (1336k kernel code, 500k data, 88k init, 0k highmem) |
| 281 | Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes) |
| 282 | Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) |
| 283 | Page-cache hash table entries: 16384 (order: 4, 65536 bytes) |
| 284 | Inode-cache hash table entries: 4096 (order: 3, 32768 bytes) |
| 285 | POSIX conformance testing by UNIFIX |
| 286 | PCI: Probing PCI hardware |
| 287 | Linux NET4.0 for Linux 2.4 |
| 288 | Based upon Swansea University Computer Society NET3.039 |
| 289 | Initializing RT netlink socket |
| 290 | Starting kswapd v1.8 |
| 291 | pty: 256 Unix98 ptys configured |
| 292 | block: queued sectors max/low 41394kB/13798kB, 128 slots per queue |
| 293 | Uniform Multi-Platform E-IDE driver Revision: 6.31 |
| 294 | ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx |
| 295 | PDC20262: IDE controller on PCI bus 00 dev 70 |
| 296 | PDC20262: chipset revision 1 |
| 297 | PDC20262: not 100% native mode: will probe irqs later |
| 298 | PDC20262: ROM enabled at 0x000d0000 |
| 299 | PDC20262: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode. |
| 300 | PDC20262: FORCING BURST BIT 0x00 -> 0x01 ACTIVE |
| 301 | PDC20262: irq=3 dev->irq=3 |
| 302 | ide0: BM-DMA at 0xbfff00-0xbfff07, BIOS settings: hda:DMA, hdb:DMA |
| 303 | ide1: BM-DMA at 0xbfff08-0xbfff0f, BIOS settings: hdc:pio, hdd:pio |
| 304 | hda: WDC WD300AB-00BVA0, ATA DISK drive |
| 305 | hdc: SONY CD-RW CRX160E, ATAPI CD/DVD-ROM drive |
| 306 | ide0 at 0xbfff78-0xbfff7f,0xbfff76 on irq 3 |
| 307 | ide1 at 0xbfff68-0xbfff6f,0xbfff66 on irq 3 |
| 308 | hda: 58633344 sectors (30020 MB) w/2048KiB Cache, CHS=58168/16/63, UDMA(66) |
| 309 | hdc: ATAPI 32X CD-ROM CD-R/RW drive, 4096kB Cache |
| 310 | Uniform CD-ROM driver Revision: 3.12 |
| 311 | Partition check: |
| 312 | /dev/ide/host0/bus0/target0/lun0: p1 p2 |
| 313 | hd: unable to get major 3 for hard disk |
| 314 | udf: registering filesystem |
| 315 | loop: loaded (max 8 devices) |
| 316 | Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled |
| 317 | ttyS00 at 0xffe08080 (irq = 4) is a ST16650 |
| 318 | Linux Tulip driver version 0.9.13a (January 20, 2001) |
| 319 | eth0: Digital DS21143 Tulip rev 65 at 0xbfff80, EEPROM not present, 00:00:10:20:30:44, IRQ 1. |
| 320 | eth0: MII transceiver #0 config 3000 status 7829 advertising 01e1. |
| 321 | NET4: Linux TCP/IP 1.0 for NET4.0 |
| 322 | IP Protocols: ICMP, UDP, TCP |
| 323 | IP: routing cache hash table of 512 buckets, 4Kbytes |
| 324 | TCP: Hash tables configured (established 4096 bind 4096) |
| 325 | NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. |
| 326 | devfs: v0.102 (20000622) Richard Gooch (rgooch@atnf.csiro.au) |
| 327 | devfs: boot_options: 0x0 |
| 328 | VFS: Mounted root (nfs filesystem). |
| 329 | Mounted devfs on /dev |
| 330 | Freeing unused kernel memory: 88k init 4k openfirmware |
| 331 | eth0: Setting full-duplex based on MII#0 link partner capability of 45e1. |
| 332 | INIT: version 2.78 booting |
| 333 | INIT: Entering runlevel: 2 |
| 334 | |
| 335 | |
| 336 | Welcome to Linux/PPC |
| 337 | MPC8240/MOUSSE |
| 338 | |
| 339 | |
| 340 | mousse login: root |
| 341 | Password: |
| 342 | PAM_unix[13]: (login) session opened for user root by LOGIN(uid=0) |
| 343 | Last login: Thu Sep 6 00:16:51 2001 on console |
| 344 | |
| 345 | |
| 346 | Welcome to Linux/PPC |
| 347 | MPC8240/MOUSSE |
| 348 | |
| 349 | |
| 350 | mousse# |