1702e6014SWolfgang Denk 2702e6014SWolfgang Denk 3702e6014SWolfgang Denk U-Boot for Wind River SBC834x Boards 4702e6014SWolfgang Denk ==================================== 5702e6014SWolfgang Denk 6702e6014SWolfgang Denk 7702e6014SWolfgang DenkThe Wind River SBC834x board is a 6U form factor (not CPCI) reference 8702e6014SWolfgang Denkdesign that uses the MPC8347E or MPC8349E processor. U-Boot support 9702e6014SWolfgang Denkfor this board is heavily based on the existing U-Boot support for 10702e6014SWolfgang DenkFreescale MPC8349 reference boards. 11702e6014SWolfgang Denk 12702e6014SWolfgang DenkSupport has been primarily tested on the SBC8349 version of the board, 13702e6014SWolfgang Denkalthough earlier versions were also tested on the SBC8347. The primary 14702e6014SWolfgang Denkdifference in the two is the level of PCI functionality. 15702e6014SWolfgang Denk 16702e6014SWolfgang Denk http://www.windriver.com/products/OCD/SBC8347E_49E/ 17702e6014SWolfgang Denk 18702e6014SWolfgang Denk 19702e6014SWolfgang DenkFlash Details: 20702e6014SWolfgang Denk============== 21702e6014SWolfgang Denk 22702e6014SWolfgang DenkThe flash type is intel 28F640Jx (4096x16) [one device]. Base address 23702e6014SWolfgang Denkis 0xFF80_0000 which is also where the Hardware Reset Configuration 24702e6014SWolfgang DenkWord (HRCW) is stored. Caution should be used to not reset the 25702e6014SWolfgang Denkboard without having a valid HRCW in place (i.e. erased flash) as 26702e6014SWolfgang Denkthen a Wind River ICE will be required to restore the HRCW and flash 27702e6014SWolfgang Denkimage. 28702e6014SWolfgang Denk 29702e6014SWolfgang Denk 30702e6014SWolfgang DenkRestoring a corrupted or missing flash image: 31702e6014SWolfgang Denk============================================= 32702e6014SWolfgang Denk 33*a187559eSBin MengNote that U-Boot versions up to and including 2009.06 had essentially 34*a187559eSBin Mengtwo copies of U-Boot in flash; one at the very beginning, which set 35702e6014SWolfgang Denkthe HRCW, and one at the very end, which was the image that was run. 36702e6014SWolfgang DenkAs of this point in time, the two have been combined into just one 37702e6014SWolfgang Denkat the beginning of flash, which provides both the HRCW, and the image 38702e6014SWolfgang Denkthat is executed. This frees up the remainder of flash for other uses. 39*a187559eSBin MengUse of the U-Boot command "fli" will indicate what parts are in use. 40*a187559eSBin MengDetails for storing U-Boot to flash using a Wind River ICE can be found 41702e6014SWolfgang Denkon page 19 of the board manual (request ERG-00328-001). The following 42702e6014SWolfgang Denkis a summary of that information: 43702e6014SWolfgang Denk 44702e6014SWolfgang Denk - Connect ICE and establish connection to it from WorkBench/OCD. 45702e6014SWolfgang Denk - Ensure you have background mode (BKM) in the OCD terminal window. 46702e6014SWolfgang Denk - Select the appropriate flash type (listed above) 47*a187559eSBin Meng - Prepare a U-Boot image by using the Wind River Convert utility; 48702e6014SWolfgang Denk by using "Convert and Add file" on the ELF file from your build. 49702e6014SWolfgang Denk Convert from FF80_0000 to FFFF_FFFF (or to FF83_FFFF if you are 50702e6014SWolfgang Denk trying to preserve your old environment settings and user flash). 51702e6014SWolfgang Denk - Set the start address of the erase/flash process to FF80_0000 52702e6014SWolfgang Denk - Set the target RAM required to 64kB. 531bce2aebSRobert P. J. Day - Select sectors for erasing (see note on environment below) 54702e6014SWolfgang Denk - Select Erase and Reprogram. 55702e6014SWolfgang Denk 56702e6014SWolfgang DenkNote that some versions of the register files used with Workbench 57702e6014SWolfgang Denkwould zero some TSEC registers, which inhibits ethernet operation 58*a187559eSBin Mengby U-Boot when this register file is played to the target. Using 59702e6014SWolfgang Denk"INN" in the OCD terminal window instead of "IN" before the "GO" 60*a187559eSBin Mengwill not play the register file, and allow U-Boot to use the TSEC 61702e6014SWolfgang Denkinterface while executed from the ICE "GO" command. 62702e6014SWolfgang Denk 63702e6014SWolfgang DenkAlternatively, you can locate the register file which will be named 64702e6014SWolfgang DenkWRS_SBC8349_PCT00328001.reg or similar) and "REM" out all the lines 65702e6014SWolfgang Denkbeginning with "SCGA TSEC1" and "SCGA TSEC2". This allows you to 66702e6014SWolfgang Denkuse all the remaining register file content. 67702e6014SWolfgang Denk 68702e6014SWolfgang DenkIf you wish to preserve your prior U-Boot environment settings, 69702e6014SWolfgang Denkthen convert (and erase to) 0xFF83FFFF instead of 0xFFFFFFFF. 70702e6014SWolfgang DenkThe size for converting (and erasing) must be at least as large 71702e6014SWolfgang Denkas u-boot.bin. 72702e6014SWolfgang Denk 73702e6014SWolfgang Denk 74702e6014SWolfgang DenkUpdating U-Boot with U-Boot: 75702e6014SWolfgang Denk============================ 76702e6014SWolfgang Denk 77*a187559eSBin MengThis procedure is very similar to other boards that have U-Boot installed. 78702e6014SWolfgang DenkAssuming that the network has been configured, and that the new u-boot.bin 79702e6014SWolfgang Denkhas been copied to the TFTP server, the commands are: 80702e6014SWolfgang Denk 81702e6014SWolfgang Denk tftp 200000 u-boot.bin 82702e6014SWolfgang Denk protect off all 83702e6014SWolfgang Denk erase ff800000 ff83ffff 84702e6014SWolfgang Denk cp.b 200000 ff800000 40000 85702e6014SWolfgang Denk protect on all 86702e6014SWolfgang Denk 87702e6014SWolfgang DenkYou may wish to do a "md ff800000 20" operation as a prefix and postfix 88702e6014SWolfgang Denkto the above steps to inspect/compare the HRCW before/after as an extra 89702e6014SWolfgang Denksafety check before resetting the board upon completion of the reflash. 90702e6014SWolfgang Denk 91702e6014SWolfgang DenkPCI: 92702e6014SWolfgang Denk==== 93702e6014SWolfgang Denk 94702e6014SWolfgang DenkThere are three configuration choices: 95702e6014SWolfgang Denk sbc8349_config 96702e6014SWolfgang Denk sbc8349_PCI_33_config 97702e6014SWolfgang Denk sbc8349_PCI_66_config 98702e6014SWolfgang Denk 99702e6014SWolfgang DenkThe 1st does not enable CONFIG_PCI, and assumes that the PCI slot 100702e6014SWolfgang Denkwill be left empty (M66EN high), and so the board will operate with 101*a187559eSBin Menga base clock of 66MHz. Note that you need both PCI enabled in U-Boot 102702e6014SWolfgang Denkand linux in order to have functional PCI under linux. The only 103702e6014SWolfgang Denkreason for choosing to not enable PCI would be if you had a very 104702e6014SWolfgang Denkearly (rev 1.0) CPU with possible PCI issues. 105702e6014SWolfgang Denk 106702e6014SWolfgang DenkThe second enables PCI support and builds for a 33MHz clock rate. Note 107702e6014SWolfgang Denkthat if a 33MHz 32bit card is inserted in the slot, then the whole board 108702e6014SWolfgang Denkwill clock down to a 33MHz base clock instead of the default 66MHz. This 109702e6014SWolfgang Denkwill change the baud clocks and mess up your serial console output if you 110702e6014SWolfgang Denkwere previously running at 66MHz. If you want to use a 33MHz PCI card, 111702e6014SWolfgang Denkthen you should build a U-Boot with sbc8349_PCI_33_config and store this 112702e6014SWolfgang Denkto flash prior to powering down the board and inserting the 33MHz PCI 113702e6014SWolfgang Denkcard. 114702e6014SWolfgang Denk 115702e6014SWolfgang DenkThe third option builds PCI support in, and leaves the clocking at the 116702e6014SWolfgang Denkdefault 66MHz. This has been tested with an intel PCI-X e1000 card. 117702e6014SWolfgang DenkThis is also the appropriate choice for people with a recent (non 1.0) 118702e6014SWolfgang DenkCPU who currently have the PCI slot physically empty, but intend to 119702e6014SWolfgang Denkpossibly add a PCI-X card at a later date. 120702e6014SWolfgang Denk 121702e6014SWolfgang Denk => pci 122702e6014SWolfgang Denk Scanning PCI devices on bus 0 123702e6014SWolfgang Denk BusDevFun VendorId DeviceId Device Class Sub-Class 124702e6014SWolfgang Denk _____________________________________________________________ 125702e6014SWolfgang Denk 00.00.00 0x1957 0x0080 Processor 0x20 126702e6014SWolfgang Denk 00.11.00 0x8086 0x1026 Network controller 0x00 127702e6014SWolfgang Denk => 128