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