| |
| |
| 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 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) 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: |
| ==== |
| |
| 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 |