RDK Resources

[*RDK Preferred*]

Code Management Facility

Code Releases

RDK Forums

[RDK Conferences]

RDK Support


Papers & Presentations Archive

In the News!

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


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

  • HAL APIs will be available in the CMF repo path: "../rdkb/components/opensource/ccsp/hal/source/"
  • PandM HAL Integration (back-end) Layer is also known as component specific HAL.
  • This layer makes call to underlying Linux system calls/commands, third party modules, open source modules and other CCSP components to execute the requests.
  • This layer will be more component specific and will be providing APIs to CCSP so as to manage a particular hardware module of the system.
  • Following are some of the  component specific  HALs available in "../rdkb/components/opensource/ccsp/hal/source/" path.
    • Wifi  
    • MoCA
    • MTA Agent
    • CM   
    • DHCPv4C
    • Ethernet Switch
    • MSO_Management
    • Platform

Wi-Fi HAL 

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


  1. dhcpv4c_get_ert_ifname
  2. dhcpv4c_get_ert_ip_addr
  3. dhcpv4c_get_ert_dns_svrs

Common HAL

  •  A common HAL provides the necessary abstraction to all the CCSP components to interface with other common hardware components.
  • Eg : Platform HAL

Platform HAL

  • Platform HAL is an abstraction layer, implemented to interact with cable modem device for getting the hardware specific details such as Firmware Name, Boot loader Version, etc.
  • This HAL layer is intended to support platform drivers
  • platform_hal.c file provides the function call prototypes and structure definitions used for the platform hardware abstraction layer
  • Some of the APIs are :
  1.  platform_hal_GetSerialNumber
  2.  platform_hal_GetFirmwareName
  3.  platform_hal_GetBootloaderVersion

HAL Reference (Under Development)