DART-MX8M Android Camera
The DART-MX8M is capable of driving video input via MIPI CSI-2 cameras.
The CSI-2 Host Controller is a digital core that implements all protocol functions defined in the MIPI CSI-2 specification, providing an interface between the system and the MIPI D-PHY, allowing communication with an MIPI CSI-2 compliant camera sensor.
Key features include:
- Module provides Two four-lane MIPI camera serial interfaces
- MIPI D-PHY specification V1.2 (Board Approved)
- Compliant to MIPI CSI2 Specification V1.3 except for C-PHY feature (Board Approved)
- Support primary and secondary Image format
- YUV420, YUV420 (Legacy), YUV420 (CSPS), YUV422 of 8-bits and 10-bits
- RGB565, RGB666, RGB888
- RAW6, RAW7, RAW8, RAW10, RAW12, RAW14
- All of User defined Byte-based Data packet
- Support up to 4 lanes of D-PHY, which operates up to a maximum bit rate of 1.5 Gbps/lane.
- Compatible to PPI (Protocol-to-PHY Interface) in MIPI D-PHY Specification
- AMBA3.0 APB Slave for Register configuration.
- Image output data bus width: 32 bits
- Image memory
- Size of SRAM is 4KB
- Pixel clock can be gated when no PPI data is coming
- At present OV5640 supports only YUV 422 image format.
The DART-MX8M exposes two MIPI-CSI input ports of the SOC.
Refer to: https://www.variscite.com/wp-content/uploads/2018/03/DART-MX8M-datasheet.pdf for more details.
2 Hardware Availability and Setup
Connect the relevant camera accessories to the right connector.
- DART-MX8M Development Kit:
- CSI1 - MIPI Clock + 4 Data lanes are accessible via Carrier board header.
- J11: MIPI - 4 Lane + CLK + I2C + GPIOs
- MIPI Camera Accessories Required: https://www.variscite.com/product/accessories/var-ext-cb8/
- DART-MX8M platform doesn't have the SOC based Image Signal Processing (ISP) unit to convert bayer data to RGB and YUV.
- DART-MX8M platform relies on MIPI camera to convert the Bayer data to YUV format.
- For more details about connectors refer to: https://www.variscite.com/wp-content/uploads/2018/03/VAR-DT8MCustomBoard-Schematics.pdf
- For maximum, supported resolution and combinations refer to
3 Software Setup
Make sure you have the required hardware as per above.
3.1 MIPI Cameras
By default, MIPI cameras are supported out of the box.
Android System / Vendor images contain Camera HAL already support for OV5640 5MP support available.
You don't need to do any special build/addition below HAL if you are using the standard camera. Unless you wish to modify for your custom camera type,
- For Android Oreo:
Source Path: <android_build>/vendor/nxp-opensource/imx/libcamera3/
- Android 8.0 and above Camera2 APIs are standard.
- Camera2 APIs are supported out of the box.
- Legacy Camera1 APIs should also work.
- Auto Focus, Manual Focus, Auto Exposure and Manual exposure are not supported at present.
3.2 UVC Camera Setup
4 Testing Camera
If the camera is connected/configured correctly. Once you click the Android Camera Application mentioned blow.
It will ask you for location , and storage permissions, click on allow and then click next.
The camera preview should start, like below
Click on the Camera icon, it will take JPEG snapshot.
- JPEG snapshot up to 5MP supported.
- RAW / DNG format not implemented.
- Encoding upto 480@30fps (Software based)