mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-22 01:48:52 +09:00
![]() 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> |
||
---|---|---|
.. | ||
bcsr.c | ||
bcsr.h | ||
ddr.c | ||
Kconfig | ||
law.c | ||
MAINTAINERS | ||
Makefile | ||
mpc8569mds.c | ||
README | ||
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.