Skip to content
Snippets Groups Projects
README-integrator 3.92 KiB
Newer Older
  • Learn to ignore specific revisions
  • 
    		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).
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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.
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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 :
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    ------------------
    
    	The makefile contains targets for Integrator platforms of both types
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    boot process c) above. They have been preserved for backward compatibility with
    
    existing build processes.
    
    Code Hierarchy Applied :
    ----------------------
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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.
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    of the Integrator board itself, has been placed in
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    	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
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    ap7_config			** CM7TDMI
    
    integratorap_config
    ap_config
    
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    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
    *********************************