mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-21 02:33:07 +00:00
20e442ab2d
The current macro is a misnomer since it does not declare a device directly. Instead, it declares driver_info record which U-Boot uses at runtime to create a device. The distinction seems somewhat minor most of the time, but is becomes quite confusing when we actually want to declare a device, with of-platdata. We are left trying to distinguish between a device which isn't actually device, and a device that is (perhaps an 'instance'?) It seems better to rename this macro to describe what it actually is. The macros is not widely used, since boards should use devicetree to declare devices. Rename it to U_BOOT_DRVINFO(), which indicates clearly that this is declaring a new driver_info record, not a device. Signed-off-by: Simon Glass <sjg@chromium.org> |
||
---|---|---|
.. | ||
arm-ebi.h | ||
integrator-sc.h | ||
integrator.c | ||
lowlevel_init.S | ||
MAINTAINERS | ||
Makefile | ||
pci.c | ||
pci_v3.h | ||
README | ||
timer.c |
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 *********************************