AR0144 and ov9284 drivers for I.MX8QM/QXP.


AR0144 and ov9284 drivers for I.MX8QM/QXP.


AR0144 and ov9284 drivers for I.MX8QM/QXP.

Platform: i.mx8qm/qxp

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


max9286 deserializer <=> max96705 serializer  + ar0144


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 branch ar0144 for ar0144, branch ov9284 for ov9284.


updated patch for data format.

改訂 #:
‎11-04-2019 11:01 PM