123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- 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.
- 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
- arch/arm/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
- *********************************
|