Hi @joanxie :
Sorry for late reponse as I missed your latest update. From the csi interrupt triggerring information dumped, I did not intend to think the problem is on the mipi csi signal side as no crc or ecc error reported when hang, so I think it may be caused by ISI side, and then try to make camera work in pipe CSI0 - ISP0, but unluckily when using ISP pipe, I face the same issue.
So I go back to check the issue in ISI pipe.
Folowing your suggestion, I changed the value of "csis-hs-settle" in dts as each integer from 33 to 7, and also try with/without "csis-wclk" for each value, with below finding:
1. when "csis-hs-settle" is set in the range from 33 to 9, the csi interrput triggering information dumped is the same, capture application is stuck.
2. when "csis-hs-settle" is set in the range from 8 to 7, more intrrupt bit 16/17/19 is triggered, capture application is stuck.
3. switch between with/without "csis-wclk", no affect.
&mipi_csi_0 {
status = "okay";
port@0 {
mipi_csi0_ep: endpoint {
remote-endpoint = <&imx715_mipi_0_ep>;
data-lanes = <4>;
csis-hs-settle = <33>;
csis-wclk;
};
};
};
the camera mipi speed is 891M per lane, which "csis-hs-settle" value is the best?
For your information I have ever changed the CSI and ISI pixel clock to 1000M (currently is 500M), no help.
And the most interesting point is:
drivers/staging/media/imx/imx8-mipi-csi2-sam.c
drivers/staging/media/imx/imx8-mipi-csi2-sam.c
static const struct csis_pix_format mipi_csis_formats[] = {
{
.code = MEDIA_BUS_FMT_YUYV8_2X8,
.fmt_reg = MIPI_CSIS_ISPCFG_FMT_YCBCR422_8BIT,
.data_alignment = 16,
},
1. camera output data format is RAW12.
2. when fmt_reg is MIPI_CSIS_ISPCFG_FMT_YCBCR422_8BIT, data_alignment is 16, CSI can recevie data, capture application did not hang (in that case data application recevied is not correct, csi interrupt does not report error).
3. when fmt_reg is MIPI_CSIS_ISPCFG_FMT_RAW12, data_alignment is 32, CSI can recevie data, capture application did not hang (in that case data application recevied is not correct, , csi interrupt does not report error).
4. when fmt_reg is MIPI_CSIS_ISPCFG_FMT_RAW12, data_alignment is 16, CSI reports image data overflow, capture application hang (in that case csi still does not report error such as crc/ecc error).
I can not understand why CSI works like that, and can not find the answer from imx8mp user manual, and can not find the solution from imx8mp user manual.
Besides mipi csi signal error (I don't intend to think its mipi csi signal issue as no related csi error reported), any possible cause for that?
Best regards.
Johnson