Posted on: 21/10/2025
Job Title :
Senior Camera Driver / Embedded Linux Kernel Engineer
Job Summary :
We are seeking a highly skilled Camera Driver Engineer with expertise in Android Camera HAL3, V4L2, and MIPI CSI-2 integration to develop, optimize, and debug the end-to-end camera pipeline from Android Camera2 API through Camera HAL, V4L2 kernel drivers, and sensor hardware.
The ideal candidate will have hands-on experience with Linux kernel driver development, multimedia subsystems, and performance optimization for camera capture, streaming, and ISP pipelines.
Key Responsibilities :
Camera Framework & HAL Development :
- Develop, integrate, and optimize the Android Camera HAL3 layer.
- Implement and manage the capture flow between Camera2 API, Camera Provider, and Camera HAL.
- Ensure proper communication between Camera Service (framework) and hardware abstraction layer (HAL) using HIDL/AIDL.
- Collaborate with SoC vendors and integrate V4L2-based drivers into the Android camera stack.
Flow Summary (End-to-End) :
- App Layer (Camera2 API) : Application creates a CaptureRequest ? sent to Camera Service.
- Framework (Camera Service) : Routes requests to Camera Provider (HIDL/AIDL) ? loads HAL implementation.
- Camera Provider : Manages available camera devices, connects to HAL shared library (camera.vendor.so).
- Camera HAL : Converts framework requests into hardware operations configures streams, manages buffers, and communicates with kernel drivers via V4L2 IOCTLs.
- Kernel Driver (V4L2) : Handles sensor, CSI-2 receiver, and ISP interaction; streams buffers using DMA/videobuf2.
- Hardware Layer : MIPI CSI-2 sensor sends frames ? captured and processed by ISP ? delivered to user-space buffers.
Kernel-Level Deferred Work (Tasklets vs Workqueues) :
- Implement tasklets for fast, atomic bottom-half handling post-ISR (e.g., DMA completion notification).
- Use workqueues for deferred tasks that require sleeping or longer operations (e.g., copying data to user buffers).
- Example : ISR triggers a tasklet to signal frame-ready ? workqueue processes the frame metadata and prepares the next capture.
Buffer Management in Kernel / Driver Context :
- Design C/C++ data structures to manage streaming buffers in kernel space.
- Manage a linked list of DMA buffers using list_head for efficient allocation, queueing, and freeing during streaming operations.
- Implement vb2_queue operations (queue_setup, buf_prepare, start_streaming, stop_streaming) for V4L2 devices.
V4L2 Camera Sensor Driver Development :
- Write and register V4L2 subdevice drivers for camera sensors using I2C interface.
- Implement essential V4L2 callbacks
- Handle buffer flow using videobuf2 (vb2) framework :
- Userspace : VIDIOC_REQBUFS, VIDIOC_QBUF, VIDIOC_STREAMON
- Kernel : DMA streaming to frame buffers
- Userspace : Dequeue frames with VIDIOC_DQBUF
- Verify operation using tools like v4l2-ctl and media-ctl.
MIPI CSI-2 Integration and Debug"
- Integrate MIPI CSI-2 camera sensors via D-PHY lanes.
- Configure timing parameters (e.g., HS_SETTLE, CLK_PREPARE, CLK_ZERO).
- Debug and fix frame drop or latency issues :
- Monitor dmesg logs for CSI errors or DMA underruns.
- Validate frame rate using v4l2-ctl - stream-mmap.
- Tune buffer queue depth, vb2 configuration, and ISP pipeline timing.
- Analyze MIPI trace logs or PHY counters for signal integrity issues.
- Optimize I2C register writes and CSI lane mapping in device tree.
Technical Skills & Keywords :
- Camera Driver Development (V4L2 / Camera HAL3 / Camera Provider)
- Linux Kernel Driver Programming
- Multimedia Subsystem (Video, ISP, Sensor)
- Android Camera2 Framework
- DMA / Videobuf2 / Buffer Management
Hardware Interfaces :
- MIPI CSI-2, D-PHY
- I2C / GPIO / Regmap
- ISP / CSI Receiver / Sensor Interface
Debugging Tools :
- v4l2-ctl, media-ctl, dmesg, trace-cmd, perf, ftrace
- Oscilloscope / Logic Analyzer for CSI signals
Programming :
- C, C++, Embedded C
- Kernel Synchronization (Spinlocks, Tasklets, Workqueues)
- Device Tree (DTS) Configuration and Debugging
Preferred Experience :
- Camera bring-up on Android or embedded Linux platforms (Qualcomm, MediaTek, NVIDIA, NXP, TI, etc.)
- Developing and debugging camera sensor subdevices
- Hands-on experience with ISP pipelines and tuning
- Performance optimization (latency, frame rate, bandwidth)
- Familiarity with libcamera or GStreamer frameworks
Did you find something suspicious?
Posted By
Posted in
Semiconductor/VLSI/EDA
Functional Area
Embedded / Kernel Development
Job Code
1562895
Interview Questions for you
View All