Introduction

RDK-B components are designed to avoid platform or silicon dependencies. Hardware Abstraction Layer (HAL) defines a standard interface for hardware vendors to implement. The HAL layer abstracts the underlying hardware like MOCA, Wi-Fi, etc. through a standard set of APIs defined as part of RDK-B HAL for the respective components. This HAL layer is implemented per platform and the rest of the components can be compiled to run on the new platform without major modifications.

The HAL in RDK-B Architecture section gives an overview of CCSP framework's Hardware Abstraction Layer.

HAL can be common-HAL or component-specific-HAL. Components may define a component specific HAL to hardware drivers, that are only used by that component

Component Specific HAL

Wi-Fi HAL 

       All HAL functions prototypes and structure definitions are available in wifi_hal.h file.

MOCA HAL

All HAL functions prototypes and structure definitions are available in moca_hal.h file.

MTA HAL

All HAL functions prototypes and structure definitions are available in mta_hal.h file. An MTA can deliver Home Phone service in addition to High Speed Internet.

CM HAL

All HAL functions prototypes and structure definitions are available in cm_hal.h file.

Ethernet Switch HAL 

All HAL functions prototypes and structure definitions are available in ccsp_hal_ethsw.h file.

DHCPv4C HAL 

All HAL functions prototypes and structure definitions are available in dhcpv4c_api.h file.

VLAN HAL

All HAL functions prototypes and structure definitions are available in vlan_hal.h file.

Firewall HAL

All HAL functions prototypes and structure definitions are available in hal_firewall.h file.

DPOE HAL

All HAL functions prototypes and structure definitions are available in dpoe_hal.h file.

Bluetooth HAL

All HAL functions prototypes and structure definitions are available in bt_hal.h file.

MSO Management HAL

All HAL functions prototypes and structure definitions are available in mso_mgmt_hal.h file.

Voice HAL

All HAL functions prototypes and structure definitions are available in voice_hal.h file.

WAN HAL

All HAL functions prototypes and structure definitions are available in  wan_hal.h file.

TR69_TLV HAL

All HAL functions prototypes and structure definitions are available in Tr69_Tlv.h file.

  1. Tag - uniquely identifies the field.
  2. Length - gives the size (in number of bytes) of the data associated with the field.
  3. Value - contains the actual data associated with the field stored in network byte ordering.

Common HAL

Platform HAL

  1. platform_hal_GetDeviceConfigStatus
  2. platform_hal_GetTelnetEnable
  3. platform_hal_GetSSHEnable
  4. platform_hal_SetSSHEnable
  5. platform_hal_GetSNMPEnable
  6. platform_hal_SetSNMPEnable
  7. platform_hal_GetSerialNumber
  8. platform_hal_GetWebUITimeout
  9. platform_hal_SetWebUITimeout
  10. platform_hal_GetWebAccessLevel
  11. platform_hal_SetWebAccessLevel
  12. platform_hal_PandMDBInit
  13. platform_hal_DocsisParamsDBInit
  14. platform_hal_GetModelName
  15.  platform_hal_GetFirmwareName
  16. platform_hal_GetHardwareVersion
  17. platform_hal_GetSoftwareVersion
  18.  platform_hal_GetBootloaderVersion
  19. platform_hal_GetBaseMacAddress
  20. platform_hal_GetHardware

To see the API specification of Platform HAL please refer - Platform HAL APIs