Camera Hardware Abstraction Layer (HAL)#
The lifecycle orchestrator — it sits between SIPL (application layer) and your UDDF drivers. CameraHAL is the mediator that ensures your driver never has to coordinate with other drivers directly. You implement interfaces; CameraHAL calls them at the right time with the right context.
End-to-end lifecycle sequence:
What does CameraHAL do?#
Loads the right driver — Uses
uddf_discover_driversto fetchDriverInfo.name.Discovers capabilities — Uses
GetInterface(UUID)to find what DDI interfaces your driver supports.Provides context objects — Uses UDDF CDI to provide
IHardwareAccess(I2C/GPIO) andIDriverServices(logging).Manages driver lifecycle — Uses UDDF DDI to manage calls into the loaded driver.
Hosts the TransportLink — Coordinates transport initialization for the active camera path: GMSL (SerDes link sequence) or CoE (Ethernet-based camera transport). The generic host network stack (for example, interface bring-up outside the camera HAL) is separate; CameraHAL owns the camera transport link orchestration for CoE in the same way it owns SerDes link bring-up for GMSL.
Scope. CameraHAL does not host the SoC CSI-2 capture block; CSI remains in the platform capture/media layer below SIPL.