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.
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 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 to 0x2b and 0x30 to 0x3b are the registers of max96705.
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.