| ------------------------------------------------------------------ |
| 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/<BOARD>/ directory, 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> |