Home | History | Annotate | Download | only in integrator
      1 
      2 		U-Boot for ARM Integrator Development Platforms
      3 
      4 			Peter Pearse, ARM Ltd.
      5 			peter.pearse (a] arm.com
      6 			     www.arm.com
      7 
      8 Manuals available from :-
      9 http://www.arm.com/products/DevTools/Hardware_Platforms.html
     10 
     11 Overview :
     12 --------
     13 There are two Integrator variants - Integrator/AP and Integrator/CP.
     14 Each may be fitted with a variety of core modules (CMs).
     15 Each CM consists of a ARM processor core and associated hardware e.g
     16 	FPGA implementing various controllers and/or register
     17 	SSRAM
     18 	SDRAM
     19 	RAM controllers
     20 	clock generators etc.
     21 CMs may be fitted with varying amounts of SDRAM using a DIMM socket.
     22 
     23 Boot Methods :
     24 ------------
     25 Integrator platforms can be configured to use U-Boot in at least three ways :-
     26 a) Run ARM boot monitor, manually run U-Boot image from flash
     27 b) Run ARM boot monitor, automatically run U-Boot image from flash
     28 c) Run U-Boot image direct from flash.
     29 
     30 In cases a) and b) the ARM boot monitor will have configured the CM and mapped
     31 writeable memory to 0x00000000 in the Integrator address space.
     32 U-Boot has to carry out minimal configration before standard code is run.
     33 
     34 In case c) it may be necessary for U-Boot to perform CM dependent initialization.
     35 
     36 Configuring U-Boot :
     37 ------------------
     38 	The makefile contains targets for Integrator platforms of both types
     39 fitted with all current variants of CM. If these targets are to be used with
     40 boot process c) above then CONFIG_INIT_CRITICAL may need to be defined to ensure
     41 that the CM is correctly configured.
     42 
     43 	There are also targets independent of CM. These may not be suitable for
     44 boot process c) above. They have been preserved for backward compatibility with
     45 existing build processes.
     46 
     47 Code Hierarchy Applied :
     48 ----------------------
     49 Code specific to initialization of a particular ARM processor has been placed in
     50 cpu/arm<>/start.S so that it may be used by other boards.
     51 
     52 However, to avoid duplicating code through all processor files, a generic core
     53 for ARM Integrator CMs has been added
     54 
     55 	arch/arm/cpu/arm_intcm
     56 
     57 Otherwise. for example,  the standard CM reset via the CM control register would
     58 need placing in each CM processor file......
     59 
     60 Code specific to the initialization of the CM, rather than the cpu, and initialization
     61 of the Integrator board itself, has been placed in
     62 
     63 	board/integrator<>/platform.S
     64 	board/integrator<>/integrator<>.c
     65 
     66 Targets
     67 =======
     68 The U-Boot make targets map to the available core modules as below.
     69 
     70 Integrator/AP is no longer available from ARM.
     71 Core modules marked ** are also no longer available.
     72 
     73 ap720t_config		** CM720T
     74 ap920t_config		** CM920T
     75 ap926ejs_config	Integrator Core Module for ARM926EJ-STM
     76 ap946es_config		Integrator Core Module for ARM946E-STM
     77 cp920t_config		** CM920T
     78 cp926ejs_config	Integrator Core Module for ARM926EJ-STM
     79 cp946es_config		Integrator Core Module for ARM946E-STM
     80 cp1136_config		Integrator Core Module ARM1136JF-S  TM
     81 
     82 The final groups of targets are for core modules where no explicit cpu
     83 code has yet been added to U-Boot i.e. they all use the same U-Boot binary
     84 using the generic "arm_intcm" core:
     85 
     86 ap966_config			Integrator Core Module for ARM966E-S TM
     87 ap922_config			Integrator Core Module for ARM922T TM with ETM
     88 ap922_XA10_config		Integrator Core Module for ARM922T using Altera Excalibur
     89 ap7_config			** CM7TDMI
     90 integratorap_config
     91 ap_config
     92 
     93 
     94 cp966_config			Integrator Core Module for ARM966E-S TM
     95 cp922_config			Integrator Core Module for ARM922T TM with ETM
     96 cp922_XA10_config		Integrator Core Module for ARM922T using Altera Excalibur
     97 cp1026_config			Integrator Core Module ARM1026EJ-S TM
     98 integratorcp_config
     99 cp_config
    100 
    101 The Makefile targets call board/integrator<>/split_by_variant.sh
    102 to configure various defines in include/configs/integrator<>.h
    103 to indicate the core module & core configuration and ensure that
    104 board/integrator<>/u-boot.lds loads the cpu object first in the U-Boot image.
    105 
    106 *********************************
    107 Because of this mechanism
    108 > make clean
    109 must be run before each change in configuration
    110 *********************************
    111