blob: 7fdd26b71b2b8cae334756dc461240873a5ed007 [file] [log] [blame]
Shaohui Xie5d898a02012-08-10 02:49:35 +00001------------------------------------------------------------------
2Freescale PBL(pre-boot loader) Boot Image generation using mkimage
3------------------------------------------------------------------
4
5The CoreNet SoC's can boot directly from eSPI FLASH, SD/MMC and
6NAND, etc. These SoCs use PBL to load RCW and/or pre-initialization
7instructions. For more details refer section 5 Pre-boot loader
8specifications of reference manual P3041RM/P4080RM/P5020RM at link:
9http://www.freescale.com/webapp/search/Serp.jsp?Reference+Manuals
10
11Building PBL Boot Image and boot steps
12--------------------------------------
13
141. Building PBL Boot Image.
15 The default Image is u-boot.pbl.
16
Shaohui Xie262737f2013-09-11 14:48:29 +080017 For eSPI boot(available on P2041/P3041/P4080/P5020/P5040/T4240):
Shaohui Xie5d898a02012-08-10 02:49:35 +000018 To build the eSPI boot image:
Shaohui Xie262737f2013-09-11 14:48:29 +080019 make <board_name>_SPIFLASH
Shaohui Xie5d898a02012-08-10 02:49:35 +000020
Shaohui Xie262737f2013-09-11 14:48:29 +080021 For SD boot(available on P2041/P3041/P4080/P5020/P5040/T4240):
Shaohui Xie5d898a02012-08-10 02:49:35 +000022 To build the SD boot image:
Shaohui Xie262737f2013-09-11 14:48:29 +080023 make <board_name>_SDCARD
Shaohui Xie5d898a02012-08-10 02:49:35 +000024
Shaohui Xie262737f2013-09-11 14:48:29 +080025 For Nand boot(available on P2041/P3041/P5020/P5040):
Shaohui Xie5d898a02012-08-10 02:49:35 +000026 To build the NAND boot image:
Shaohui Xie262737f2013-09-11 14:48:29 +080027 make <board_name>_NAND
Shaohui Xie5d898a02012-08-10 02:49:35 +000028
29
302. pblimage support available with mkimage utility will generate Freescale PBL
31boot image that can be flashed on the board eSPI flash, SD/MMC and NAND.
32Following 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
61Board specific configuration file specifications:
62------------------------------------------------
631. Configuration files rcw.cfg and pbi.cfg must present in the
64board/freescale/corenet_ds/, rcw.cfg is for RCW, pbi.cfg is for
65PBI instructions. File name must not be changed since they are used
66in Makefile.
672. These files can have empty lines and lines starting with "#" as first
68character to put comments
69
70Typical example of rcw.cfg file:
71-----------------------------------
72
73#PBL preamble and RCW header
74aa55aa55 010e0100
75#64 bytes RCW data
764c580000 00000000 18185218 0000cccc
7740464000 3c3c2000 58000000 61000000
7800000000 00000000 00000000 008b6000
7900000000 00000000 00000000 00000000
80
81Typical example of pbi.cfg file:
82-----------------------------------
83
84#PBI commands
85#Initialize CPC1
8609010000 00200400
8709138000 00000000
88091380c0 00000100
8909010100 00000000
9009010104 fff0000b
9109010f00 08000000
9209010000 80000000
93#Configure LAW for CPC1
9409000d00 00000000
9509000d04 fff00000
9609000d08 81000013
9709000010 00000000
9809000014 ff000000
9909000018 81000000
100#Initialize eSPI controller
10109110000 80000403
10209110020 2d170008
10309110024 00100008
10409110028 00100008
1050911002c 00100008
106#Flush PBL data
10709138000 00000000
108091380c0 00000000
109
110------------------------------------------------
111Author: Shaohui Xie<Shaohui.Xie@freescale.com>