AR0144 and ov9284 drivers for I.MX8QM/QXP.

Document created by Bert Xu Employee on Nov 4, 2019Last modified by Bert Xu Employee on Nov 10, 2019
Version 2Show Document
  • View in full screen mode

Platform: i.mx8qm/qxp

 

OS: imx-yocto-L4.14.98_2.0.0_ga

 

Camera:

 

max9286 deserializer <=> max96705 serializer  + ar0144

 

or:

 

max9286 deserializer <=> max96705 serializer + ov9284

 

Note that currently only one camera is support and the serializer should be connected to the IN0 of max9286.

 

 

 

Data format:

 

ar0144: mono raw 12bit.

 

ov9284: mono raw 10bit.

 

On imx8qm/qxp the data will be recieved as raw 16bit and the valid data bit start from bit[13] to LSB.

 

for mono raw 12bit the valid data bit is 0bxxdd_dddd_dddd_ddxx

 

for mono raw 10bit the valid data bit is 0bxxdd_dddd_dddd_xxxx

 

 

 

max9286 and max96705 configuration:

 

dbl bws PXL_CRC/edc hven hibw lccen him should be the same on both sides, this can be achieved by pin or register configurations.

 

 

 

The crossbar function of max96705 can be used to fix the reversed data bit.

 

for example, reversed 12bit with dbl to 1.

 

0x20 0xb

 

0x21 0xa

 

0x22 0x9

 

.......

 

0x2b 0x0

 

 

 

0x30 0xb

 

0x31 0xa

 

....

 

0x3b 0x0

 

0x20 to 0x2b and 0x30 to 0x3b are the registers of max96705.

 

 

 

Patch apply:

 

1. push the kernel-patch to the kernel source and apply it.

 

2. reconfig the kernel setting, make sure there is only CONFIG_MAX9286_AR0144 or        CONFIG_MAX9286_WISSEN(ov9284) enabled, all other max9286 related are disabled. You can run menuconfig to achieve this.

 

3. For testing copy the vulkan-v4l2.tar to the board, and run vulkan-v4l2.

 

    the source code is at https://github.com/sheeaza/vulkan-v4l2 branch ar0144 for ar0144, branch ov9284 for ov9284.

 

===========

updated patch for data format.

2 people found this helpful

Attachments

Outcomes