Skip to main content
The IQ9-EVK supports camera sensor connectivity through four MIPI CSI interfaces, supporting both C-PHY and D-PHY modes.

Hardware Architecture

CSI Interface Mapping

DIP Switch Configuration

The four CSI PHYs can be routed to either MIPI camera ports or GMSL camera ports (via mezzanine board) using DIP switches.

Supported MIPI CSI Camera Sensors

ov9282 Camera Sensor

Arducam imx577 Camera Sensor

Arducam sensor requires an additional converter board(Arducam 22-pin to Qualcomm 30-pin CSI adapter) Arducam imx577 sensor + 22 pin flex cable + converter board

Arducam imx577 Camera Sensor connection to iq9075

ov9282 Camera Sensor connection to iq9075

Supported Resolutions

  • Advanced features such as SHDR, LDC, and EIS are not supported on IQ-9075.
  • There is no hardware JPEG encoder — snapshots use a software encoder running on the CPU.

Camera Streaming

Prerequistes to run camera

  • Enable Camera functionality
On Qualcomm Linux 2.0, qcom-multimedia-proprietary-image includes the downstream camera packages by default, but camera functionality is not enabled automatically. Enable camera support on qcom-multimedia-proprietary-image by running the following command in the device shell:
  • Clear GStreamer registry (if needed)
If a GStreamer command was executed before enabling the camera overlay, the GStreamer registry must be cleared after enabling the camera overlay. Run the following command to clear the registry:

Single Camera Stream

The above command starts the camera with 720p at 30 FPS configuration. The frame coming from the camera sensor is thrown away by fakesink. If the gst pipeline status is changed to “PLAYING” as shown below, this indicates that the camera is running. Since this command dumps camera frames to fakesink, nothing will be saved on the device. If the pipeline status changes to PLAYING, the camera is running. Press Ctrl+C to stop.

Video Encoding

This command starts the camera with 720p at 30 FPS configuration and saves it as a video file after h264 video encoding. If the gst pipeline status is changed to “PLAYING”, this indicates the camera is running. To stop the camera, press CTRL+C. /opt/mux_avc.mp4 is generated on the device. The recorded content can be pulled from the device by running the following scp command on the host PC:

Video Encoding + Snapshot

1

Start the pipeline

2

Take a snapshot

From the interactive menu: (1) Ready → (3) Playing → (p) Plugin Mode → (11) camerasrc → (37) capture-image → (1) Snapshot → enter count
3

Stop and retrieve files

Press Enter → b (Back) → q (Quit).

Multi-Camera with Offline IFE

The IQ-9075 has two IFEs for real-time bayer-to-YUV processing. A maximum of two cameras can operate concurrently with real-time IFE The Offline IFE feature allows a single IFE to process two cameras in offline mode, enabling concurrent streaming upto four cameras. Each Sensor is connected to one IFE-Lite hardware instance and data is dumped to DDR using the RDI port. A single IFE hardware is being used to read data from two IFE-Lites using bus fetch engine SFE Lite and processing data in Offline mode. With this approach, instead of directly feeding the camera frames to IFE, frames are routed from IFE_LITE and dumped in DDR. Then they’re provided to IFE using the fetch engine SFE Lite for bayer-to-YUV processing.

Verify Multi-Camera Operation

Conenct Four OV9292 MIPI cameras connected to four MIPI CSI slots (0, 1, 2, and 3) Run a GST command with multicamera-hint=true for each camera to enable this feature. For example:
Check for below print in user log to confirm offline ife feature is enabled

Troubleshooting

1

Check camera module connection and DIP switch settings

2

Restart cam-server

3

Run a single-stream test

Collect logs and search for probe success:
Expected probe success log:
If no probe success appears, check the flex cable connection or camera module.
Enable CSI debug logs and collect dmesg:
Start the camera and check for SOF/EOF IRQ messages in the log. Expected logs:

Collect Debug Logs

Resources