|  |  | 
|  |  | 
|  | 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 overwrite the | 
|  | HRCW, or "CF RCW" with a Wind River ICE will be required to restore | 
|  | the HRCW and allow the board to enter background mode for further | 
|  | steps in the flash process. | 
|  |  | 
|  |  | 
|  | Restoring a corrupted or missing flash image: | 
|  | ============================================= | 
|  |  | 
|  | 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 FFF0_0000 to FFFF_FFFF (or to FFF3_FFFF if you are | 
|  | trying to preserve your old environment settings). | 
|  | - Set the start address of the erase/flash process to FFF0_0000 | 
|  | - 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, | 
|  | then convert (and erase to) 0xFFF3FFFF 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 fff00000 fff3ffff | 
|  | cp.b 200000 fff00000 3ffff | 
|  | protect on all | 
|  |  | 
|  |  | 
|  | 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 |