Merge branch 'master' of git://git.denx.de/u-boot-spi
[platform/kernel/u-boot.git] / board / armltd / integrator / README
1
2                 U-Boot for ARM Integrator Development Platforms
3
4                         Peter Pearse, ARM Ltd.
5                         peter.pearse@arm.com
6                              www.arm.com
7
8 Manuals available from :-
9 http://www.arm.com/products/DevTools/Hardware_Platforms.html
10
11 Overview :
12 --------
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
17         SSRAM
18         SDRAM
19         RAM controllers
20         clock generators etc.
21 CMs may be fitted with varying amounts of SDRAM using a DIMM socket.
22
23 Boot Methods :
24 ------------
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.
29
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.
33
34 In case c) it may be necessary for U-Boot to perform CM dependent initialization.
35
36 Configuring U-Boot :
37 ------------------
38         The makefile contains targets for Integrator platforms of both types
39 fitted with all current variants of CM.
40
41         There are also targets independent of CM. These may not be suitable for
42 boot process c) above. They have been preserved for backward compatibility with
43 existing build processes.
44
45 Code Hierarchy Applied :
46 ----------------------
47 Code specific to initialization of a particular ARM processor has been placed in
48 cpu/arm<>/start.S so that it may be used by other boards.
49
50 However, to avoid duplicating code through all processor files, a generic core
51 for ARM Integrator CMs has been added
52
53         arch/arm/cpu/arm_intcm
54
55 Otherwise. for example,  the standard CM reset via the CM control register would
56 need placing in each CM processor file......
57
58 Code specific to the initialization of the CM, rather than the cpu, and initialization
59 of the Integrator board itself, has been placed in
60
61         board/integrator<>/platform.S
62         board/integrator<>/integrator<>.c
63
64 Targets
65 =======
66 The U-Boot make targets map to the available core modules as below.
67
68 Integrator/AP is no longer available from ARM.
69 Core modules marked ** are also no longer available.
70
71 ap720t_config           ** CM720T
72 ap920t_config           ** CM920T
73 ap926ejs_config Integrator Core Module for ARM926EJ-STM
74 ap946es_config          Integrator Core Module for ARM946E-STM
75 cp920t_config           ** CM920T
76 cp926ejs_config Integrator Core Module for ARM926EJ-STM
77 cp946es_config          Integrator Core Module for ARM946E-STM
78 cp1136_config           Integrator Core Module ARM1136JF-S  TM
79
80 The final groups of targets are for core modules where no explicit cpu
81 code has yet been added to U-Boot i.e. they all use the same U-Boot binary
82 using the generic "arm_intcm" core:
83
84 ap966_config                    Integrator Core Module for ARM966E-S TM
85 ap922_config                    Integrator Core Module for ARM922T TM with ETM
86 ap922_XA10_config               Integrator Core Module for ARM922T using Altera Excalibur
87 ap7_config                      ** CM7TDMI
88 integratorap_config
89 ap_config
90
91
92 cp966_config                    Integrator Core Module for ARM966E-S TM
93 cp922_config                    Integrator Core Module for ARM922T TM with ETM
94 cp922_XA10_config               Integrator Core Module for ARM922T using Altera Excalibur
95 cp1026_config                   Integrator Core Module ARM1026EJ-S TM
96 integratorcp_config
97 cp_config
98
99 The Makefile targets call board/integrator<>/split_by_variant.sh
100 to configure various defines in include/configs/integrator<>.h
101 to indicate the core module & core configuration and ensure that
102 board/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.
103
104 *********************************
105 Because of this mechanism
106 > make clean
107 must be run before each change in configuration
108 *********************************