u-boot/board/freescale/mpc8569mds
Simon Glass e895a4b06f fdt: Allow ft_board_setup() to report failure
This function can fail if the device tree runs out of space. Rather than
silently booting with an incomplete device tree, allow the failure to be
detected.

Unfortunately this involves changing a lot of places in the code. I have
not changed behvaiour to return an error where one is not currently
returned, to avoid unexpected breakage.

Eventually it would be nice to allow boards to register functions to be
called to update the device tree. This would avoid all the many functions
to do this. However it's not clear yet if this should be done using driver
model or with a linker list. This work is left for later.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Anatolij Gustschin <agust@denx.de>
2014-11-21 04:43:15 +01:00
..
Kconfig kconfig: remove redundant "string" type in arch and board Kconfigs 2014-09-13 16:43:55 -04:00
MAINTAINERS MAINTAINERS: comment out blank M: field 2014-09-24 18:30:28 -04:00
Makefile board: powerpc: convert makefiles to Kbuild style 2013-11-01 11:42:12 -04:00
README doc: cleanup - move board READMEs into respective board directories 2012-07-29 15:42:02 +02:00
bcsr.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
bcsr.h Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
ddr.c Driver/DDR: Moving Freescale DDR driver to a common driver 2013-11-25 11:43:43 -08:00
law.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mpc8569mds.c fdt: Allow ft_board_setup() to report failure 2014-11-21 04:43:15 +01:00
tlb.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00

README

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.