...
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.
...
- dhcpv4c_get_ert_ifname
- dhcpv4c_get_ert_ip_addr
- 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 :
- platform_hal_GetSerialNumber
- platform_hal_GetFirmwareName
- platform_hal_GetBootloaderVersion
HAL Reference (Under Development)
...