AnsweredAssumed Answered

i.MX6 IPU CSI capture via IC fails with IC_ENC_FRM_LOST_ERR

Question asked by Baruch Siach on Jan 14, 2016
Latest reply on Jan 18, 2016 by Baruch Siach

Hi i.IMX community,


I'm trying to capture a video stream on the i.MX6 SABRE Smart Devices board from IPU CSI via IC and IDMAC (channel 20) to RAM. I'm using a slightly modified version of the OV5640 driver that makes the camera stream the frames in RGB format. I'm configuring the IC encoder task to convert from RGB to YUV for later processing by the VPU.


This setup works nicely under Linux. My target OS however is GHS Integrity. I can capture raw RGB frames when I use the SMFC and IDMAC (channel 0). But whenever I enable the IC encoder I see no EOF interrupt, but the IC_ENC_FRM_LOST_ERR status bit (INT_STAT_10) turns on.


Now before anyone asks, I know that the OV5640 camera can give me YUV directly. But my target application must support both YUV and RGB CSI capture. So I'm trying to simulate RGB capture on the SABRE Smart Devices board. I must convert the data to YUV since the VPU encoder only supports YUV input.


I verified that the configuration of ALL IPU registers is identical in both Linux and Integrity. I actually dumped the entire registers address space to be sure.


I would appreciate if anyone can shed some light on this IC_ENC_FRM_LOST_ERR status bit, or provide any other help.