Name

Support for the Broadcom BCM283X Processor Family — Overview

Description

This document covers the configuration and usage of the Hardware Abstraction Layer (HAL) for the Broadcom BCM283X devices present on the Raspberry Pi boards. It is expected to be read in conjunction with platform HAL-specific documentation, as well as the eCos HAL specification. This processor HAL package complements the ARM architectural HAL, Cortex-A variant HAL and the Raspberry Pi platform HAL. It provides functionality common to all BCM283X-based implementations.

This support is found in the eCos package located at packages/hal/arm/cortexa/bcm283x within the eCos source repository.

The BCM283X HAL package is loaded automatically when eCos is configured for any Raspberry Pi board. It should never be necessary to load this package explicitly. Unloading the package should only happen as a side effect of switching target hardware.

Supported Hardware

Supported features of the BCM283X within this processor HAL package include:

Support for I²C, SPI, USB, Ethernet, MMC/SD and interrupt-driven serial features of the BCM283X are also present and can be found in separate packages, outside of this processor HAL.

Support for SMP operation of the four Cortex-A CPUs in the BCM2836 and BCM2837 is available, although debugging support is restricted to use of an external JTAG debugger. The HAL does not contain support for the Cortex-A's NEON SIMD engine.