Hardware Definitions — Details on obtaining hardware definitions for BCM283X

Register definitions

The file <cyg/hal/bcm283x.h> can be included from application and eCos package sources to provide definitions related to BCM283X subsystems. These include base addresses for various devices and register definitions for BCM283X-specific devices such as the interrupt controller, timers, mailboxes, DMA and GPIO. The registers for various devices, such as I²C, SPI, MMC/SD, and the UARTs are defined in the drivers for those devices. This file will normally be included automatically if <cyg/hal/hal_io.h> is included, which is the preferred way of getting these definitions.

Initialization Helper Macros

The file <cyg/hal/> contains definitions of helper macros which may be used by platform HALs in order to initialize common subsystems without excessive duplication between these platform HALs. Typically this file will be included by the hal_platform_setup.h header in the platform HAL, in turn included from the architectural HAL file vectors.S.

This file is solely intended to be used by platform HALs. At the same time, it is only present to assist initialization, and platform HALs are not obliged to use it if their startup requirements vary. NOTE: At present, the only extant BCM283X port relies on the GPU to initialize the PLLs and memory controller, so these macros currently largely contain Cortex-A-generic setup only.