123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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.
- 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
|