HAL Interface for Reference Platforms(Raspberry Pi 4 & Banana Pi 4)

The Hardware Abstraction Layer (HAL) is to abstract the RDK Wi-Fi requirements at a general level to allow platform independent control. This document explores the available HAL components in the rdkb-haif-wifi directory and identifies those relevant to the reference platforms.

Hal Version : 3

WifiHal Diagram:
Reference: https://github.com/rdkcentral/rdkb-halif-wifi/blob/develop/docs/pages/images/WifiHALDiagram.PNG

Components are listed below:

The directory contains various HAL implementations, categorized as follows:

rdkb-halif-wifi/
├── build_ut.sh
├── CHANGELOG.md
├── configure.ac
├── CONTRIBUTING.md
├── COPYING -> LICENSE
├── LICENSE
├── NOTICE
├── README.md -> ./docs/pages/halSpec.md
├── docs/
│   ├── pages/
│   ├── generate_docs.sh
├── include/
│   ├── wifi_hal.h
│   ├── wifi_hal_ap.h
│   ├── wifi_hal_client_mgt.h
│   ├── wifi_hal_deprecated.h
│   ├── wifi_hal_emu.h
│   ├── wifi_hal_extender.h
│   ├── wifi_hal_generic.h
│   ├── wifi_hal_radio.h
│   ├── wifi_hal_sta.h
│   ├── wifi_hal_telemetry.h

Wireless (WiFi) HALs


Wifi Hal 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.


Source code: https://github.com/rdkcentral/rdkb-halif-wifi