mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-18 16:08:53 +09:00
![Paul Gortmaker](/assets/img/avatar_default.png)
Prior to this commit, to enable PCI, you had to go manually edit the board config header, which isn't really user friendly. This adds the typical PCI make targets to the toplevel Makefile in accordance with what is being done with other boards. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
128 lines
5.3 KiB
Plaintext
128 lines
5.3 KiB
Plaintext
|
|
|
|
U-Boot for Wind River SBC834x Boards
|
|
====================================
|
|
|
|
|
|
The Wind River SBC834x board is a 6U form factor (not CPCI) reference
|
|
design that uses the MPC8347E or MPC8349E processor. U-Boot support
|
|
for this board is heavily based on the existing U-Boot support for
|
|
Freescale MPC8349 reference boards.
|
|
|
|
Support has been primarily tested on the SBC8349 version of the board,
|
|
although earlier versions were also tested on the SBC8347. The primary
|
|
difference in the two is the level of PCI functionality.
|
|
|
|
http://www.windriver.com/products/OCD/SBC8347E_49E/
|
|
|
|
|
|
Flash Details:
|
|
==============
|
|
|
|
The flash type is intel 28F640Jx (4096x16) [one device]. Base address
|
|
is 0xFF80_0000 which is also where the Hardware Reset Configuration
|
|
Word (HRCW) is stored. Caution should be used to not reset the
|
|
board without having a valid HRCW in place (i.e. erased flash) as
|
|
then a Wind River ICE will be required to restore the HRCW and flash
|
|
image.
|
|
|
|
|
|
Restoring a corrupted or missing flash image:
|
|
=============================================
|
|
|
|
Note that U-boot versions up to and including 2009.06 had essentially
|
|
two copies of u-boot in flash; one at the very beginning, which set
|
|
the HRCW, and one at the very end, which was the image that was run.
|
|
As of this point in time, the two have been combined into just one
|
|
at the beginning of flash, which provides both the HRCW, and the image
|
|
that is executed. This frees up the remainder of flash for other uses.
|
|
Use of the u-boot command "fli" will indicate what parts are in use.
|
|
Details for storing U-boot to flash using a Wind River ICE can be found
|
|
on page 19 of the board manual (request ERG-00328-001). The following
|
|
is a summary of that information:
|
|
|
|
- Connect ICE and establish connection to it from WorkBench/OCD.
|
|
- Ensure you have background mode (BKM) in the OCD terminal window.
|
|
- Select the appropriate flash type (listed above)
|
|
- Prepare a u-boot image by using the Wind River Convert utility;
|
|
by using "Convert and Add file" on the ELF file from your build.
|
|
Convert from FF80_0000 to FFFF_FFFF (or to FF83_FFFF if you are
|
|
trying to preserve your old environment settings and user flash).
|
|
- Set the start address of the erase/flash process to FF80_0000
|
|
- Set the target RAM required to 64kB.
|
|
- Select sectors for erasing (see note on enviroment below)
|
|
- Select Erase and Reprogram.
|
|
|
|
Note that some versions of the register files used with Workbench
|
|
would zero some TSEC registers, which inhibits ethernet operation
|
|
by u-boot when this register file is played to the target. Using
|
|
"INN" in the OCD terminal window instead of "IN" before the "GO"
|
|
will not play the register file, and allow u-boot to use the TSEC
|
|
interface while executed from the ICE "GO" command.
|
|
|
|
Alternatively, you can locate the register file which will be named
|
|
WRS_SBC8349_PCT00328001.reg or similar) and "REM" out all the lines
|
|
beginning with "SCGA TSEC1" and "SCGA TSEC2". This allows you to
|
|
use all the remaining register file content.
|
|
|
|
If you wish to preserve your prior U-Boot environment settings,
|
|
then convert (and erase to) 0xFF83FFFF instead of 0xFFFFFFFF.
|
|
The size for converting (and erasing) must be at least as large
|
|
as u-boot.bin.
|
|
|
|
|
|
Updating U-Boot with U-Boot:
|
|
============================
|
|
|
|
This procedure is very similar to other boards that have u-boot installed.
|
|
Assuming that the network has been configured, and that the new u-boot.bin
|
|
has been copied to the TFTP server, the commands are:
|
|
|
|
tftp 200000 u-boot.bin
|
|
protect off all
|
|
erase ff800000 ff83ffff
|
|
cp.b 200000 ff800000 40000
|
|
protect on all
|
|
|
|
You may wish to do a "md ff800000 20" operation as a prefix and postfix
|
|
to the above steps to inspect/compare the HRCW before/after as an extra
|
|
safety check before resetting the board upon completion of the reflash.
|
|
|
|
PCI:
|
|
====
|
|
|
|
There are three configuration choices:
|
|
sbc8349_config
|
|
sbc8349_PCI_33_config
|
|
sbc8349_PCI_66_config
|
|
|
|
The 1st does not enable CONFIG_PCI, and assumes that the PCI slot
|
|
will be left empty (M66EN high), and so the board will operate with
|
|
a base clock of 66MHz. Note that you need both PCI enabled in u-boot
|
|
and linux in order to have functional PCI under linux. The only
|
|
reason for choosing to not enable PCI would be if you had a very
|
|
early (rev 1.0) CPU with possible PCI issues.
|
|
|
|
The second enables PCI support and builds for a 33MHz clock rate. Note
|
|
that if a 33MHz 32bit card is inserted in the slot, then the whole board
|
|
will clock down to a 33MHz base clock instead of the default 66MHz. This
|
|
will change the baud clocks and mess up your serial console output if you
|
|
were previously running at 66MHz. If you want to use a 33MHz PCI card,
|
|
then you should build a U-Boot with sbc8349_PCI_33_config and store this
|
|
to flash prior to powering down the board and inserting the 33MHz PCI
|
|
card.
|
|
|
|
The third option builds PCI support in, and leaves the clocking at the
|
|
default 66MHz. This has been tested with an intel PCI-X e1000 card.
|
|
This is also the appropriate choice for people with a recent (non 1.0)
|
|
CPU who currently have the PCI slot physically empty, but intend to
|
|
possibly add a PCI-X card at a later date.
|
|
|
|
=> pci
|
|
Scanning PCI devices on bus 0
|
|
BusDevFun VendorId DeviceId Device Class Sub-Class
|
|
_____________________________________________________________
|
|
00.00.00 0x1957 0x0080 Processor 0x20
|
|
00.11.00 0x8086 0x1026 Network controller 0x00
|
|
=>
|