blob: c435c8875925b77900adccca7305413126189a2d [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.
21
22Boot Methods :
23------------
24Integrator platforms can be configured to use U-Boot in at least three ways :-
25a) Run ARM boot monitor, manually run U-Boot image from flash
26b) Run ARM boot monitor, automatically run U-Boot image from flash
27c) Run U-Boot image direct from flash.
28
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020029In cases a) and b) the ARM boot monitor will have configured the CM and mapped
Wolfgang Denkadf20a12005-09-25 01:48:28 +020030writeable memory to 0x00000000 in the Integrator address space.
31U-Boot has to carry out minimal configration before standard code is run.
32
33In case c) it may be necessary for U-Boot to perform CM dependent initialization.
34
35Configuring U-Boot :
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020036------------------
Wolfgang Denkadf20a12005-09-25 01:48:28 +020037 The makefile contains targets for Integrator platforms of both types
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020038fitted with all current variants of CM. If these targets are to be used with
39boot process c) above then CONFIG_INIT_CRITICAL may need to be defined to ensure
Wolfgang Denkadf20a12005-09-25 01:48:28 +020040that the CM is correctly configured.
41
42 There are also targets independent of CM. These may not be suitable for
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020043boot process c) above. They have been preserved for backward compatibility with
Wolfgang Denkadf20a12005-09-25 01:48:28 +020044existing build processes.
45
46Code Hierarchy Applied :
47----------------------
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020048Code specific to initialization of a particular ARM processor has been placed in
Wolfgang Denkadf20a12005-09-25 01:48:28 +020049cpu/arm<>/start.S so that it may be used by other boards.
50
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020051However, to avoid duplicating code through all processor files, a generic core
Wolfgang Denkadf20a12005-09-25 01:48:28 +020052for ARM Integrator CMs has been added
53
54 cpu/arm_intcm
55
56Otherwise. for example, the standard CM reset via the CM control register would
57need placing in each CM processor file......
58
59Code specific to the initialization of the CM, rather than the cpu, and initialization
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020060of the Integrator board itself, has been placed in
Wolfgang Denkadf20a12005-09-25 01:48:28 +020061
Wolfgang Denkc856ccc2005-09-25 02:00:47 +020062 board/integrator<>/platform.S
Wolfgang Denkadf20a12005-09-25 01:48:28 +020063 board/integrator<>/integrator<>.c