1 ------------------------------------------------------------------ 2 Freescale PBL(pre-boot loader) Boot Image generation using mkimage 3 ------------------------------------------------------------------ 4 5 The CoreNet SoC's can boot directly from eSPI FLASH, SD/MMC and 6 NAND, etc. These SoCs use PBL to load RCW and/or pre-initialization 7 instructions. For more details refer section 5 Pre-boot loader 8 specifications of reference manual P3041RM/P4080RM/P5020RM at link: 9 http://www.freescale.com/webapp/search/Serp.jsp?Reference+Manuals 10 11 Building PBL Boot Image and boot steps 12 -------------------------------------- 13 14 1. Building PBL Boot Image. 15 The default Image is u-boot.pbl. 16 17 For eSPI boot(available on P2041/P3041/P4080/P5020/P5040/T4240): 18 To build the eSPI boot image: 19 make <board_name>_SPIFLASH 20 21 For SD boot(available on P2041/P3041/P4080/P5020/P5040/T4240): 22 To build the SD boot image: 23 make <board_name>_SDCARD 24 25 For Nand boot(available on P2041/P3041/P5020/P5040): 26 To build the NAND boot image: 27 make <board_name>_NAND 28 29 30 2. pblimage support available with mkimage utility will generate Freescale PBL 31 boot image that can be flashed on the board eSPI flash, SD/MMC and NAND. 32 Following steps describe it in detail. 33 34 1). Boot from eSPI flash 35 Write u-boot.pbl to eSPI flash from offset 0x0. 36 for ex in u-boot: 37 =>tftp 100000 u-boot.pbl 38 =>sf probe 0 39 =>sf erase 0 100000 40 =>sf write 100000 0 $filesize 41 Change SW1[1:5] = off off on off on. 42 43 2). Boot from SD/MMC 44 Write u-boot.pbl to SD/MMC from offset 0x1000. 45 for ex in u-boot: 46 =>tftp 100000 u-boot.pbl 47 =>mmcinfo 48 =>mmc write 100000 8 441 49 Change SW1[1:5] = off off on on off. 50 51 3). Boot from Nand 52 Write u-boot.pbl to Nand from offset 0x0. 53 for ex in u-boot: 54 =>tftp 100000 u-boot.pbl 55 =>nand info 56 =>nand erase 0 100000 57 =>nand write 100000 0 $filesize 58 Change SW1[1:5] = off on off off on 59 Change SW7[1:4] = on off off on 60 61 Board specific configuration file specifications: 62 ------------------------------------------------ 63 1. Configuration files rcw.cfg and pbi.cfg must present in the 64 board/freescale/corenet_ds/, rcw.cfg is for RCW, pbi.cfg is for 65 PBI instructions. File name must not be changed since they are used 66 in Makefile. 67 2. These files can have empty lines and lines starting with "#" as first 68 character to put comments 69 70 Typical example of rcw.cfg file: 71 ----------------------------------- 72 73 #PBL preamble and RCW header 74 aa55aa55 010e0100 75 #64 bytes RCW data 76 4c580000 00000000 18185218 0000cccc 77 40464000 3c3c2000 58000000 61000000 78 00000000 00000000 00000000 008b6000 79 00000000 00000000 00000000 00000000 80 81 Typical example of pbi.cfg file: 82 ----------------------------------- 83 84 #PBI commands 85 #Initialize CPC1 86 09010000 00200400 87 09138000 00000000 88 091380c0 00000100 89 09010100 00000000 90 09010104 fff0000b 91 09010f00 08000000 92 09010000 80000000 93 #Configure LAW for CPC1 94 09000d00 00000000 95 09000d04 fff00000 96 09000d08 81000013 97 09000010 00000000 98 09000014 ff000000 99 09000018 81000000 100 #Initialize eSPI controller 101 09110000 80000403 102 09110020 2d170008 103 09110024 00100008 104 09110028 00100008 105 0911002c 00100008 106 #Flush PBL data 107 09138000 00000000 108 091380c0 00000000 109 110 ------------------------------------------------ 111 Author: Shaohui Xie<Shaohui.Xie (a] freescale.com> 112