112 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
------------------------------------------------------------------
 | 
						|
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 P2041/P3041/P4080/P5020/P5040/T4240):
 | 
						|
	To build the eSPI boot image:
 | 
						|
	make <board_name>_SPIFLASH
 | 
						|
 | 
						|
   For SD boot(available on P2041/P3041/P4080/P5020/P5040/T4240):
 | 
						|
	To build the SD boot image:
 | 
						|
	make <board_name>_SDCARD
 | 
						|
 | 
						|
   For Nand boot(available on P2041/P3041/P5020/P5040):
 | 
						|
	To build the NAND boot image:
 | 
						|
	make <board_name>_NAND
 | 
						|
 | 
						|
 | 
						|
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>
 |