xref: /openbmc/u-boot/doc/README.pblimage (revision 262737f05aa94b29d24f21d7eae89756c242df8e)
15d898a00SShaohui Xie------------------------------------------------------------------
25d898a00SShaohui XieFreescale PBL(pre-boot loader) Boot Image generation using mkimage
35d898a00SShaohui Xie------------------------------------------------------------------
45d898a00SShaohui Xie
55d898a00SShaohui XieThe CoreNet SoC's can boot directly from eSPI FLASH, SD/MMC and
65d898a00SShaohui XieNAND, etc. These SoCs use PBL to load RCW and/or pre-initialization
75d898a00SShaohui Xieinstructions. For more details refer section 5 Pre-boot loader
85d898a00SShaohui Xiespecifications of reference manual P3041RM/P4080RM/P5020RM at link:
95d898a00SShaohui Xiehttp://www.freescale.com/webapp/search/Serp.jsp?Reference+Manuals
105d898a00SShaohui Xie
115d898a00SShaohui XieBuilding PBL Boot Image and boot steps
125d898a00SShaohui Xie--------------------------------------
135d898a00SShaohui Xie
145d898a00SShaohui Xie1. Building PBL Boot Image.
155d898a00SShaohui Xie   The default Image is u-boot.pbl.
165d898a00SShaohui Xie
17*262737f0SShaohui Xie   For eSPI boot(available on P2041/P3041/P4080/P5020/P5040/T4240):
185d898a00SShaohui Xie	To build the eSPI boot image:
19*262737f0SShaohui Xie	make <board_name>_SPIFLASH
205d898a00SShaohui Xie
21*262737f0SShaohui Xie   For SD boot(available on P2041/P3041/P4080/P5020/P5040/T4240):
225d898a00SShaohui Xie	To build the SD boot image:
23*262737f0SShaohui Xie	make <board_name>_SDCARD
245d898a00SShaohui Xie
25*262737f0SShaohui Xie   For Nand boot(available on P2041/P3041/P5020/P5040):
265d898a00SShaohui Xie	To build the NAND boot image:
27*262737f0SShaohui Xie	make <board_name>_NAND
285d898a00SShaohui Xie
295d898a00SShaohui Xie
305d898a00SShaohui Xie2. pblimage support available with mkimage utility will generate Freescale PBL
315d898a00SShaohui Xieboot image that can be flashed on the board eSPI flash, SD/MMC and NAND.
325d898a00SShaohui XieFollowing steps describe it in detail.
335d898a00SShaohui Xie
345d898a00SShaohui Xie	1). Boot from eSPI flash
355d898a00SShaohui Xie	Write u-boot.pbl to eSPI flash from offset 0x0.
365d898a00SShaohui Xie	for ex in u-boot:
375d898a00SShaohui Xie	=>tftp 100000 u-boot.pbl
385d898a00SShaohui Xie	=>sf probe 0
395d898a00SShaohui Xie	=>sf erase 0 100000
405d898a00SShaohui Xie	=>sf write 100000 0 $filesize
415d898a00SShaohui Xie	Change SW1[1:5] = off off on off on.
425d898a00SShaohui Xie
435d898a00SShaohui Xie	2). Boot from SD/MMC
445d898a00SShaohui Xie	Write u-boot.pbl to SD/MMC from offset 0x1000.
455d898a00SShaohui Xie	for ex in u-boot:
465d898a00SShaohui Xie	=>tftp 100000 u-boot.pbl
475d898a00SShaohui Xie	=>mmcinfo
485d898a00SShaohui Xie	=>mmc write 100000 8 441
495d898a00SShaohui Xie	Change SW1[1:5] = off off on on off.
505d898a00SShaohui Xie
515d898a00SShaohui Xie	3). Boot from Nand
525d898a00SShaohui Xie	Write u-boot.pbl to Nand from offset 0x0.
535d898a00SShaohui Xie	for ex in u-boot:
545d898a00SShaohui Xie	=>tftp 100000 u-boot.pbl
555d898a00SShaohui Xie	=>nand info
565d898a00SShaohui Xie	=>nand erase 0 100000
575d898a00SShaohui Xie	=>nand write 100000 0 $filesize
585d898a00SShaohui Xie	Change SW1[1:5] = off on off off on
595d898a00SShaohui Xie	Change SW7[1:4] = on off off on
605d898a00SShaohui Xie
615d898a00SShaohui XieBoard specific configuration file specifications:
625d898a00SShaohui Xie------------------------------------------------
635d898a00SShaohui Xie1. Configuration files rcw.cfg and pbi.cfg must present in the
645d898a00SShaohui Xieboard/freescale/corenet_ds/, rcw.cfg is for RCW, pbi.cfg is for
655d898a00SShaohui XiePBI instructions. File name must not be changed since they are used
665d898a00SShaohui Xiein Makefile.
675d898a00SShaohui Xie2. These files can have empty lines and lines starting with "#" as first
685d898a00SShaohui Xiecharacter to put comments
695d898a00SShaohui Xie
705d898a00SShaohui XieTypical example of rcw.cfg file:
715d898a00SShaohui Xie-----------------------------------
725d898a00SShaohui Xie
735d898a00SShaohui Xie#PBL preamble and RCW header
745d898a00SShaohui Xieaa55aa55 010e0100
755d898a00SShaohui Xie#64 bytes RCW data
765d898a00SShaohui Xie4c580000 00000000 18185218 0000cccc
775d898a00SShaohui Xie40464000 3c3c2000 58000000 61000000
785d898a00SShaohui Xie00000000 00000000 00000000 008b6000
795d898a00SShaohui Xie00000000 00000000 00000000 00000000
805d898a00SShaohui Xie
815d898a00SShaohui XieTypical example of pbi.cfg file:
825d898a00SShaohui Xie-----------------------------------
835d898a00SShaohui Xie
845d898a00SShaohui Xie#PBI commands
855d898a00SShaohui Xie#Initialize CPC1
865d898a00SShaohui Xie09010000 00200400
875d898a00SShaohui Xie09138000 00000000
885d898a00SShaohui Xie091380c0 00000100
895d898a00SShaohui Xie09010100 00000000
905d898a00SShaohui Xie09010104 fff0000b
915d898a00SShaohui Xie09010f00 08000000
925d898a00SShaohui Xie09010000 80000000
935d898a00SShaohui Xie#Configure LAW for CPC1
945d898a00SShaohui Xie09000d00 00000000
955d898a00SShaohui Xie09000d04 fff00000
965d898a00SShaohui Xie09000d08 81000013
975d898a00SShaohui Xie09000010 00000000
985d898a00SShaohui Xie09000014 ff000000
995d898a00SShaohui Xie09000018 81000000
1005d898a00SShaohui Xie#Initialize eSPI controller
1015d898a00SShaohui Xie09110000 80000403
1025d898a00SShaohui Xie09110020 2d170008
1035d898a00SShaohui Xie09110024 00100008
1045d898a00SShaohui Xie09110028 00100008
1055d898a00SShaohui Xie0911002c 00100008
1065d898a00SShaohui Xie#Flush PBL data
1075d898a00SShaohui Xie09138000 00000000
1085d898a00SShaohui Xie091380c0 00000000
1095d898a00SShaohui Xie
1105d898a00SShaohui Xie------------------------------------------------
1115d898a00SShaohui XieAuthor: Shaohui Xie<Shaohui.Xie@freescale.com>
112