2
U-Boot for ARM Integrator Development Platforms
8
Manuals available from :-
9
http://www.arm.com/products/DevTools/Hardware_Platforms.html
13
There are two Integrator variants - Integrator/AP and Integrator/CP.
14
Each may be fitted with a variety of core modules (CMs).
15
Each CM consists of a ARM processor core and associated hardware e.g
16
FPGA implementing various controllers and/or register
21
CMs may be fitted with varying amounts of SDRAM using a DIMM socket.
25
Integrator platforms can be configured to use U-Boot in at least three ways :-
26
a) Run ARM boot monitor, manually run U-Boot image from flash
27
b) Run ARM boot monitor, automatically run U-Boot image from flash
28
c) Run U-Boot image direct from flash.
30
In cases a) and b) the ARM boot monitor will have configured the CM and mapped
31
writeable memory to 0x00000000 in the Integrator address space.
32
U-Boot has to carry out minimal configration before standard code is run.
34
In case c) it may be necessary for U-Boot to perform CM dependent initialization.
38
The makefile contains targets for Integrator platforms of both types
39
fitted with all current variants of CM. If these targets are to be used with
40
boot process c) above then CONFIG_INIT_CRITICAL may need to be defined to ensure
41
that the CM is correctly configured.
43
There are also targets independent of CM. These may not be suitable for
44
boot process c) above. They have been preserved for backward compatibility with
45
existing build processes.
47
Code Hierarchy Applied :
48
----------------------
49
Code specific to initialization of a particular ARM processor has been placed in
50
cpu/arm<>/start.S so that it may be used by other boards.
52
However, to avoid duplicating code through all processor files, a generic core
53
for ARM Integrator CMs has been added
57
Otherwise. for example, the standard CM reset via the CM control register would
58
need placing in each CM processor file......
60
Code specific to the initialization of the CM, rather than the cpu, and initialization
61
of the Integrator board itself, has been placed in
63
board/integrator<>/platform.S
64
board/integrator<>/integrator<>.c
68
The U-Boot make targets map to the available core modules as below.
70
Integrator/AP is no longer available from ARM.
71
Core modules marked ** are also no longer available.
73
ap720t_config ** CM720T
74
ap920t_config ** CM920T
75
ap926ejs_config Integrator Core Module for ARM926EJ-STM
76
ap946es_config Integrator Core Module for ARM946E-STM
77
cp920t_config ** CM920T
78
cp926ejs_config Integrator Core Module for ARM926EJ-STM
79
cp946es_config Integrator Core Module for ARM946E-STM
80
cp1136_config Integrator Core Module ARM1136JF-S TM
82
The final groups of targets are for core modules where no explicit cpu
83
code has yet been added to U-Boot i.e. they all use the same U-Boot binary
84
using the generic "arm_intcm" core:
86
ap966_config Integrator Core Module for ARM966E-S TM
87
ap922_config Integrator Core Module for ARM922T TM with ETM
88
ap922_XA10_config Integrator Core Module for ARM922T using Altera Excalibur
94
cp966_config Integrator Core Module for ARM966E-S TM
95
cp922_config Integrator Core Module for ARM922T TM with ETM
96
cp922_XA10_config Integrator Core Module for ARM922T using Altera Excalibur
97
cp1026_config Integrator Core Module ARM1026EJ-S TM
101
The Makefile targets call board/integrator<>/split_by_variant.sh
102
to configure various defines in include/configs/integrator<>.h
103
to indicate the core module & core configuration and ensure that
104
board/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.
106
*********************************
107
Because of this mechanism
109
must be run before each change in configuration
110
*********************************