~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/board/freescale/mpc8572ds/README

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Overview
 
2
--------
 
3
MPC8572DS is a high-performance computing, evaluation and development platform
 
4
supporting the mpc8572 PowerTM processor.
 
5
 
 
6
Building U-boot
 
7
-----------
 
8
        make MPC8572DS_config
 
9
        make
 
10
 
 
11
Flash Banks
 
12
-----------
 
13
MPC8572DS board has two flash banks. They are both present on boot, but their
 
14
locations can be swapped using the dip-switch SW9[1:2].
 
15
 
 
16
Booting is always from the boot bank at 0xec00_0000.
 
17
 
 
18
 
 
19
Memory Map
 
20
----------
 
21
 
 
22
0xe800_0000 - 0xebff_ffff       Alternate bank          64MB
 
23
0xec00_0000 - 0xefff_ffff       Boot bank               64MB
 
24
 
 
25
0xebf8_0000 - 0xebff_ffff       Alternate u-boot address        512KB
 
26
0xeff8_0000 - 0xefff_ffff       Boot u-boot address             512KB
 
27
 
 
28
 
 
29
Flashing Images
 
30
---------------
 
31
 
 
32
To place a new u-boot image in the alternate flash bank and then reset with that
 
33
 new image temporarily, use this:
 
34
 
 
35
        tftp 1000000 u-boot.bin
 
36
        erase ebf80000 ebffffff
 
37
        cp.b 1000000 ebf80000 80000
 
38
        pixis_reset altbank
 
39
 
 
40
 
 
41
To program the image in the boot flash bank:
 
42
 
 
43
        tftp 1000000 u-boot.bin
 
44
        protect off all
 
45
        erase eff80000 ffffffff
 
46
        cp.b 1000000 eff80000 80000
 
47
 
 
48
 
 
49
The pixis_reset command
 
50
-----------------------
 
51
The command - "pixis_reset", is introduced to reset mpc8572ds board
 
52
using the FPGA sequencer.  When the board restarts, it has the option
 
53
of using either the current or alternate flash bank as the boot
 
54
image, with or without the watchdog timer enabled, and finally with
 
55
or without frequency changes.
 
56
 
 
57
Usage is;
 
58
 
 
59
        pixis_reset
 
60
        pixis_reset altbank
 
61
        pixis_reset altbank wd
 
62
        pixis_reset altbank cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
 
63
        pixis_reset cf <SYSCLK freq> <COREPLL ratio> <MPXPLL ratio>
 
64
 
 
65
Examples:
 
66
 
 
67
        /* reset to current bank, like "reset" command */
 
68
        pixis_reset
 
69
 
 
70
        /* reset board but use the to alternate flash bank */
 
71
        pixis_reset altbank
 
72
 
 
73
 
 
74
Using the Device Tree Source File
 
75
---------------------------------
 
76
To create the DTB (Device Tree Binary) image file,
 
77
use a command similar to this:
 
78
 
 
79
        dtc -b 0 -f -I dts -O dtb mpc8572ds.dts > mpc8572ds.dtb
 
80
 
 
81
Likely, that .dts file will come from here;
 
82
 
 
83
        linux-2.6/arch/powerpc/boot/dts/mpc8572ds.dts
 
84
 
 
85
 
 
86
Booting Linux
 
87
-------------
 
88
 
 
89
Place a linux uImage in the TFTP disk area.
 
90
 
 
91
        tftp 1000000 uImage.8572
 
92
        tftp c00000 mpc8572ds.dtb
 
93
        bootm 1000000 - c00000
 
94
 
 
95
 
 
96
Implementing AMP(Asymmetric MultiProcessing)
 
97
-------------
 
98
1. Build kernel image for core0:
 
99
 
 
100
        a. $ make 85xx/mpc8572_ds_defconfig
 
101
 
 
102
        b. $ make menuconfig
 
103
           - un-select "Processor support"->"Symetric multi-processing support"
 
104
 
 
105
        c. $ make uImage
 
106
 
 
107
        d. $ cp arch/powerpc/boot/uImage /tftpboot/uImage.core0
 
108
 
 
109
2. Build kernel image for core1:
 
110
 
 
111
        a. $ make 85xx/mpc8572_ds_defconfig
 
112
 
 
113
        b. $ make menuconfig
 
114
           - Un-select "Processor support"->"Symetric multi-processing support"
 
115
           - Select "Advanced setup" -> " Prompt for advanced kernel
 
116
             configuration options"
 
117
                - Select "Set physical address where the kernel is loaded" and
 
118
                  set it to 0x20000000, assuming core1 will start from 512MB.
 
119
                - Select "Set custom page offset address"
 
120
                - Select "Set custom kernel base address"
 
121
                - Select "Set maximum low memory"
 
122
           - "Exit" and save the selection.
 
123
 
 
124
        c. $ make uImage
 
125
 
 
126
        d. $ cp arch/powerpc/boot/uImage /tftpboot/uImage.core1
 
127
 
 
128
3. Create dtb for core0:
 
129
 
 
130
        $ dtc -I dts -O dtb -f -b 0 arch/powerpc/boot/dts/mpc8572ds_core0.dts > /tftpboot/mpc8572ds_core0.dtb
 
131
 
 
132
4. Create dtb for core1:
 
133
 
 
134
        $ dtc -I dts -O dtb -f -b 1 arch/powerpc/boot/dts/mpc8572ds_core1.dts > /tftpboot/mpc8572ds_core1.dtb
 
135
 
 
136
5. Bring up two cores separately:
 
137
 
 
138
        a. Power on the board, under u-boot prompt:
 
139
                => setenv <serverip>
 
140
                => setenv <ipaddr>
 
141
                => setenv bootargs root=/dev/ram rw console=ttyS0,115200
 
142
        b. Bring up core1's kernel first:
 
143
                => setenv bootm_low 0x20000000
 
144
                => setenv bootm_size 0x10000000
 
145
                => tftp 21000000 8572/uImage.core1
 
146
                => tftp 22000000 8572/ramdiskfile
 
147
                => tftp 20c00000 8572/mpc8572ds_core1.dtb
 
148
                => interrupts off
 
149
                => bootm start 21000000 22000000 20c00000
 
150
                => bootm loados
 
151
                => bootm ramdisk
 
152
                => bootm fdt
 
153
                => fdt boardsetup
 
154
                => fdt chosen $initrd_start $initrd_end
 
155
                => bootm prep
 
156
                => cpu 1 release $bootm_low - $fdtaddr -
 
157
        c. Bring up core0's kernel(on the same u-boot console):
 
158
                => setenv bootm_low 0
 
159
                => setenv bootm_size 0x20000000
 
160
                => tftp 1000000 8572/uImage.core0
 
161
                => tftp 2000000 8572/ramdiskfile
 
162
                => tftp c00000 8572/mpc8572ds_core0.dtb
 
163
                => bootm 1000000 2000000 c00000
 
164
 
 
165
Please note only core0 will run u-boot, core1 starts kernel directly after
 
166
"cpu release" command is issued.