mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-02 09:30:10 +00:00
115 lines
3.2 KiB
Text
115 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>
|