u-boot/board/freescale/mpc8569mds
Andy Fleming e76cd5d4cf 8xxx: Change all 8*xx_DDR addresses to 8xxx
There were a number of shared files that were using
CONFIG_SYS_MPC85xx_DDR_ADDR, or CONFIG_SYS_MPC86xx_DDR_ADDR, and
several variants (DDR2, DDR3). A recent patchset added
85xx-specific ones to code which was used by 86xx systems.
After reviewing places where these constants were used, and
noting that the type definitions of the pointers assigned to
point to those addresses were the same, the cleanest approach
to fixing this problem was to unify the namespace for the
85xx, 83xx, and 86xx DDR address definitions.

This patch does:

s/CONFIG_SYS_MPC8.xx_DDR/CONFIG_SYS_MPC8xxx_DDR/g

All 85xx, 86xx, and 83xx have been built with this change.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Tested-by: Andy Fleming <afleming@freescale.com>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
2012-11-27 17:45:17 -06:00
..
bcsr.c powerpc/mpc85xx: sparse fixes 2012-11-04 11:00:36 -07:00
bcsr.h mpc85xx: Configure QE USB for MPC8569E-MDS boards 2009-10-27 10:04:17 -05:00
ddr.c powerpc/8xxx: Refactor fsl_ddr_get_spd into common code from board 2011-04-04 09:24:41 -05:00
law.c powerpc/85xx: Convert MPC8569MDS to use common SRIO init code 2011-01-14 01:32:21 -06:00
Makefile punt unused clean/distclean targets 2011-10-15 22:20:36 +02:00
mpc8569mds.c 8xxx: Change all 8*xx_DDR addresses to 8xxx 2012-11-27 17:45:17 -06:00
README doc: cleanup - move board READMEs into respective board directories 2012-07-29 15:42:02 +02:00
tlb.c mpc8569mds: fix consuming long time while relocating code. 2010-10-07 09:49:47 -05:00

Overview
--------
MPC8569MDS is composed of two boards - PB (Processor Board) and PIB (Platform
I/O Board). The mpc8569 PowerTM processor is mounted on PB board.

Building U-boot
-----------
	make MPC8569MDS_config
	make

Memory Map
----------
0x0000_0000   0x7fff_ffff     DDR                     2G
0xa000_0000   0xbfff_ffff     PCIe MEM                512MB
0xe000_0000   0xe00f_ffff     CCSRBAR                 1M
0xe280_0000   0xe2ff_ffff     PCIe I/O                8M
0xc000_0000   0xdfff_ffff     SRIO                    512MB
0xf000_0000   0xf3ff_ffff     SDRAM                   64MB
0xf800_0000   0xf800_7fff     BCSR                    32KB
0xf800_8000   0xf800_ffff     PIB (CS4)               32KB
0xf801_0000   0xf801_7fff     PIB (CS5)               32KB
0xfe00_0000   0xffff_ffff     Flash                   32MB


Flashing u-boot Images
---------------

Use the following commands to program u-boot image into flash:

	=> tftp 1000000 u-boot.bin
	=> protect off all
	=> erase fff80000 ffffffff
	=> cp.b 1000000 fff80000 80000


Setting the correct MAC addresses
-----------------------
The command - "mac", is introduced to set on-board system EEPROM in the format
defined in board/freescale/common/sys_eeprom.c. we must set all 8 MAC
addresses for the MPC8569MDS's 8 Ethernet ports and save it by "mac save" when
we first get the board. The commands are as follows:
	=> mac i NXID	/* Set NXID to this EEPROM */
	=> mac e 01	/* Set Errata, this value is not defined by hardware
			   designer, we can set whatever we want */
	=> mac n a0	/* Set Serial Number. This is not defined by hardware
			   designer, we can set whatever we want */
	=> mac date 090512080000  /* Set the date in YYMMDDhhmmss format */

	=> mac p 8	/* Set the number of mac ports, it should be 8 */
	=> mac 0 xx:xx:xx:xx:xx:xx  /* xx:xx:xx:xx:xx:xx should be the real mac
				       address, you can refer to the value on
				       the sticker of the rear side of the board
				     */
	.....
	=> mac 7 xx:xx:xx:xx:xx:xx
	=> mac read
	=> mac save

After resetting the board, the ethxaddrs will be filled with the mac addresses
if such environment variables are blank(never been set before). If the ethxaddr
has been set but we want to update it, we can use the following commands:
	=> setenv ethxaddr	/* x = "none",1,2,3,4,5,6,7 */
	=> save
	=> reset


Programming the ucode to flash
---------------------------------
MPC8569 doesn't have ROM in QE, so we must upload the microcode(ucode) to QE's
IRAM so that the QE can work. The ucode binary can be downloaded from
http://opensource.freescale.com/firmware/, and it must be programmed to
the address 0xfff0000 in the flash. Otherwise, the QE can't work and uboot
hangs at "Net:"


Please note the above two steps(setting mac addresses and programming ucode) are
very important to get the board booting up and working properly.