2007-01-16 16:38:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
U-Boot for Wind River SBC834x Boards
|
|
|
|
====================================
|
|
|
|
|
|
|
|
|
|
|
|
The Wind River SBC834x board is a 6U form factor (not CPCI) reference
|
|
|
|
design that uses the MPC8347E or MPC8349E processor. U-Boot support
|
|
|
|
for this board is heavily based on the existing U-Boot support for
|
|
|
|
Freescale MPC8349 reference boards.
|
|
|
|
|
|
|
|
Support has been primarily tested on the SBC8349 version of the board,
|
|
|
|
although earlier versions were also tested on the SBC8347. The primary
|
|
|
|
difference in the two is the level of PCI functionality.
|
|
|
|
|
|
|
|
http://www.windriver.com/products/OCD/SBC8347E_49E/
|
|
|
|
|
|
|
|
|
|
|
|
Flash Details:
|
|
|
|
==============
|
|
|
|
|
|
|
|
The flash type is intel 28F640Jx (4096x16) [one device]. Base address
|
|
|
|
is 0xFF80_0000 which is also where the Hardware Reset Configuration
|
2009-07-23 21:10:55 +00:00
|
|
|
Word (HRCW) is stored. Caution should be used to not reset the
|
|
|
|
board without having a valid HRCW in place (i.e. erased flash) as
|
|
|
|
then a Wind River ICE will be required to restore the HRCW and flash
|
|
|
|
image.
|
2007-01-16 16:38:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
Restoring a corrupted or missing flash image:
|
|
|
|
=============================================
|
|
|
|
|
2009-07-23 21:10:55 +00:00
|
|
|
Note that U-boot versions up to and including 2009.06 had essentially
|
|
|
|
two copies of u-boot in flash; one at the very beginning, which set
|
|
|
|
the HRCW, and one at the very end, which was the image that was run.
|
|
|
|
As of this point in time, the two have been combined into just one
|
|
|
|
at the beginning of flash, which provides both the HRCW, and the image
|
|
|
|
that is executed. This frees up the remainder of flash for other uses.
|
|
|
|
Use of the u-boot command "fli" will indicate what parts are in use.
|
2007-01-16 16:38:14 +00:00
|
|
|
Details for storing U-boot to flash using a Wind River ICE can be found
|
|
|
|
on page 19 of the board manual (request ERG-00328-001). The following
|
|
|
|
is a summary of that information:
|
|
|
|
|
|
|
|
- Connect ICE and establish connection to it from WorkBench/OCD.
|
|
|
|
- Ensure you have background mode (BKM) in the OCD terminal window.
|
|
|
|
- Select the appropriate flash type (listed above)
|
|
|
|
- Prepare a u-boot image by using the Wind River Convert utility;
|
|
|
|
by using "Convert and Add file" on the ELF file from your build.
|
2009-07-23 21:10:55 +00:00
|
|
|
Convert from FF80_0000 to FFFF_FFFF (or to FF83_FFFF if you are
|
|
|
|
trying to preserve your old environment settings and user flash).
|
|
|
|
- Set the start address of the erase/flash process to FF80_0000
|
2007-01-16 16:38:14 +00:00
|
|
|
- Set the target RAM required to 64kB.
|
|
|
|
- Select sectors for erasing (see note on enviroment below)
|
|
|
|
- Select Erase and Reprogram.
|
|
|
|
|
|
|
|
Note that some versions of the register files used with Workbench
|
|
|
|
would zero some TSEC registers, which inhibits ethernet operation
|
|
|
|
by u-boot when this register file is played to the target. Using
|
|
|
|
"INN" in the OCD terminal window instead of "IN" before the "GO"
|
|
|
|
will not play the register file, and allow u-boot to use the TSEC
|
|
|
|
interface while executed from the ICE "GO" command.
|
|
|
|
|
|
|
|
Alternatively, you can locate the register file which will be named
|
|
|
|
WRS_SBC8349_PCT00328001.reg or similar) and "REM" out all the lines
|
|
|
|
beginning with "SCGA TSEC1" and "SCGA TSEC2". This allows you to
|
|
|
|
use all the remaining register file content.
|
|
|
|
|
|
|
|
If you wish to preserve your prior U-Boot environment settings,
|
2009-07-23 21:10:55 +00:00
|
|
|
then convert (and erase to) 0xFF83FFFF instead of 0xFFFFFFFF.
|
2007-01-16 16:38:14 +00:00
|
|
|
The size for converting (and erasing) must be at least as large
|
|
|
|
as u-boot.bin.
|
|
|
|
|
|
|
|
|
|
|
|
Updating U-Boot with U-Boot:
|
|
|
|
============================
|
|
|
|
|
|
|
|
This procedure is very similar to other boards that have u-boot installed.
|
|
|
|
Assuming that the network has been configured, and that the new u-boot.bin
|
|
|
|
has been copied to the TFTP server, the commands are:
|
|
|
|
|
|
|
|
tftp 200000 u-boot.bin
|
|
|
|
protect off all
|
2009-07-23 21:10:55 +00:00
|
|
|
erase ff800000 ff83ffff
|
|
|
|
cp.b 200000 ff800000 40000
|
2007-01-16 16:38:14 +00:00
|
|
|
protect on all
|
|
|
|
|
2009-07-23 21:10:55 +00:00
|
|
|
You may wish to do a "md ff800000 20" operation as a prefix and postfix
|
|
|
|
to the above steps to inspect/compare the HRCW before/after as an extra
|
|
|
|
safety check before resetting the board upon completion of the reflash.
|
2007-01-16 16:38:14 +00:00
|
|
|
|
|
|
|
PCI:
|
|
|
|
====
|
|
|
|
|
|
|
|
This board and U-Boot have been tested with PCI built in, on a SBC8349
|
|
|
|
and confirmed that the "pci" command showed the intel e1000 that was
|
|
|
|
present in the PCI slot. Note that if a 33MHz 32bit card is inserted
|
|
|
|
in the slot, then the whole board will clock down to a 33MHz base
|
|
|
|
clock instead of the default 66MHz. This will change the baud clocks
|
|
|
|
and mess up your serial console output. If you want to use a 33MHz PCI
|
|
|
|
card, then you should build a U-Boot with #undef PCI_66M in the
|
|
|
|
include/configs/sbc8349.h and store this to flash prior to powering down
|
|
|
|
the board and inserting the 33MHz PCI card.
|
|
|
|
|
|
|
|
By default PCI support is disabled to better support very early
|
|
|
|
revision MPC834x chips with possible PCI issues. Also PCI support is
|
|
|
|
untested on the sbc8347 variants at this point in time.
|
|
|
|
|
|
|
|
|
|
|
|
Paul Gortmaker, 01/2007
|