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

To see the APIs involved with MOCA component. Please see MoCA HAL APIs in the component page.

MTA HAL

An MTA can deliver Home Phone service in addition to High Speed Internet

CM HAL

To see the APIs involved with Cable Modem component. Please see CM HAL APIs .

Ethernet Switch HAL 

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

  1. CcspHalEthSwInit
  2. CcspHalEthSwGetPortStatus
  3. CcspHalEthSwGetPortCfg
  4. CcspHalEthSwSetPortCfg
  5. CcspHalEthSwGetPortAdminStatus

DHCPv4C HAL 

  1. dhcpv4c_get_ert_ifname
  2. dhcpv4c_get_ert_ip_addr
  3. dhcpv4c_get_ert_dns_svrs

Common HAL

Platform HAL

  1.  platform_hal_GetSerialNumber
  2.  platform_hal_GetFirmwareName
  3.  platform_hal_GetBootloaderVersion