| 
  
 | 
    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 
 | 
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. 
 | 
  
 | 
  
 | 
Restoring a corrupted or missing flash image: 
 | 
============================================= 
 | 
  
 | 
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. 
 | 
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. 
 | 
    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 
 | 
  - Set the target RAM required to 64kB. 
 | 
  - Select sectors for erasing (see note on environment 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, 
 | 
then convert (and erase to) 0xFF83FFFF instead of 0xFFFFFFFF. 
 | 
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 
 | 
    erase ff800000 ff83ffff 
 | 
    cp.b 200000 ff800000 40000 
 | 
    protect on all 
 | 
  
 | 
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. 
 | 
  
 | 
PCI: 
 | 
==== 
 | 
  
 | 
There are three configuration choices: 
 | 
    sbc8349_config 
 | 
    sbc8349_PCI_33_config 
 | 
    sbc8349_PCI_66_config 
 | 
  
 | 
The 1st does not enable CONFIG_PCI, and assumes that the PCI slot 
 | 
will be left empty (M66EN high), and so the board will operate with 
 | 
a base clock of 66MHz.  Note that you need both PCI enabled in U-Boot 
 | 
and linux in order to have functional PCI under linux.  The only 
 | 
reason for choosing to not enable PCI would be if you had a very 
 | 
early (rev 1.0) CPU with possible PCI issues. 
 | 
  
 | 
The second enables PCI support and builds for a 33MHz clock rate.  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 
 | 
were previously running at 66MHz.  If you want to use a 33MHz PCI card, 
 | 
then you should build a U-Boot with sbc8349_PCI_33_config and store this 
 | 
to flash prior to powering down the board and inserting the 33MHz PCI 
 | 
card. 
 | 
  
 | 
The third option builds PCI support in, and leaves the clocking at the 
 | 
default 66MHz.  This has been tested with an intel PCI-X e1000 card. 
 | 
This is also the appropriate choice for people with a recent (non 1.0) 
 | 
CPU who currently have the PCI slot physically empty, but intend to 
 | 
possibly add a PCI-X card at a later date. 
 | 
  
 | 
   => pci 
 | 
   Scanning PCI devices on bus 0 
 | 
   BusDevFun  VendorId   DeviceId   Device Class       Sub-Class 
 | 
   _____________________________________________________________ 
 | 
   00.00.00   0x1957     0x0080     Processor               0x20 
 | 
   00.11.00   0x8086     0x1026     Network controller      0x00 
 | 
   => 
 |