1*5d898a00SShaohui Xie------------------------------------------------------------------ 2*5d898a00SShaohui XieFreescale PBL(pre-boot loader) Boot Image generation using mkimage 3*5d898a00SShaohui Xie------------------------------------------------------------------ 4*5d898a00SShaohui Xie 5*5d898a00SShaohui XieThe CoreNet SoC's can boot directly from eSPI FLASH, SD/MMC and 6*5d898a00SShaohui XieNAND, etc. These SoCs use PBL to load RCW and/or pre-initialization 7*5d898a00SShaohui Xieinstructions. For more details refer section 5 Pre-boot loader 8*5d898a00SShaohui Xiespecifications of reference manual P3041RM/P4080RM/P5020RM at link: 9*5d898a00SShaohui Xiehttp://www.freescale.com/webapp/search/Serp.jsp?Reference+Manuals 10*5d898a00SShaohui Xie 11*5d898a00SShaohui XieBuilding PBL Boot Image and boot steps 12*5d898a00SShaohui Xie-------------------------------------- 13*5d898a00SShaohui Xie 14*5d898a00SShaohui Xie1. Building PBL Boot Image. 15*5d898a00SShaohui Xie The default Image is u-boot.pbl. 16*5d898a00SShaohui Xie 17*5d898a00SShaohui Xie For eSPI boot(available on P3041/P4080/P5020): 18*5d898a00SShaohui Xie To build the eSPI boot image: 19*5d898a00SShaohui Xie make <board_name>_SPIFLASH_config 20*5d898a00SShaohui Xie make u-boot.pbl 21*5d898a00SShaohui Xie 22*5d898a00SShaohui Xie For SD boot(available on P3041/P4080/P5020): 23*5d898a00SShaohui Xie To build the SD boot image: 24*5d898a00SShaohui Xie make <board_name>_SDCARD_config 25*5d898a00SShaohui Xie make u-boot.pbl 26*5d898a00SShaohui Xie 27*5d898a00SShaohui Xie For Nand boot(available on P3041/P5020): 28*5d898a00SShaohui Xie To build the NAND boot image: 29*5d898a00SShaohui Xie make <board_name>_NAND_config 30*5d898a00SShaohui Xie make u-boot.pbl 31*5d898a00SShaohui Xie 32*5d898a00SShaohui Xie 33*5d898a00SShaohui Xie2. pblimage support available with mkimage utility will generate Freescale PBL 34*5d898a00SShaohui Xieboot image that can be flashed on the board eSPI flash, SD/MMC and NAND. 35*5d898a00SShaohui XieFollowing steps describe it in detail. 36*5d898a00SShaohui Xie 37*5d898a00SShaohui Xie 1). Boot from eSPI flash 38*5d898a00SShaohui Xie Write u-boot.pbl to eSPI flash from offset 0x0. 39*5d898a00SShaohui Xie for ex in u-boot: 40*5d898a00SShaohui Xie =>tftp 100000 u-boot.pbl 41*5d898a00SShaohui Xie =>sf probe 0 42*5d898a00SShaohui Xie =>sf erase 0 100000 43*5d898a00SShaohui Xie =>sf write 100000 0 $filesize 44*5d898a00SShaohui Xie Change SW1[1:5] = off off on off on. 45*5d898a00SShaohui Xie 46*5d898a00SShaohui Xie 2). Boot from SD/MMC 47*5d898a00SShaohui Xie Write u-boot.pbl to SD/MMC from offset 0x1000. 48*5d898a00SShaohui Xie for ex in u-boot: 49*5d898a00SShaohui Xie =>tftp 100000 u-boot.pbl 50*5d898a00SShaohui Xie =>mmcinfo 51*5d898a00SShaohui Xie =>mmc write 100000 8 441 52*5d898a00SShaohui Xie Change SW1[1:5] = off off on on off. 53*5d898a00SShaohui Xie 54*5d898a00SShaohui Xie 3). Boot from Nand 55*5d898a00SShaohui Xie Write u-boot.pbl to Nand from offset 0x0. 56*5d898a00SShaohui Xie for ex in u-boot: 57*5d898a00SShaohui Xie =>tftp 100000 u-boot.pbl 58*5d898a00SShaohui Xie =>nand info 59*5d898a00SShaohui Xie =>nand erase 0 100000 60*5d898a00SShaohui Xie =>nand write 100000 0 $filesize 61*5d898a00SShaohui Xie Change SW1[1:5] = off on off off on 62*5d898a00SShaohui Xie Change SW7[1:4] = on off off on 63*5d898a00SShaohui Xie 64*5d898a00SShaohui XieBoard specific configuration file specifications: 65*5d898a00SShaohui Xie------------------------------------------------ 66*5d898a00SShaohui Xie1. Configuration files rcw.cfg and pbi.cfg must present in the 67*5d898a00SShaohui Xieboard/freescale/corenet_ds/, rcw.cfg is for RCW, pbi.cfg is for 68*5d898a00SShaohui XiePBI instructions. File name must not be changed since they are used 69*5d898a00SShaohui Xiein Makefile. 70*5d898a00SShaohui Xie2. These files can have empty lines and lines starting with "#" as first 71*5d898a00SShaohui Xiecharacter to put comments 72*5d898a00SShaohui Xie 73*5d898a00SShaohui XieTypical example of rcw.cfg file: 74*5d898a00SShaohui Xie----------------------------------- 75*5d898a00SShaohui Xie 76*5d898a00SShaohui Xie#PBL preamble and RCW header 77*5d898a00SShaohui Xieaa55aa55 010e0100 78*5d898a00SShaohui Xie#64 bytes RCW data 79*5d898a00SShaohui Xie4c580000 00000000 18185218 0000cccc 80*5d898a00SShaohui Xie40464000 3c3c2000 58000000 61000000 81*5d898a00SShaohui Xie00000000 00000000 00000000 008b6000 82*5d898a00SShaohui Xie00000000 00000000 00000000 00000000 83*5d898a00SShaohui Xie 84*5d898a00SShaohui XieTypical example of pbi.cfg file: 85*5d898a00SShaohui Xie----------------------------------- 86*5d898a00SShaohui Xie 87*5d898a00SShaohui Xie#PBI commands 88*5d898a00SShaohui Xie#Initialize CPC1 89*5d898a00SShaohui Xie09010000 00200400 90*5d898a00SShaohui Xie09138000 00000000 91*5d898a00SShaohui Xie091380c0 00000100 92*5d898a00SShaohui Xie09010100 00000000 93*5d898a00SShaohui Xie09010104 fff0000b 94*5d898a00SShaohui Xie09010f00 08000000 95*5d898a00SShaohui Xie09010000 80000000 96*5d898a00SShaohui Xie#Configure LAW for CPC1 97*5d898a00SShaohui Xie09000d00 00000000 98*5d898a00SShaohui Xie09000d04 fff00000 99*5d898a00SShaohui Xie09000d08 81000013 100*5d898a00SShaohui Xie09000010 00000000 101*5d898a00SShaohui Xie09000014 ff000000 102*5d898a00SShaohui Xie09000018 81000000 103*5d898a00SShaohui Xie#Initialize eSPI controller 104*5d898a00SShaohui Xie09110000 80000403 105*5d898a00SShaohui Xie09110020 2d170008 106*5d898a00SShaohui Xie09110024 00100008 107*5d898a00SShaohui Xie09110028 00100008 108*5d898a00SShaohui Xie0911002c 00100008 109*5d898a00SShaohui Xie#Flush PBL data 110*5d898a00SShaohui Xie09138000 00000000 111*5d898a00SShaohui Xie091380c0 00000000 112*5d898a00SShaohui Xie 113*5d898a00SShaohui Xie------------------------------------------------ 114*5d898a00SShaohui XieAuthor: Shaohui Xie<Shaohui.Xie@freescale.com> 115