1*702e6014SWolfgang Denk 2*702e6014SWolfgang Denk 3*702e6014SWolfgang Denk U-Boot for Wind River SBC834x Boards 4*702e6014SWolfgang Denk ==================================== 5*702e6014SWolfgang Denk 6*702e6014SWolfgang Denk 7*702e6014SWolfgang DenkThe Wind River SBC834x board is a 6U form factor (not CPCI) reference 8*702e6014SWolfgang Denkdesign that uses the MPC8347E or MPC8349E processor. U-Boot support 9*702e6014SWolfgang Denkfor this board is heavily based on the existing U-Boot support for 10*702e6014SWolfgang DenkFreescale MPC8349 reference boards. 11*702e6014SWolfgang Denk 12*702e6014SWolfgang DenkSupport has been primarily tested on the SBC8349 version of the board, 13*702e6014SWolfgang Denkalthough earlier versions were also tested on the SBC8347. The primary 14*702e6014SWolfgang Denkdifference in the two is the level of PCI functionality. 15*702e6014SWolfgang Denk 16*702e6014SWolfgang Denk http://www.windriver.com/products/OCD/SBC8347E_49E/ 17*702e6014SWolfgang Denk 18*702e6014SWolfgang Denk 19*702e6014SWolfgang DenkFlash Details: 20*702e6014SWolfgang Denk============== 21*702e6014SWolfgang Denk 22*702e6014SWolfgang DenkThe flash type is intel 28F640Jx (4096x16) [one device]. Base address 23*702e6014SWolfgang Denkis 0xFF80_0000 which is also where the Hardware Reset Configuration 24*702e6014SWolfgang DenkWord (HRCW) is stored. Caution should be used to not reset the 25*702e6014SWolfgang Denkboard without having a valid HRCW in place (i.e. erased flash) as 26*702e6014SWolfgang Denkthen a Wind River ICE will be required to restore the HRCW and flash 27*702e6014SWolfgang Denkimage. 28*702e6014SWolfgang Denk 29*702e6014SWolfgang Denk 30*702e6014SWolfgang DenkRestoring a corrupted or missing flash image: 31*702e6014SWolfgang Denk============================================= 32*702e6014SWolfgang Denk 33*702e6014SWolfgang DenkNote that U-boot versions up to and including 2009.06 had essentially 34*702e6014SWolfgang Denktwo copies of u-boot in flash; one at the very beginning, which set 35*702e6014SWolfgang Denkthe HRCW, and one at the very end, which was the image that was run. 36*702e6014SWolfgang DenkAs of this point in time, the two have been combined into just one 37*702e6014SWolfgang Denkat the beginning of flash, which provides both the HRCW, and the image 38*702e6014SWolfgang Denkthat is executed. This frees up the remainder of flash for other uses. 39*702e6014SWolfgang DenkUse of the u-boot command "fli" will indicate what parts are in use. 40*702e6014SWolfgang DenkDetails for storing U-boot to flash using a Wind River ICE can be found 41*702e6014SWolfgang Denkon page 19 of the board manual (request ERG-00328-001). The following 42*702e6014SWolfgang Denkis a summary of that information: 43*702e6014SWolfgang Denk 44*702e6014SWolfgang Denk - Connect ICE and establish connection to it from WorkBench/OCD. 45*702e6014SWolfgang Denk - Ensure you have background mode (BKM) in the OCD terminal window. 46*702e6014SWolfgang Denk - Select the appropriate flash type (listed above) 47*702e6014SWolfgang Denk - Prepare a u-boot image by using the Wind River Convert utility; 48*702e6014SWolfgang Denk by using "Convert and Add file" on the ELF file from your build. 49*702e6014SWolfgang Denk Convert from FF80_0000 to FFFF_FFFF (or to FF83_FFFF if you are 50*702e6014SWolfgang Denk trying to preserve your old environment settings and user flash). 51*702e6014SWolfgang Denk - Set the start address of the erase/flash process to FF80_0000 52*702e6014SWolfgang Denk - Set the target RAM required to 64kB. 53*702e6014SWolfgang Denk - Select sectors for erasing (see note on enviroment below) 54*702e6014SWolfgang Denk - Select Erase and Reprogram. 55*702e6014SWolfgang Denk 56*702e6014SWolfgang DenkNote that some versions of the register files used with Workbench 57*702e6014SWolfgang Denkwould zero some TSEC registers, which inhibits ethernet operation 58*702e6014SWolfgang Denkby u-boot when this register file is played to the target. Using 59*702e6014SWolfgang Denk"INN" in the OCD terminal window instead of "IN" before the "GO" 60*702e6014SWolfgang Denkwill not play the register file, and allow u-boot to use the TSEC 61*702e6014SWolfgang Denkinterface while executed from the ICE "GO" command. 62*702e6014SWolfgang Denk 63*702e6014SWolfgang DenkAlternatively, you can locate the register file which will be named 64*702e6014SWolfgang DenkWRS_SBC8349_PCT00328001.reg or similar) and "REM" out all the lines 65*702e6014SWolfgang Denkbeginning with "SCGA TSEC1" and "SCGA TSEC2". This allows you to 66*702e6014SWolfgang Denkuse all the remaining register file content. 67*702e6014SWolfgang Denk 68*702e6014SWolfgang DenkIf you wish to preserve your prior U-Boot environment settings, 69*702e6014SWolfgang Denkthen convert (and erase to) 0xFF83FFFF instead of 0xFFFFFFFF. 70*702e6014SWolfgang DenkThe size for converting (and erasing) must be at least as large 71*702e6014SWolfgang Denkas u-boot.bin. 72*702e6014SWolfgang Denk 73*702e6014SWolfgang Denk 74*702e6014SWolfgang DenkUpdating U-Boot with U-Boot: 75*702e6014SWolfgang Denk============================ 76*702e6014SWolfgang Denk 77*702e6014SWolfgang DenkThis procedure is very similar to other boards that have u-boot installed. 78*702e6014SWolfgang DenkAssuming that the network has been configured, and that the new u-boot.bin 79*702e6014SWolfgang Denkhas been copied to the TFTP server, the commands are: 80*702e6014SWolfgang Denk 81*702e6014SWolfgang Denk tftp 200000 u-boot.bin 82*702e6014SWolfgang Denk protect off all 83*702e6014SWolfgang Denk erase ff800000 ff83ffff 84*702e6014SWolfgang Denk cp.b 200000 ff800000 40000 85*702e6014SWolfgang Denk protect on all 86*702e6014SWolfgang Denk 87*702e6014SWolfgang DenkYou may wish to do a "md ff800000 20" operation as a prefix and postfix 88*702e6014SWolfgang Denkto the above steps to inspect/compare the HRCW before/after as an extra 89*702e6014SWolfgang Denksafety check before resetting the board upon completion of the reflash. 90*702e6014SWolfgang Denk 91*702e6014SWolfgang DenkPCI: 92*702e6014SWolfgang Denk==== 93*702e6014SWolfgang Denk 94*702e6014SWolfgang DenkThere are three configuration choices: 95*702e6014SWolfgang Denk sbc8349_config 96*702e6014SWolfgang Denk sbc8349_PCI_33_config 97*702e6014SWolfgang Denk sbc8349_PCI_66_config 98*702e6014SWolfgang Denk 99*702e6014SWolfgang DenkThe 1st does not enable CONFIG_PCI, and assumes that the PCI slot 100*702e6014SWolfgang Denkwill be left empty (M66EN high), and so the board will operate with 101*702e6014SWolfgang Denka base clock of 66MHz. Note that you need both PCI enabled in u-boot 102*702e6014SWolfgang Denkand linux in order to have functional PCI under linux. The only 103*702e6014SWolfgang Denkreason for choosing to not enable PCI would be if you had a very 104*702e6014SWolfgang Denkearly (rev 1.0) CPU with possible PCI issues. 105*702e6014SWolfgang Denk 106*702e6014SWolfgang DenkThe second enables PCI support and builds for a 33MHz clock rate. Note 107*702e6014SWolfgang Denkthat if a 33MHz 32bit card is inserted in the slot, then the whole board 108*702e6014SWolfgang Denkwill clock down to a 33MHz base clock instead of the default 66MHz. This 109*702e6014SWolfgang Denkwill change the baud clocks and mess up your serial console output if you 110*702e6014SWolfgang Denkwere previously running at 66MHz. If you want to use a 33MHz PCI card, 111*702e6014SWolfgang Denkthen you should build a U-Boot with sbc8349_PCI_33_config and store this 112*702e6014SWolfgang Denkto flash prior to powering down the board and inserting the 33MHz PCI 113*702e6014SWolfgang Denkcard. 114*702e6014SWolfgang Denk 115*702e6014SWolfgang DenkThe third option builds PCI support in, and leaves the clocking at the 116*702e6014SWolfgang Denkdefault 66MHz. This has been tested with an intel PCI-X e1000 card. 117*702e6014SWolfgang DenkThis is also the appropriate choice for people with a recent (non 1.0) 118*702e6014SWolfgang DenkCPU who currently have the PCI slot physically empty, but intend to 119*702e6014SWolfgang Denkpossibly add a PCI-X card at a later date. 120*702e6014SWolfgang Denk 121*702e6014SWolfgang Denk => pci 122*702e6014SWolfgang Denk Scanning PCI devices on bus 0 123*702e6014SWolfgang Denk BusDevFun VendorId DeviceId Device Class Sub-Class 124*702e6014SWolfgang Denk _____________________________________________________________ 125*702e6014SWolfgang Denk 00.00.00 0x1957 0x0080 Processor 0x20 126*702e6014SWolfgang Denk 00.11.00 0x8086 0x1026 Network controller 0x00 127*702e6014SWolfgang Denk => 128