Intro:
======

The SBC8548 is a stand alone single board computer with a 1GHz
MPC8548 CPU, 8MB boot flash, 64MB user flash and, 256MB DDR2 400MHz
memory. It also has 128MB SDRAM 100MHz LBC memory, with both a PCI-e,
and a PCI-X slot, dual mini-DB9 for UART, and dual RJ-45 for eTSEC
ethernet connections.

U-boot Configuration:
=====================

The following possible u-boot configuration targets are available:

	1) sbc8548_config
	2) sbc8548_PCI_33_config
	3) sbc8548_PCI_66_config
	4) sbc8548_PCI_33_PCIE_config
	5) sbc8548_PCI_66_PCIE_config

Generally speaking, most people should choose to use #5.  Details
of each choice are listed below.

Choice #1 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 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 a _PCI_33_ config and store this
to flash prior to powering down the board and inserting the 33MHz PCI
card. [The above discussion assumes that the SW2[1-4] has not been changed
to reflect a different CCB:SYSCLK ratio]

The third option builds PCI support in, and leaves the clocking at the
default 66MHz.  Options four and five are just repeats of option two
and three, but with PCI-e support enabled as well.

PCI output listing with an intel e1000 PCI-x and a Syskonnect SK-9Exx
is shown below for sbc8548_PCI_66_PCIE_config.  (Note that PCI-e with
a 33MHz PCI configuration is currently untested.)

    => pci 0
    Scanning PCI devices on bus 0
    BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
    _____________________________________________________________
    00.00.00   0x1057     0x0012     Processor               0x20
    00.01.00   0x8086     0x1026     Network controller      0x00
    => pci 1
    Scanning PCI devices on bus 1
    BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
    _____________________________________________________________
    01.00.00   0x1957     0x0012     Processor               0x20
    => pci 2
    Scanning PCI devices on bus 2
    BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
    _____________________________________________________________
    02.00.00   0x1148     0x9e00     Network controller      0x00
    =>

Memory Size and using SPD:
==========================

The default configuration uses hard coded memory configuration settings
for 256MB of DDR2 @400MHz.  It does not by default use the DDR2 SPD
EEPROM data to read what memory is installed.

There is a hardware errata, which causes the older local bus SDRAM
SPD EEPROM to land at the same address as the DDR2 SPD EEPROM, so
that the SPD data can not be read reliably.  You can test if your
board has the errata fix by running "i2c probe".  If you see 0x53
as a valid device, it has been fixed.  If you only see 0x50, 0x51
then your board does not have the fix.

You can also visually inspect the board to see if this hardware
fix has been applied:

      1) Remove R314 (RES-R0174-033, 1K, 0603). R314 is located on
         the back of the PCB behind the DDR SDRAM SODIMM connector.
      2) Solder RES-R0174-033 (1K, 0603) resistor from R314 pin 2 pad
         to R313 pin 2.  Pin 2 for each resistor is the end of the
         resistor closest to the CPU.

Boards without the mod will have R314 and R313 in parallel, like "||".
After the mod, they will be touching and form an "L" shape.

If you want to upgrade to larger RAM size, you can simply enable
	#define CONFIG_SPD_EEPROM
	#define CONFIG_DDR_SPD
in include/configs/sbc8548.h file.  (The lines are already there
but listed as #undef).

If you did the i2c test, and your board does not have the errata
fix, then you will have to physically remove the LBC 128MB DIMM
from the board's socket to resolve the above i2c address overlap
issue and allow SPD autodetection of RAM to work.


Updating U-boot with U-boot:
============================

Note that versions of u-boot up to and including 2009.08 had u-boot stored
at 0xfff8_0000 -> 0xffff_ffff (512k).  Currently it is being stored from
0xfffa_0000 -> 0xffff_ffff (384k).  If you use an old macro/script to
update u-boot with u-boot and it uses the old address, you will render
your board inoperable, and you will require JTAG recovery.

The following steps list how to update with the current address:

	tftp u-boot.bin
	md 200000 10
	protect off all
	erase fffa0000 ffffffff
	cp.b 200000 fffa0000 60000
	md fffa0000 10
	protect on all

The "md" steps in the above are just a precautionary step that allow
you to confirm the u-boot version that was downloaded, and then confirm
that it was copied to flash.

The above assumes that you are using the default board settings which
have u-boot in the 8MB flash, tied to /CS0.

If you are running the default 8MB /CS0 settings but want to store an
image in the SODIMM that is built with CONFIG_SYS_ALT_BOOT enabled,
(as a backup, etc) then the steps will become:

	tftp u-boot.bin
	md 200000 10
	protect off all
	era eff00000 efffffff
	cp.b 200000 eff00000 100000
	md eff00000 10
	protect on all

Finally, if you are running the alternate 64MB /CS0 settings and want
to update the in-use u-boot image, then (again with CONFIG_SYS_ALT_BOOT
enabled) the steps will become:

	tftp u-boot.bin
	md 200000 10
	protect off all
	era fff00000 ffffffff
	cp.b 200000 fff00000 100000
	md fff00000 10
	protect on all


Hardware Reference:
===================

The following contains some summary information on hardware settings
that are relevant to u-boot, based on the board manual.  For the
most up to date and complete details of the board, please request the
reference manual ERG-00327-001.pdf from www.windriver.com

Boot flash:
	intel V28F640Jx, 8192x8 (one device) at 0xff80_0000

Sodimm flash:
	intel V28F128Jx, 16384x8 (4 devices) at 0xfb80_0000
	Note that this address reflects the default setting for
	the JTAG debugging tools, but since the alignment is
	rather inconvenient, u-boot puts it at 0xec00_0000.


	Jumpers:

Jumper		Name		ON		OFF
----------------------------------------------------------------
JP12		CS0/CS6 swap	see note[*]	see note[*]

JP13		SODIMM flash	write OK	writes disabled
		write prot.

JP14		HRESET/TRST	joined		isolated

JP15		PWR ON		when AC pwr	use S1 for on/off

JP16		Demo LEDs	lit		not lit

JP19		PCI mode	PCI		PCI-X


[*]JP12, when jumpered parallel to the SODIMM, puts the boot flash
onto /CS0 and the SODIMM flash on /CS6 (default).  When JP12
is jumpered parallel to the LBC-SDRAM, then /CS0 is for the
SODIMM flash and /CS6 is for the boot flash.  Note that in this
alternate setting, you also need to switch SW2.8 to ON.
See the setting CONFIG_SYS_ALT_BOOT if you want to use this setting
and boot u-boot from the 64MB SODIMM


	Switches:

The defaults are marked with a *

Name		Desc.			ON		OFF
------------------------------------------------------------------
S1		Pwr toggle		n/a		n/a

SW2.1		CFG_SYS_PLL0		1		0*
SW2.2		CFG_SYS_PLL1		1*		0
SW2.3		CFG_SYS_PLL2		1*		0
SW2.4		CFG_SYS_PLL3		1		0*
SW2.5		CFG_CORE_PLL0		1*		0
SW2.6		CFG_CORE_PLL1		1		0*
SW2.7		CFG_CORE_PLL2		1*		0
SW2.8		CFG_ROM_LOC1		1		0*

SW3.1		CFG_HOST_AGT0		1*		0
SW3.2		CFG_HOST_AGT1		1*		0
SW3.3		CFG_HOST_AGT2		1*		0
SW3.4		CFG_IO_PORTS0		1*		0
SW3.5		CFG_IO_PORTS0		1		0*
SW3.6		CFG_IO_PORTS0		1		0*

SerDes CLK(MHz)		SW5.1		SW5.2
----------------------------------------------
25			0		0
100*			1		0
125			0		1
200			1		1

SerDes CLK spread	SW5.3		SW5.4
----------------------------------------------
+/- 0.25%		0		0
-0.50%			1		0
-0.75%			0		1
No Spread*		1		1

SW4 settings are readable from the EPLD and are currently not used for
any hardware settings (i.e. user configuration switches).

	LEDs:

Name		Desc.			ON		OFF
------------------------------------------------------------------
D13		PCI/PCI-X		PCI-X		PCI
D14		3.3V PWR		3.3V		no power
D15		SYSCLK			66MHz		33MHz


	Default Memory Map:

start		end		CS<n>	width	Desc.
----------------------------------------------------------------------
0000_0000	0fff_ffff	MCS0,1	64	DDR2 (256MB)
f000_0000	f7ff_ffff	CS3,4	32	LB SDRAM (128MB)
f800_0000	f8b0_1fff	CS5	-	EPLD
fb80_0000	ff7f_ffff	CS6	32	SODIMM flash (64MB) [*]
ff80_0000	ffff_ffff	CS0	8	Boot flash (8MB)

[*] fb80 represents the default programmed by WR JTAG register files,
    but u-boot places the flash at either ec00 or fc00 based on JP12.

The EPLD on CS5 demuxes the following devices at the following offsets:

offset		size	width	device
--------------------------------------------------------
0		1fff	8	7 segment display LED
10_0000		1fff	4	user switches
30_0000		1fff	4	HW Rev. register
b0_0000		1fff	8	8kB EEPROM
