where can I find the documentation about the iMX8 CSI controller? IMX8MDQLQRM rev.0 ("i.MX 8M Dual/8M QuadLite/8M Quad
Applications Processors Reference Manual") does not describe this subsystem.
Accordingly Linux kernel sources, it seems to be compatible with i.MX6SX CSI, but driver uses bits which are undocumented and marked as "reserved" in the iMX6SX Reference Manual (IMX6SXRM rev. 3); e.g. driver contains
/* csi control reg 18 */ #define BIT_CSI_ENABLE (0x1 << 31) #define BIT_MIPI_DATA_FORMAT_RAW8 (0x2a << 25) #define BIT_MIPI_DATA_FORMAT_RAW10 (0x2b << 25) #define BIT_MIPI_DATA_FORMAT_YUV422_8B (0x1e << 25) #define BIT_MIPI_DATA_FORMAT_MASK (0x3F << 25) #define BIT_MIPI_DATA_FORMAT_OFFSET 25
but manual describes this register as
In iMX8 manuals, it is completely missing.
For camera input, there is MIPI-CSI (4-lanes each) only.
For details, please read chapter 13.6 in Reference manual.
The reference manual covers only the configuration of the MIPI phy, but not of the CSI controller. E.g. the registers at 0x30a9000 are not described in the reference manual. Chapter 13.6 references a "CSI-2 Controller User Giuce" but I do not know where to find this document.
i have the same problem. at the moment. i think the file mx6s_capture.c is written for imx7. in the datasheet of the imx7 i found the documentation of all registers from mx6s_capture.c
(CSI_CSICR1) (CSI_CSICR2) (CSI_CSICR3) (CSI_CSISTATFIFO) (CSI_CSIRXCNT) .... (CSI_CSICR18)
it could be that the csi of the IMX7 and IMX8 is the same?!