You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

WORK IN-PROGRESS

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

  • vlan_eth_hal.h - VLAN Ethernet HAL

  • vlan_hal_emu.h - VLAN HAL Emulator

  • xdsl_hal.h - xDSL HAL (Not relevant to RPi4)

  • xtm_hal.h - Transmit Multiplexer HAL (Not relevant to RPi4)

2. Wireless (WiFi) HALs

  • wifi_hal.h - Core WiFi HAL (Relevant to RPi4)

  • wifi_hal_emu.h - WiFi HAL Emulator

  • wifi_hal_extender.h - WiFi Extender HAL

  • wifi_hal_client_mgt.h - WiFi Client Management

  • wifi_hal_radio.h - WiFi Radio Control

  • wifi_hal_sta.h - WiFi Station HAL

  • wifi_hal_telemetry.h - WiFi Telemetry Support

3. Broadband & Modem HALs

  • dpoe_hal.h - DOCSIS Passive Optical Ethernet (Not relevant to RPi4)

  • ccsp_hal_dhcpv4_emu_api.h - DHCPv4 Emulator API

4. Voice and Bluetooth HALs

  • voice_hal.h - Voice Processing HAL

  • bt_hal.h - Bluetooth HAL (Relevant to RPi4 if Bluetooth is needed)

5. TR-069 and Device Management HALs

  • Tr69_Tlv.h - TR-069 TLV Management

HALs Relevant to Raspberry Pi 4

For Raspberry Pi 4, the most relevant HALs include:

  1. WiFi HALs:

    • wifi_hal.h

    • wifi_hal_radio.h

    • wifi_hal_sta.h

    • wifi_hal_client_mgt.h

    • wifi_hal_telemetry.h

  2. Ethernet & VLAN HALs:

    • vlan_eth_hal.h

    • vlan_hal_emu.h

  3. Bluetooth HAL:

    • bt_hal.h

  4. Voice HAL (If applicable):

    • voice_hal.h


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


  • No labels