| ------------------------------------------------------------------ | 
 | 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> |