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.

SK-TDA4VM: Processors forum

Part Number: SK-TDA4VM
Other Parts Discussed in Thread: TDA4VM,

Hi,experts

I have a double TDA4 Board which use 96722 as Deserializer。The Deserializer config with 2x4 lanes mode and output 4 lanes to each TDA4 CSIRX。I  run  vx_app_multi_cam app as follow:

1. After Power On ,run  vx_app_multi_cam and two TDA4s can work correctly。

2. Type 'x' ,exit 

3. Run vx_app_multi_cam again ,just one TDA4 can receive data and display.

I have reproduced  above issue  many times 。

So,I have some questions:

1、What is different in the csirx driver bettwen the first time(power on) and  the second time? Any state keep in csirx driver?

2、Why one TDA4 can work but the other?I can see same signal  (use oscilloscope ) to each other。

3、Is there any error which make udma stop ?I find the no-work tda4 enter follow code postion one time (after running the app in the second time):

csirx udma error

Please give some suggestions  to me,I have no idea about it .

TSK !

  • Hello,

    Thank you for your question!

    Is this running on the SK-TDA4VM (which is a blue small board) or TDA4VM EVM (which is a big green board)? We only support vision apps demo on the EVM for TDA4VM and not on the SK board. 

    Regards,

    Takuma

  • Hi,It is ourself Board which reference EVM. Can you give same suggestions about the question ?  I only found that csirx udma was called just one time but had some error. How can I locate the real reason ? Thank you very much !!!

    What is the different bettwen Part Number:SK-TDA4VM and TDA4VM ? Maybe My PartNo should be TDA4VM 。

  • Hello,

    Ah got it, apologies for the confusion. SK-TDA4VM is a "S"tarter "K"it board that TI provides for evaluating the TDA4VM SoC. If it is a custom board or EVM board, TDA4VM for the part number is more appropriate. 

    I will let our CSI camera expert know about your question and they should be able to help you out.

    Regards,

    Takuma

  • While we wait for our expert's input, I have found some similar E2E where they see similar issues due to the format of the camera used. If your camera is not YUV420 format, then this may be the cause of the issue we are currently seeing.

    In below E2E, they are using 96722 deserializer and multiple camera:

    They also see that single camera works fine, but when they try multiple cameras they see some issue. The issue for them was that their camera was using a format that was not supported by one of the OpenVX node that they used for enabling multiple cameras.

    Regards,

    Takuma

  • Thank you for your reply. My problem is different with that E2E .By far,I have no good method to debug  the problem and to locate the reason。I hope your experts can give some sugguestions.

    Regards,

    bao

  • Hi bao,

    Please find answers to your questions below. 

    1、What is different in the csirx driver bettwen the first time(power on) and  the second time? Any state keep in csirx driver?

    AFAIK, there should not be any difference between runs. Are you doing any thing specific in sensor between the two runs? Like any reset or any delay??

    2、Why one TDA4 can work but the other?I can see same signal  (use oscilloscope ) to each other。

    I did not get it? How are you connecting two TDA4x?

    3、Is there any error which make udma stop ?I find the no-work tda4 enter follow code postion one time (after running the app in the second time):

    udma will stop if CSIRX is not receiving any data. Otherwise, even in error conditions, it will still capture and give callback, with error indicating about error frames.. 

    Regards,

    Brijesh

  • 1 AFAIK, there should not be any difference between runs. Are you doing any thing specific in sensor between the two runs? Like any reset or any delay??

       They use the same driver and app,so  I think there are not different between runs.

    2 、I did not get it? How are you connecting two TDA4x?

    MAXIN 96722 can be configed with replication mode which can output two same mipi signal to two TDA4x.

    3、udma will stop if CSIRX is not receiving any data. Otherwise, even in error conditions, it will still capture and give callback, with error indicating about error frames..

    I want to know the reason why CSIRX is not receiving any data,if there are some rigsters to be check ?

    Regards,

    Bao

  • Hi Bao,

    MAXIN 96722 can be configed with replication mode which can output two same mipi signal to two TDA4x

    Can you please check if this deserializer is configured to output in replicated mode? please read back the register to confirm the same. 

    I want to know the reason why CSIRX is not receiving any data,if there are some rigsters to be check ?

    Are the data type, virtual channel, CSI lane speed, and other parameters remain same between between two channels? Also is the sw running on both the TDA4x same? 

    Regards,

    Brijesh

  • Hi, Brijesh

    So far,I have checked deserializer , which was configed to output in replicated mode. I have also checked csirx registers,the CSI_RX_IF_VBUS2APB_INFO_IRQS have value 0x00000022 when it work ,it  have 0x00000000 when it does not work.

    I think there is something wrong with csi2rx dphy(mipi protocol),but the maunal (TRM) about the dphy are rather obscure.

    1、Is there a link about the dphy‘s function and how to use it

    2、Can you tell me which rgister should I check if dphy meet error or are there any registers indicating the reason when  it meet error ?

    3、Another question ,CSI2RX must be start-up before  CSI2TX ?

    Regards,

    Bao

  • Hi Bao,

    CSIRX and CSITX are different modules and should not any connection. They also use different PHY and different DMA channels.. 

    Why do you say CSIRX must be started before CSITX? Is CSITX connected back to CSIRX? 

    Regards,

    Brijesh

  • Hi,

    I’m sorry ! I mean the deserializer‘s CSITX .

  • Hi Bao,

    You should enable/start streaming from CSITX of deserializer only after vxVerifyGraph is called/completed, otherwise CSIRX may not work correctly. 

    Regards,

    Brijesh

  • Hi Brijesh,

    What about the other questions ?

    1、Is there a link about the dphy‘s function and how to use it ?

    2、Can you tell me which rgister should I check if dphy meet error or are there any registers indicating the reason when  it meet error  

    Regards,

    Bao

  • Hi Bao,

    1、Is there a link about the dphy‘s function and how to use it ?

    Sorry did not get your question, what do you mean link of dphy's function? 

    2、Can you tell me which rgister should I check if dphy meet error or are there any registers indicating the reason when  it meet error  

    Please check ERROR status registers of PHY, Shim and Stream. This will provide most of the error status..

    Regards,

    Brijesh