I'm trying to capture RAW12 data using the MIPI interface with an iMX6. I'm able to properly capture, however, the data is stored in memory as it comes from the CSI2-interface so after capturing every buffer, the data needs to be re-ordered which adds load to the ARM.
Taking a look at the RM, I can see the the data is stored in memory by the IPU Gasket as follows:
Then that data is captured by the CSI as it is (with no special re-ordering). The IDMAC is currently configured to capture generic data (as recommended) and I've tried configuring for 8, 12 and 16 bpp with the same results (the data is just moved to memory).
My question is: Is there a way in HW of getting the pixels properly stored in memory? This is P1[11:0], P2[11:0], P3[11:0], P4[11:0], .... instead of P1[11:4], P2[11:4], P1[3:0], P2[3:0], P3[11:4], P4[11:4}, ...
Any help will be appreciated.