HAL Interface for Raspberry Pi 4 Reference Platform

The Hardware Abstraction Layer (HAL) in the RDK-B project provides an interface for hardware-dependent operations. This document explores the available HAL components in the halinterface directory and identifies those relevant to the Raspberry Pi 4 reference platform.

Hal Version : 3

Directory Structure

Located at: rdkb/components/opensource/ccsp/halinterface/

The directory contains various HAL implementations, categorized as follows:

1. Network and Ethernet HALs

2. Wireless (WiFi) HALs

3. Broadband & Modem HALs

4. Voice and Bluetooth HALs

5. TR-069 and Device Management HALs

HALs Relevant to Raspberry Pi 4

For Raspberry Pi 4, the most relevant HALs include:

  1. WiFi HALs:

  2. Ethernet & VLAN HALs:

  3. Bluetooth HAL:

  4. Voice HAL (If applicable):


It serves as the central interface for interacting with different WiFi components like the radio, access point (AP), station (STA), client management, telemetry, and extenders. The APIs defined in wifi_hal.h are meant to be used across multiple modules of the WiFi stack. For example, the wifi_hal_generic.h file may include basic functionality needed by all other modules, while the wifi_hal_radio.h, wifi_hal_ap.h, and other headers provide specific functionality for each part of the WiFi subsystem.

All the header files are mentioned and explained in the below doxygen link and halinterface source link are listed below:
https://wiki.rdkcentral.com/doxygen/rdkb/dir_12ae9f146c1bfe45e1d6b2b716eb01b4.html
https://code.rdkcentral.com/r/admin/repos/rdkb/components/opensource/ccsp/halinterface,general