Hello,I'm working with imx290 sensor on imx8mp processor in ISI interface.
when i try to capture a 1920x1080, 30fps, 10-bit raw over fourlane mode,I got the following error
mxc-mipi-csi2.0: SOT Error: 1
mxc-mipi-csi2.0: Lost Frame Start Error: 1
mxc-mipi-csi2.0: Lost Frame Start Error: 2
the data rate i'm trying to achieve is: 222.75 Mbps/lane
the register dumpis as follows:
[ 21.350237] mxc-mipi-csi2.0: CSIS_CMN_CTRL[4]: 0x00004b05
[ 21.366226] mxc-mipi-csi2.0: CSIS_CLK_CTRL[8]: 0x000f0000
[ 21.382243] mxc-mipi-csi2.0: CSIS_INTMSK[10]: 0x0fffff1f
[ 21.396252] mxc-mipi-csi2.0: CSIS_INTSRC[14]: 0x000f1000
[ 21.412243] mxc-mipi-csi2.0: CSIS_DPHYSTATUS[20]: 0x00000000
[ 21.421403] mxc-mipi-csi2.0: CSIS_DPHYCTRL[24]: 0x10c0001f
[ 21.432540] mxc-mipi-csi2.0: CSIS_DPHYBCTRL_L[30]: 0x000001f4
[ 21.442551] mxc-mipi-csi2.0: CSIS_DPHYBCTRL_H[34]: 0x00000000
[ 21.452818] mxc-mipi-csi2.0: CSIS_DPHYSCTRL_L[38]: 0x00000000
[ 21.462957] mxc-mipi-csi2.0: CSIS_DPHYSCTRL_H[3c]: 0x00000000
[ 21.474198] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH0[40]: 0x000000ac
[ 21.485417] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH1[50]: 0x000008fd
[ 21.495549] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH2[60]: 0x000008fe
[ 21.506790] mxc-mipi-csi2.0: CSIS_ISPCONFIG_CH3[70]: 0x000008ff
[ 21.518011] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH0[44]: 0x04380780
[ 21.529245] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH1[54]: 0x80008000
[ 21.539377] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH2[64]: 0x80008000
[ 21.549815] mxc-mipi-csi2.0: CSIS_ISPRESOL_CH3[74]: 0x80008000
[ 21.561135] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH0[48]: 0x00000000
[ 21.571271] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH1[58]: 0x00000000
[ 21.582603] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH2[68]: 0x00000000
[ 21.593911] mxc-mipi-csi2.0: CSIS_ISPSYNC_CH3[78]: 0x00000000
I tried different hs_settle values from th thread: https://community.nxp.com/t5/i-MX-Processors/Explenation-for-HS-SETTLE-parameter-in-MIPI-CSI-D-PHY-r...
&mipi_csi_0 {
status = "okay";
port@0 {
mipi_csi0_ep: endpoint {
remote-endpoint = <&eimx290_mipi_0_ep>;
data-lanes = <4>;
csis-hs-settle = <19>;
csis-clk-settle = <2>;
csis-wclk;
};
};
};
the output format i con figured as below
{
.name = "SRGGB10",
.fourcc = V4L2_PIX_FMT_SRGGB10,
.depth = { 16 },
.color = MXC_ISI_OUT_FMT_RAW16,
.memplanes = 1,
.colplanes = 1,
.mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10,
}
can any one help me where exactly i'm going wrong?
thanks in advance,
mukesh
Hi
I think that your current csis-hs-settle is too big, try lower values like 4 or 5
BR
Hi,
There's been an advice to check the HW connection first : https://community.nxp.com/t5/i-MX-Processors/Too-Many-CRC-and-ECC-errors-on-MIPI-CSI2-lane-of-iMX8MM...
Br,
K.
Hi khang,
Thanks for the reply,
When I try to capture the 1280x720 resolution using the command:
v4l2-ctl -d 1 -v width=1280,height=720 --stream-mmap --stream-skip=5 --stream-count=1 --stream-to=test.raw
the image is being captured with out any errors thrown for first capture, and the image contains data in only 1/5th of total image and the remaining pixel data is set 0x00.
And when I try to capture the image second time with the same command , it is not able to capture it.
I'm attaching the image captured in 720p
Thanks and regards,
mukesh
Hi @mukesh_kumar ,
You might need to look at the Basler's Camera Enablement Package (CEP) to see how they add support of their cameras into iMX8M platforms, particularly iMX8M Plus platform :
iMX8M Plus : https://www.baslerweb.com/en/sales-support/downloads/software-downloads/camera-enablement-package-fo...
Personal opinion, I find that Basler provides good examples for camera integration via ISI in their CEP. The rest problems are mostly related to the sensors' hardware and drivers themselves (mismatch of number of data-lanes, clock, ...).
Regards,
K.