mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 22:52:18 +00:00
5d898a00f3
Provides a tool to build boot Image for PBL(Pre boot loader) which is used on Freescale CoreNet SoCs, PBL can be used to load some instructions and/or data for pre-initialization. The default output image is u-boot.pbl, for more details please refer to doc/README.pblimage. Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
114 lines
3.2 KiB
Text
114 lines
3.2 KiB
Text
------------------------------------------------------------------
|
|
Freescale PBL(pre-boot loader) Boot Image generation using mkimage
|
|
------------------------------------------------------------------
|
|
|
|
The CoreNet SoC's can boot directly from eSPI FLASH, SD/MMC and
|
|
NAND, etc. These SoCs use PBL to load RCW and/or pre-initialization
|
|
instructions. For more details refer section 5 Pre-boot loader
|
|
specifications of reference manual P3041RM/P4080RM/P5020RM at link:
|
|
http://www.freescale.com/webapp/search/Serp.jsp?Reference+Manuals
|
|
|
|
Building PBL Boot Image and boot steps
|
|
--------------------------------------
|
|
|
|
1. Building PBL Boot Image.
|
|
The default Image is u-boot.pbl.
|
|
|
|
For eSPI boot(available on P3041/P4080/P5020):
|
|
To build the eSPI boot image:
|
|
make <board_name>_SPIFLASH_config
|
|
make u-boot.pbl
|
|
|
|
For SD boot(available on P3041/P4080/P5020):
|
|
To build the SD boot image:
|
|
make <board_name>_SDCARD_config
|
|
make u-boot.pbl
|
|
|
|
For Nand boot(available on P3041/P5020):
|
|
To build the NAND boot image:
|
|
make <board_name>_NAND_config
|
|
make u-boot.pbl
|
|
|
|
|
|
2. pblimage support available with mkimage utility will generate Freescale PBL
|
|
boot image that can be flashed on the board eSPI flash, SD/MMC and NAND.
|
|
Following steps describe it in detail.
|
|
|
|
1). Boot from eSPI flash
|
|
Write u-boot.pbl to eSPI flash from offset 0x0.
|
|
for ex in u-boot:
|
|
=>tftp 100000 u-boot.pbl
|
|
=>sf probe 0
|
|
=>sf erase 0 100000
|
|
=>sf write 100000 0 $filesize
|
|
Change SW1[1:5] = off off on off on.
|
|
|
|
2). Boot from SD/MMC
|
|
Write u-boot.pbl to SD/MMC from offset 0x1000.
|
|
for ex in u-boot:
|
|
=>tftp 100000 u-boot.pbl
|
|
=>mmcinfo
|
|
=>mmc write 100000 8 441
|
|
Change SW1[1:5] = off off on on off.
|
|
|
|
3). Boot from Nand
|
|
Write u-boot.pbl to Nand from offset 0x0.
|
|
for ex in u-boot:
|
|
=>tftp 100000 u-boot.pbl
|
|
=>nand info
|
|
=>nand erase 0 100000
|
|
=>nand write 100000 0 $filesize
|
|
Change SW1[1:5] = off on off off on
|
|
Change SW7[1:4] = on off off on
|
|
|
|
Board specific configuration file specifications:
|
|
------------------------------------------------
|
|
1. Configuration files rcw.cfg and pbi.cfg must present in the
|
|
board/freescale/corenet_ds/, rcw.cfg is for RCW, pbi.cfg is for
|
|
PBI instructions. File name must not be changed since they are used
|
|
in Makefile.
|
|
2. These files can have empty lines and lines starting with "#" as first
|
|
character to put comments
|
|
|
|
Typical example of rcw.cfg file:
|
|
-----------------------------------
|
|
|
|
#PBL preamble and RCW header
|
|
aa55aa55 010e0100
|
|
#64 bytes RCW data
|
|
4c580000 00000000 18185218 0000cccc
|
|
40464000 3c3c2000 58000000 61000000
|
|
00000000 00000000 00000000 008b6000
|
|
00000000 00000000 00000000 00000000
|
|
|
|
Typical example of pbi.cfg file:
|
|
-----------------------------------
|
|
|
|
#PBI commands
|
|
#Initialize CPC1
|
|
09010000 00200400
|
|
09138000 00000000
|
|
091380c0 00000100
|
|
09010100 00000000
|
|
09010104 fff0000b
|
|
09010f00 08000000
|
|
09010000 80000000
|
|
#Configure LAW for CPC1
|
|
09000d00 00000000
|
|
09000d04 fff00000
|
|
09000d08 81000013
|
|
09000010 00000000
|
|
09000014 ff000000
|
|
09000018 81000000
|
|
#Initialize eSPI controller
|
|
09110000 80000403
|
|
09110020 2d170008
|
|
09110024 00100008
|
|
09110028 00100008
|
|
0911002c 00100008
|
|
#Flush PBL data
|
|
09138000 00000000
|
|
091380c0 00000000
|
|
|
|
------------------------------------------------
|
|
Author: Shaohui Xie<Shaohui.Xie@freescale.com>
|