Merge branch 'master' of git://git.denx.de/u-boot-arm
[platform/kernel/u-boot.git] / doc / README.mpc8536ds
1 Overview:
2 =========
3
4 The MPC8536E integrates a PowerPC processor core with system logic
5 required for imaging, networking, and communications applications.
6
7 Boot from NAND:
8 ===============
9
10 The MPC8536E is capable of booting from NAND flash which uses the image
11 u-boot-nand.bin. This image contains two parts: a first stage image(also
12 call 4K NAND loader and a second stage image. The former is appended to
13 the latter to produce u-boot-nand.bin.
14
15 The bootup process can be divided into two stages: the first stage will
16 configure the L2SRAM, then copy the second stage image to L2SRAM and jump
17 to it. The second stage image is to configure all the hardware and boot up
18 to U-Boot command line.
19
20 The 4K NAND loader's code comes from the corresponding nand_spl directory,
21 along with the code twisted by CONFIG_NAND_SPL. The macro CONFIG_NAND_SPL
22 is mainly used to shrink the code size to the 4K size limitation.
23
24 The macro CONFIG_SYS_RAMBOOT is used to control the code to produce the
25 second stage image. It's set in the board config file when boot from NAND
26 is selected.
27
28 Build and boot steps
29 --------------------
30
31 1. Building image
32         make MPC8536DS_NAND_config
33         make CROSS_COMPILE=powerpc-none-linux-gnuspe- all
34
35 2. Change dip-switch
36         SW2[5-8] = 1011
37         SW9[1-3] = 101
38         Note: 1 stands for 'on', 0 stands for 'off'
39
40 3. Flash image
41         tftp 1000000 u-boot-nand.bin
42         nand erase 0 a0000
43         nand write 1000000 0 a0000
44
45 Boot from On-chip ROM:
46 ======================
47
48 The MPC8536E is capable of booting from the on-chip ROM - boot from eSDHC
49 and boot from eSPI. When power on, the porcessor excutes the ROM code to
50 initialize the eSPI/eSDHC controller, and loads the mian U-Boot image from
51 the memory device that interfaced to the controller, such as the SDCard or
52 SPI EEPROM, to the target memory, e.g. SDRAM or L2SRAM, then boot from it.
53
54 The memory device should contain a specific data structure with control word
55 and config word at the fixed address. The config word direct the process how
56 to config the memory device, and the control word direct the processor where
57 to find the image on the memory device, or where copy the main image to. The
58 user can use any method to store the data structure to the memory device, only
59 if store it on the assigned address.
60
61 Build and boot steps
62 --------------------
63
64 For boot from eSDHC:
65 1. Build image
66         make MPC8536DS_SDCARD_config
67         make CROSS_COMPILE=powerpc-none-linux-gnuspe- all
68
69 2. Change dip-switch
70         SW2[5-8] = 0111
71         SW3[1]   = 0
72         SW8[7]   = 0 - The on-board SD/MMC slot is active
73         SW8[7]   = 1 - The externel SD/MMC slot is active
74
75 3. Put image to SDCard
76         Put the follwing info at the assigned address on the SDCard:
77
78            Offset   |   Data     | Description
79         --------------------------------------------------------
80         | 0x40-0x43 | 0x424F4F54 | BOOT signature              |
81         --------------------------------------------------------
82         | 0x48-0x4B | 0x00080000 | u-boot.bin's size           |
83         --------------------------------------------------------
84         | 0x50-0x53 | 0x???????? | u-boot.bin's Addr on SDCard |
85         --------------------------------------------------------
86         | 0x58-0x5B | 0xF8F80000 | Target Address              |
87         -------------------------------------------------------
88         | 0x60-0x63 | 0xF8FFF000 | Execution Starting Address  |
89         --------------------------------------------------------
90         | 0x68-0x6B | 0x6        | Number of Config Addr/Data  |
91         --------------------------------------------------------
92         | 0x80-0x83 | 0xFF720100 | Config Addr 1               |
93         | 0x84-0x87 | 0xF8F80000 | Config Data 1               |
94         --------------------------------------------------------
95         | 0x88-0x8b | 0xFF720e44 | Config Addr 2               |
96         | 0x8c-0x8f | 0x0000000C | Config Data 2               |
97         --------------------------------------------------------
98         | 0x90-0x93 | 0xFF720000 | Config Addr 3               |
99         | 0x94-0x97 | 0x80010000 | Config Data 3               |
100         --------------------------------------------------------
101         | 0x98-0x9b | 0xFF72e40c | Config Addr 4               |
102         | 0x9c-0x9f | 0x00000040 | Config Data 4               |
103         --------------------------------------------------------
104         | 0xa0-0xa3 | 0x40000001 | Config Addr 5               |
105         | 0xa4-0xa7 | 0x00000100 | Config Data 5               |
106         --------------------------------------------------------
107         | 0xa8-0xab | 0x80000001 | Config Addr 6               |
108         | 0xac-0xaf | 0x80000001 | Config Data 6               |
109         --------------------------------------------------------
110         |              ......                                  |
111         --------------------------------------------------------
112         | 0x???????? | u-boot.bin                              |
113         --------------------------------------------------------
114
115         then insert the SDCard to the active slot to boot up.
116
117 For boot from eSPI:
118 1. Build image
119         make MPC8536DS_SPIFLASH_config
120         make CROSS_COMPILE=powerpc-none-linux-gnuspe- all
121
122 2. Change dip-switch
123         SW2[5-8] = 0110
124
125 3. Put image to SPI flash
126         Put the info in the above table onto the SPI flash, then
127         boot up.