
		U-Boot for ARM Integrator Development Platforms

			Peter Pearse, ARM Ltd.
			peter.pearse@arm.com
			     www.arm.com

Manuals available from :-
http://www.arm.com/products/DevTools/Hardware_Platforms.html

Overview :
--------
There are two Integrator variants - Integrator/AP and Integrator/CP.
Each may be fitted with a variety of core modules (CMs).
Each CM consists of a ARM processor core and associated hardware e.g
	FPGA implementing various controllers and/or register
	SSRAM
	SDRAM
	RAM controllers
	clock generators etc.
CMs may be fitted with varying amounts of SDRAM using a DIMM socket.

Boot Methods :
------------
Integrator platforms can be configured to use U-Boot in at least three ways :-
a) Run ARM boot monitor, manually run U-Boot image from flash
b) Run ARM boot monitor, automatically run U-Boot image from flash
c) Run U-Boot image direct from flash.

In cases a) and b) the ARM boot monitor will have configured the CM and mapped
writeable memory to 0x00000000 in the Integrator address space.
U-Boot has to carry out minimal configration before standard code is run.

In case c) it may be necessary for U-Boot to perform CM dependent initialization.

Configuring U-Boot :
------------------
	The makefile contains targets for Integrator platforms of both types
fitted with all current variants of CM. If these targets are to be used with
boot process c) above then CONFIG_INIT_CRITICAL may need to be defined to ensure
that the CM is correctly configured.

	There are also targets independent of CM. These may not be suitable for
boot process c) above. They have been preserved for backward compatibility with
existing build processes.

Code Hierarchy Applied :
----------------------
Code specific to initialization of a particular ARM processor has been placed in
cpu/arm<>/start.S so that it may be used by other boards.

However, to avoid duplicating code through all processor files, a generic core
for ARM Integrator CMs has been added

	cpu/arm_intcm

Otherwise. for example,  the standard CM reset via the CM control register would
need placing in each CM processor file......

Code specific to the initialization of the CM, rather than the cpu, and initialization
of the Integrator board itself, has been placed in

	board/integrator<>/platform.S
	board/integrator<>/integrator<>.c

Targets
=======
The U-Boot make targets map to the available core modules as below.

Integrator/AP is no longer available from ARM.
Core modules marked ** are also no longer available.

ap720t_config		** CM720T
ap920t_config		** CM920T
ap926ejs_config	Integrator Core Module for ARM926EJ-STM
ap946es_config		Integrator Core Module for ARM946E-STM
cp920t_config		** CM920T
cp926ejs_config	Integrator Core Module for ARM926EJ-STM
cp946es_config		Integrator Core Module for ARM946E-STM
cp1136_config		Integrator Core Module ARM1136JF-S  TM

The final groups of targets are for core modules where no explicit cpu
code has yet been added to U-Boot i.e. they all use the same U-Boot binary
using the generic "arm_intcm" core:

ap966_config			Integrator Core Module for ARM966E-S TM
ap922_config			Integrator Core Module for ARM922T TM with ETM
ap922_XA10_config		Integrator Core Module for ARM922T using Altera Excalibur
ap7_config			** CM7TDMI
integratorap_config
ap_config


cp966_config			Integrator Core Module for ARM966E-S TM
cp922_config			Integrator Core Module for ARM922T TM with ETM
cp922_XA10_config		Integrator Core Module for ARM922T using Altera Excalibur
cp1026_config			Integrator Core Module ARM1026EJ-S TM
integratorcp_config
cp_config

The Makefile targets call board/integrator<>/split_by_variant.sh
to configure various defines in include/configs/integrator<>.h
to indicate the core module & core configuration and ensure that
board/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.

*********************************
Because of this mechanism
> make clean
must be run before each change in configuration
*********************************
