This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: The SDK8.2 , How can I get the results of the MIPI CRC check with Deserializer 96712 YUV sensor.

Part Number: TDA4VM

 Hi ,TI team,

   How can I get the results of the MIPI CRC check with Deserializer 96712 ,YUV sensor.

  Please provide a function interface,ths.


  • Hi,

    Driver registers callback for CRC interrupts and count these error interrupts. It also provides mechanism to register callback (IOCTL_CSIRX_REGISTER_EVENT) in the application. 



  • Hi,Brijesh,

       thank you for your reply. 

    If I want to get the result of MIPI CRC in the driver as The following file.


    how do this  "Driver registers callback" ? Give me a detailed example. ths.

  • Hi hu,

    Not sure why you want to get the callback in the sensor driver. but its possible, you could have a callback function in the sensor driver and register it in the OpenVX node using driver ioctl.. I dont think there is any example demonstrating the exact usecase.. You would require to add it. 



  • Hi,Brijesh,

    The thing is that, we need to manage the functional security of the camera in a unified manner. Now all interfaces, such as Sensor, Deserializer, Serializer, etc. are listed in iss_sensor_isx031.c, and the check result of the MIPI CRC should also be listed here, so as to facilitate unified security management measures. Could you help me to see how to get the result of MIPI CRC in iss_sensor_isx031.c?

  • Hi hu,

    CSIRX does not provide CRC values or ECC values, it just compares the calculated with the incoming values and generates the interrupt in case of mismatch. Do you mean to get this error interrupt in the sensor driver?

    Please refer to existing implementation in vx_capture_target.c file. You would need to additionally register error callback, which is part of eventPrms and this callback can be implemented in your imaging layer.. 



  • Hi,Brijesh,

    "Do you mean to get this error interrupt in the sensor driver?"   that is right. 

    Does “error interrupt” mean The number of CRC errors?

    Is it the two parameters in this file?csirx_drv.c

    captStat->crcCount = instObj->status.crcCount;
    captStat->eccCount = instObj->status.eccCount;

    And if so,help me break it down,Thank you very much.

    First, find a way to get the two parameters
    1、Next file is ready to obtain parameters,case TIVX_CAPTURE_GET_STATISTICS

    holoark_tda4_08_02/rtos_sdk/vision_apps/apps/basic_demos/app_multi_cam/main.c //case TIVX_CAPTURE_GET_STATISTICS

    2、Next file Does Ioctl,
    holoark_tda4_08_02/rtos_sdk/tiovx/kernels_j7/hwa/capture/vx_capture_target.c ////Ioctl

    3、Next file gets parameters “crcCount” and “eccCount”

    Then,begin callback

    4、Next file Sends Command tivxNodeSendCommand(obj->captureObj.node, 0, TIVX_CAPTURE_GET_STATISTICS, refs_static, 1u);
    5、Next file appRemoteServiceRun registers error callback

    6、Next file Call my own function

    Finally I got the CRC error interrupt number。

    It's really really complicated. Is there an easy and right way.thanks again!

  • Well, This is one way to get the CRC and ECC error count, ie the total number of errors that has occurred so far. 

    There is also a way to get the immediate callback from the driver. 

    Since the imaging framework and capture driver are running on the same core, you could have a function implemented and available in the sensor framework and have it available to the capture node. Now capture node can registers the callback and can call this API on ECC or CRC error. 

    You would probably have to extern this function implemented in imaging framework, in order to make it available in the capture node. 



  • Hi,Brijesh,

    Could you explain the method you mentioned in detail? 

    List it as I did above. ths

  • Hi

    In the sensor driver,

    - implement the callback function.

    - export this function in this CSIRX node

    - register this function as callback function in the CSIRX node. 

    You just need above three steps to get the CRC /ECC callbacks in the imaging driver.



  • Hi,Brijesh,

    thank you for your support. I will try .

    Best Regards!