xref: /openbmc/u-boot/board/armltd/integrator/README (revision 9450ab2b)
1702e6014SWolfgang Denk
2702e6014SWolfgang Denk		U-Boot for ARM Integrator Development Platforms
3702e6014SWolfgang Denk
4702e6014SWolfgang Denk			Peter Pearse, ARM Ltd.
5702e6014SWolfgang Denk			peter.pearse@arm.com
6702e6014SWolfgang Denk			     www.arm.com
7702e6014SWolfgang Denk
8702e6014SWolfgang DenkManuals available from :-
9702e6014SWolfgang Denkhttp://www.arm.com/products/DevTools/Hardware_Platforms.html
10702e6014SWolfgang Denk
11702e6014SWolfgang DenkOverview :
12702e6014SWolfgang Denk--------
13702e6014SWolfgang DenkThere are two Integrator variants - Integrator/AP and Integrator/CP.
14702e6014SWolfgang DenkEach may be fitted with a variety of core modules (CMs).
15702e6014SWolfgang DenkEach CM consists of a ARM processor core and associated hardware e.g
16702e6014SWolfgang Denk	FPGA implementing various controllers and/or register
17702e6014SWolfgang Denk	SSRAM
18702e6014SWolfgang Denk	SDRAM
19702e6014SWolfgang Denk	RAM controllers
20702e6014SWolfgang Denk	clock generators etc.
21702e6014SWolfgang DenkCMs may be fitted with varying amounts of SDRAM using a DIMM socket.
22702e6014SWolfgang Denk
23702e6014SWolfgang DenkBoot Methods :
24702e6014SWolfgang Denk------------
25702e6014SWolfgang DenkIntegrator platforms can be configured to use U-Boot in at least three ways :-
26702e6014SWolfgang Denka) Run ARM boot monitor, manually run U-Boot image from flash
27702e6014SWolfgang Denkb) Run ARM boot monitor, automatically run U-Boot image from flash
28702e6014SWolfgang Denkc) Run U-Boot image direct from flash.
29702e6014SWolfgang Denk
30702e6014SWolfgang DenkIn cases a) and b) the ARM boot monitor will have configured the CM and mapped
31702e6014SWolfgang Denkwriteable memory to 0x00000000 in the Integrator address space.
32702e6014SWolfgang DenkU-Boot has to carry out minimal configration before standard code is run.
33702e6014SWolfgang Denk
34702e6014SWolfgang DenkIn case c) it may be necessary for U-Boot to perform CM dependent initialization.
35702e6014SWolfgang Denk
36702e6014SWolfgang DenkConfiguring U-Boot :
37702e6014SWolfgang Denk------------------
38702e6014SWolfgang Denk	The makefile contains targets for Integrator platforms of both types
39*c95cafd0SBin Mengfitted with all current variants of CM.
40702e6014SWolfgang Denk
41702e6014SWolfgang Denk	There are also targets independent of CM. These may not be suitable for
42702e6014SWolfgang Denkboot process c) above. They have been preserved for backward compatibility with
43702e6014SWolfgang Denkexisting build processes.
44702e6014SWolfgang Denk
45702e6014SWolfgang DenkCode Hierarchy Applied :
46702e6014SWolfgang Denk----------------------
47702e6014SWolfgang DenkCode specific to initialization of a particular ARM processor has been placed in
48702e6014SWolfgang Denkcpu/arm<>/start.S so that it may be used by other boards.
49702e6014SWolfgang Denk
50702e6014SWolfgang DenkHowever, to avoid duplicating code through all processor files, a generic core
51702e6014SWolfgang Denkfor ARM Integrator CMs has been added
52702e6014SWolfgang Denk
53702e6014SWolfgang Denk	arch/arm/cpu/arm_intcm
54702e6014SWolfgang Denk
55702e6014SWolfgang DenkOtherwise. for example,  the standard CM reset via the CM control register would
56702e6014SWolfgang Denkneed placing in each CM processor file......
57702e6014SWolfgang Denk
58702e6014SWolfgang DenkCode specific to the initialization of the CM, rather than the cpu, and initialization
59702e6014SWolfgang Denkof the Integrator board itself, has been placed in
60702e6014SWolfgang Denk
61702e6014SWolfgang Denk	board/integrator<>/platform.S
62702e6014SWolfgang Denk	board/integrator<>/integrator<>.c
63702e6014SWolfgang Denk
64702e6014SWolfgang DenkTargets
65702e6014SWolfgang Denk=======
66702e6014SWolfgang DenkThe U-Boot make targets map to the available core modules as below.
67702e6014SWolfgang Denk
68702e6014SWolfgang DenkIntegrator/AP is no longer available from ARM.
69702e6014SWolfgang DenkCore modules marked ** are also no longer available.
70702e6014SWolfgang Denk
71702e6014SWolfgang Denkap720t_config		** CM720T
72702e6014SWolfgang Denkap920t_config		** CM920T
73702e6014SWolfgang Denkap926ejs_config	Integrator Core Module for ARM926EJ-STM
74702e6014SWolfgang Denkap946es_config		Integrator Core Module for ARM946E-STM
75702e6014SWolfgang Denkcp920t_config		** CM920T
76702e6014SWolfgang Denkcp926ejs_config	Integrator Core Module for ARM926EJ-STM
77702e6014SWolfgang Denkcp946es_config		Integrator Core Module for ARM946E-STM
78702e6014SWolfgang Denkcp1136_config		Integrator Core Module ARM1136JF-S  TM
79702e6014SWolfgang Denk
80702e6014SWolfgang DenkThe final groups of targets are for core modules where no explicit cpu
81702e6014SWolfgang Denkcode has yet been added to U-Boot i.e. they all use the same U-Boot binary
82702e6014SWolfgang Denkusing the generic "arm_intcm" core:
83702e6014SWolfgang Denk
84702e6014SWolfgang Denkap966_config			Integrator Core Module for ARM966E-S TM
85702e6014SWolfgang Denkap922_config			Integrator Core Module for ARM922T TM with ETM
86702e6014SWolfgang Denkap922_XA10_config		Integrator Core Module for ARM922T using Altera Excalibur
87702e6014SWolfgang Denkap7_config			** CM7TDMI
88702e6014SWolfgang Denkintegratorap_config
89702e6014SWolfgang Denkap_config
90702e6014SWolfgang Denk
91702e6014SWolfgang Denk
92702e6014SWolfgang Denkcp966_config			Integrator Core Module for ARM966E-S TM
93702e6014SWolfgang Denkcp922_config			Integrator Core Module for ARM922T TM with ETM
94702e6014SWolfgang Denkcp922_XA10_config		Integrator Core Module for ARM922T using Altera Excalibur
95702e6014SWolfgang Denkcp1026_config			Integrator Core Module ARM1026EJ-S TM
96702e6014SWolfgang Denkintegratorcp_config
97702e6014SWolfgang Denkcp_config
98702e6014SWolfgang Denk
99702e6014SWolfgang DenkThe Makefile targets call board/integrator<>/split_by_variant.sh
100702e6014SWolfgang Denkto configure various defines in include/configs/integrator<>.h
101702e6014SWolfgang Denkto indicate the core module & core configuration and ensure that
102702e6014SWolfgang Denkboard/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.
103702e6014SWolfgang Denk
104702e6014SWolfgang Denk*********************************
105702e6014SWolfgang DenkBecause of this mechanism
106702e6014SWolfgang Denk> make clean
107702e6014SWolfgang Denkmust be run before each change in configuration
108702e6014SWolfgang Denk*********************************
109