xref: /OK3568_Linux_fs/u-boot/board/sbc8349/README (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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