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.
- MTA Agent
- Ethernet Switch
All HAL functions prototypes and structure definitions are available in wifi_hal.h file.
- A common HAL provides the necessary abstraction to all the CCSP components to interface with other common hardware components.
- Eg : 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 :
HAL Reference (Under Development)