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