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 => 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. 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 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. Currently u-boot doesn't support booting off the SODIMM in this alternate setting without manually altering BR0/OR0 and BR6/OR6 in the board config file appropriately. 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 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) 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