README 3.8 KB

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