u-boot/board/freescale/mpc8569mds
Masahiro Yamada b08c8c4870 libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h>
Thomas reported U-Boot failed to build host tools if libfdt-devel
package is installed because tools include libfdt headers from
/usr/include/ instead of using internal ones.

This commit moves the header code:
  include/libfdt.h         -> include/linux/libfdt.h
  include/libfdt_env.h     -> include/linux/libfdt_env.h

and replaces include directives:
  #include <libfdt.h>      -> #include <linux/libfdt.h>
  #include <libfdt_env.h>  -> #include <linux/libfdt_env.h>

Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-03-05 10:16:28 -05:00
..
bcsr.c
bcsr.h
ddr.c
Kconfig
law.c
MAINTAINERS powerpc: mpc8569mds: Update config and maintainer 2017-06-12 12:18:37 -07:00
Makefile
mpc8569mds.c libfdt: move headers to <linux/libfdt.h> and <linux/libfdt_env.h> 2018-03-05 10:16:28 -05:00
README Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
tlb.c

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.