blob: 58202c14a285762692cee339833c57c7635af1e3 [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
Tom Rini0040ed72022-08-09 10:16:21 -040064board/freescale/<BOARD>/ directory, rcw.cfg is for RCW, pbi.cfg is for
Shaohui Xie5d898a02012-08-10 02:49:35 +000065PBI 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>