blob: af9dcc1f4fcac0d807880c5357f3c7b768824167 [file] [log] [blame]
Wolfgang Denkadf20a12005-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 Denkc856ccc2005-09-25 02:00:47 +020015Each CM consists of a ARM processor core and associated hardware e.g
Wolfgang Denkadf20a12005-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 Denk03f9ba32005-10-04 23:10:28 +020021CMs may be fitted with varying amounts of SDRAM using a DIMM socket.
Wolfgang Denkadf20a12005-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 Denkc856ccc2005-09-25 02:00:47 +020030In cases a) and b) the ARM boot monitor will have configured the CM and mapped
Wolfgang Denkadf20a12005-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 Denkc856ccc2005-09-25 02:00:47 +020037------------------
Wolfgang Denkadf20a12005-09-25 01:48:28 +020038 The makefile contains targets for Integrator platforms of both types
Bin Mengccd035a2018-11-22 11:26:26 +010039fitted with all current variants of CM.
Wolfgang Denkadf20a12005-09-25 01:48:28 +020040
41 There are also targets independent of CM. These may not be suitable for
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020042boot process c) above. They have been preserved for backward compatibility with
Wolfgang Denkadf20a12005-09-25 01:48:28 +020043existing build processes.
44
45Code Hierarchy Applied :
46----------------------
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020047Code specific to initialization of a particular ARM processor has been placed in
Wolfgang Denkadf20a12005-09-25 01:48:28 +020048cpu/arm<>/start.S so that it may be used by other boards.
49
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020050However, to avoid duplicating code through all processor files, a generic core
Wolfgang Denkadf20a12005-09-25 01:48:28 +020051for ARM Integrator CMs has been added
52
Peter Tyserf7c67372010-04-12 22:28:11 -050053 arch/arm/cpu/arm_intcm
Wolfgang Denkadf20a12005-09-25 01:48:28 +020054
55Otherwise. for example, the standard CM reset via the CM control register would
56need placing in each CM processor file......
57
58Code specific to the initialization of the CM, rather than the cpu, and initialization
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020059of the Integrator board itself, has been placed in
Wolfgang Denkadf20a12005-09-25 01:48:28 +020060
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020061 board/integrator<>/platform.S
Wolfgang Denkadf20a12005-09-25 01:48:28 +020062 board/integrator<>/integrator<>.c
Wolfgang Denk7f88a5e2005-10-06 17:08:18 +020063
64Targets
65=======
66The U-Boot make targets map to the available core modules as below.
67
68Integrator/AP is no longer available from ARM.
69Core modules marked ** are also no longer available.
70
71ap720t_config ** CM720T
72ap920t_config ** CM920T
73ap926ejs_config Integrator Core Module for ARM926EJ-STM
74ap946es_config Integrator Core Module for ARM946E-STM
75cp920t_config ** CM920T
76cp926ejs_config Integrator Core Module for ARM926EJ-STM
77cp946es_config Integrator Core Module for ARM946E-STM
78cp1136_config Integrator Core Module ARM1136JF-S TM
79
80The final groups of targets are for core modules where no explicit cpu
81code has yet been added to U-Boot i.e. they all use the same U-Boot binary
82using the generic "arm_intcm" core:
83
84ap966_config Integrator Core Module for ARM966E-S TM
85ap922_config Integrator Core Module for ARM922T TM with ETM
86ap922_XA10_config Integrator Core Module for ARM922T using Altera Excalibur
Wolfgang Denka1be4762008-05-20 16:00:29 +020087ap7_config ** CM7TDMI
Wolfgang Denk7f88a5e2005-10-06 17:08:18 +020088integratorap_config
89ap_config
90
91
Wolfgang Denka1be4762008-05-20 16:00:29 +020092cp966_config Integrator Core Module for ARM966E-S TM
Wolfgang Denk7f88a5e2005-10-06 17:08:18 +020093cp922_config Integrator Core Module for ARM922T TM with ETM
94cp922_XA10_config Integrator Core Module for ARM922T using Altera Excalibur
95cp1026_config Integrator Core Module ARM1026EJ-S TM
96integratorcp_config
97cp_config
98
99The Makefile targets call board/integrator<>/split_by_variant.sh
100to configure various defines in include/configs/integrator<>.h
101to indicate the core module & core configuration and ensure that
102board/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.
103
104*********************************
105Because of this mechanism
106> make clean
107must be run before each change in configuration
108*********************************