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: CSIRX driver interrupt can't trigger

Part Number: TDA4VM

We are using max96712 as the deserializer, max9295 as the serializer, and the camera sensor is ar0820. Now we have some questions in the process of bring up the camera

At present, we have configured the deserializer and the serializer success, as well as the camera register. Make sure the deserializer lock signal is set. Hardware test can see the signal output on Mipi CSI.

But when we run the application multi_cam/single_cam ,There is no image acquisition in the cam process, and the pipeline process is not executed in the whole application.

we uses below pipeline,and we can see the correct image by path 2 

ar0820->MAX9295->MAX96712->TDA4 (path 1)

                                       |---------->MAX9295->MAX9296->host tools (path 2)

Through further analysis, we find that the following functions are not triggered:  CsirxDrv_udmaCQEventCb

My question is

1) How can I locate the problem

2) Whether the application needs to modify the captureobj > params parameter.

  • Hi Zhang,

    Let check few things first, can you make sure below configuration is setup correctly?

    1, data type,

    2, virtual channel id

    3, lane speed,

    4, lane ordering

    In addition, can you read DPHY_STATUS register (0x04504048) register and share its value?

    Regards,

    Brijesh

  • for application multi_cam/single_cam we use  captureObj->params  as follows:

    1, data type,  TIVX_RAW_IMAGE_16_BIT

    2, virtual channel id,default

    3, lane speed,TIVX_CAPTURE_LANE_BAND_SPEED_880_TO_1040_MBPS

    4, lane ordering,default

    for iss_sensor we use default IssSensor_Info.

    According to the information obtained from the camera configuration, the lane configuration of Mipi of camera 9295 is 936mbps / lane, the data format is raw12, the PCLK is 156m, the port A of 96712 is connected to tda4, and port B is connected to 9295.

    CSI_RX_IF_VBUS2APB_ERROR_IRQS :0x0

    CSI_RX_IF_VBUS2APB_ERROR_IRQS :0x0

    CSI_RX_IF_VBUS2APB_DPHY_STATUS  :0x00222206

  • Hi Zhang,

    It seems input lanes are toggling and it is getting detected. 

    I see you are setting image format as TIVX_RAW_IMAGE_16_BIT, but what is the value of msb field in the same structure?  If it is set to 11, then only it will use RAW12 format. 

    Also please make sure that the virtual channel id of the output is same as configured in the capture module. This is configured in chVcNum variable in the capture parameters..

    Regards,

    Brijesh

  • Hi ,Brijesh

    I checked the hardware schematic diagram and found that the deserializer is connected to CSI module 1 of tda4.

    Does this mean that I can't use the default configuration of capture node? What parameters do I need to change.

    In addition, I reread the register and the result is as follows: 

    CSI_RX_IF_VBUS2APB0_INFO_IRQS           :        0x0
    CSI_RX_IF_VBUS2APB0_ERROR_IRQS       :        0x0
    CSI_RX_IF_VBUS2APB0_DPHY_STATUS     :        0x222206
    CSI_RX_IF_VBUS2APB1_INFO_IRQS            :       0x20
    CSI_RX_IF_VBUS2APB1_ERROR_IRQS       :        0x0
    CSI_RX_IF_VBUS2APB1_DPHY_STATUS     :        0x333306

    Regards

  • Hi Zhang,

    Which application are you using? 

    Changing instance id is very simple, you just need to set tivx_capture_params.instId[0] to value 1. Rest all parameters can remain same. Can you try with this change?

    Regards,

    Brijesh

  • Hi, Brijesh

    The applications(both app_single_cam and app_multi_cam) are still not working, after we modified tivx_capture_params.instId[0] to value 1.

    Is the dphy receiving normal?Does application exception caused by UDMA interrupt which can't triggered?

    besides,The datatype we're using is {TIVX_RAW_IMAGE_16_BIT, 11}, /*dataFormat and MSB [0]*/,which is RAW12。

  • Hi Zhang,

    Your DPHY status register seems to say that it is detecting activities on the lanes, which it is receiving some data. 

    Lets first try to bring up single camera example. 

    Can you please make sure that the datatype field in the ar080 output, or may in the deserializer output is set to RAW12bit? and also virtual channel is set to 0x0? 

    Regards,

    Brijesh