blob: 5a0e9349248a627935a2e5495a0d9ddff98c991e [file] [log] [blame]
Wolfgang Denk74f43042005-09-25 01:48:28 +02001
2 U-Boot for ARM Integrator Development Platforms
3
4 Peter Pearse, ARM Ltd.
5 peter.pearse@arm.com
6 www.arm.com
7
8Manuals available from :-
9http://www.arm.com/products/DevTools/Hardware_Platforms.html
10
11Overview :
12--------
13There are two Integrator variants - Integrator/AP and Integrator/CP.
14Each may be fitted with a variety of core modules (CMs).
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020015Each CM consists of a ARM processor core and associated hardware e.g
Wolfgang Denk74f43042005-09-25 01:48:28 +020016 FPGA implementing various controllers and/or register
17 SSRAM
18 SDRAM
19 RAM controllers
20 clock generators etc.
Wolfgang Denk9b880bd2005-10-04 23:10:28 +020021CMs may be fitted with varying amounts of SDRAM using a DIMM socket.
Wolfgang Denk74f43042005-09-25 01:48:28 +020022
23Boot Methods :
24------------
25Integrator platforms can be configured to use U-Boot in at least three ways :-
26a) Run ARM boot monitor, manually run U-Boot image from flash
27b) Run ARM boot monitor, automatically run U-Boot image from flash
28c) Run U-Boot image direct from flash.
29
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020030In cases a) and b) the ARM boot monitor will have configured the CM and mapped
Wolfgang Denk74f43042005-09-25 01:48:28 +020031writeable memory to 0x00000000 in the Integrator address space.
32U-Boot has to carry out minimal configration before standard code is run.
33
34In case c) it may be necessary for U-Boot to perform CM dependent initialization.
35
36Configuring U-Boot :
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020037------------------
Wolfgang Denk74f43042005-09-25 01:48:28 +020038 The makefile contains targets for Integrator platforms of both types
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020039fitted with all current variants of CM. If these targets are to be used with
40boot process c) above then CONFIG_INIT_CRITICAL may need to be defined to ensure
Wolfgang Denk74f43042005-09-25 01:48:28 +020041that the CM is correctly configured.
42
43 There are also targets independent of CM. These may not be suitable for
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020044boot process c) above. They have been preserved for backward compatibility with
Wolfgang Denk74f43042005-09-25 01:48:28 +020045existing build processes.
46
47Code Hierarchy Applied :
48----------------------
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020049Code specific to initialization of a particular ARM processor has been placed in
Wolfgang Denk74f43042005-09-25 01:48:28 +020050cpu/arm<>/start.S so that it may be used by other boards.
51
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020052However, to avoid duplicating code through all processor files, a generic core
Wolfgang Denk74f43042005-09-25 01:48:28 +020053for ARM Integrator CMs has been added
54
Peter Tyser84ad6882010-04-12 22:28:11 -050055 arch/arm/cpu/arm_intcm
Wolfgang Denk74f43042005-09-25 01:48:28 +020056
57Otherwise. for example, the standard CM reset via the CM control register would
58need placing in each CM processor file......
59
60Code specific to the initialization of the CM, rather than the cpu, and initialization
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020061of the Integrator board itself, has been placed in
Wolfgang Denk74f43042005-09-25 01:48:28 +020062
Wolfgang Denkfe7eb5d2005-09-25 02:00:47 +020063 board/integrator<>/platform.S
Wolfgang Denk74f43042005-09-25 01:48:28 +020064 board/integrator<>/integrator<>.c
Wolfgang Denk87cb6862005-10-06 17:08:18 +020065
66Targets
67=======
68The U-Boot make targets map to the available core modules as below.
69
70Integrator/AP is no longer available from ARM.
71Core modules marked ** are also no longer available.
72
73ap720t_config ** CM720T
74ap920t_config ** CM920T
75ap926ejs_config Integrator Core Module for ARM926EJ-STM
76ap946es_config Integrator Core Module for ARM946E-STM
77cp920t_config ** CM920T
78cp926ejs_config Integrator Core Module for ARM926EJ-STM
79cp946es_config Integrator Core Module for ARM946E-STM
80cp1136_config Integrator Core Module ARM1136JF-S TM
81
82The final groups of targets are for core modules where no explicit cpu
83code has yet been added to U-Boot i.e. they all use the same U-Boot binary
84using the generic "arm_intcm" core:
85
86ap966_config Integrator Core Module for ARM966E-S TM
87ap922_config Integrator Core Module for ARM922T TM with ETM
88ap922_XA10_config Integrator Core Module for ARM922T using Altera Excalibur
Wolfgang Denk53677ef2008-05-20 16:00:29 +020089ap7_config ** CM7TDMI
Wolfgang Denk87cb6862005-10-06 17:08:18 +020090integratorap_config
91ap_config
92
93
Wolfgang Denk53677ef2008-05-20 16:00:29 +020094cp966_config Integrator Core Module for ARM966E-S TM
Wolfgang Denk87cb6862005-10-06 17:08:18 +020095cp922_config Integrator Core Module for ARM922T TM with ETM
96cp922_XA10_config Integrator Core Module for ARM922T using Altera Excalibur
97cp1026_config Integrator Core Module ARM1026EJ-S TM
98integratorcp_config
99cp_config
100
101The Makefile targets call board/integrator<>/split_by_variant.sh
102to configure various defines in include/configs/integrator<>.h
103to indicate the core module & core configuration and ensure that
104board/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.
105
106*********************************
107Because of this mechanism
108> make clean
109must be run before each change in configuration
110*********************************