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