xref: /openbmc/u-boot/board/sbc8349/README (revision a187559e)
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