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: TDA4 linux kernel camera problem

Part Number: TDA4VM

Hi,

Is there a sample program for the deserializer serializer driver code on evm board in the code(SDK 08.01.00.07)?

We did not see the relevant driver code and dts. Please provide the code or path, thanks.

  • I am looking for the solution for FPD Link too. Have you tried the image from SDK 08.01.00.07? I cannot even boot up the image from SDK 08.01.00.07. The desktop GUI always disappear shortly after booting up.

  • Hi Lin, Chen,

    Let me check with the team and get back to you..

    Regards,

    Brijesh

  • Hi Lin, Chen,

    We currently dont have way/framework to configure SERDES in the Linux driver. The current released driver is validated using direct CSI sensor. 

    One possible solution is to modify the existing sensor driver in v4l2-subdev framework and update it for the SERDES settings also.. Could you please try it?

    Regards,

    Brijesh

  • One possible solution is to modify the existing sensor driver in v4l2-subdev framework and update ---- We need csi and sensor related configuration, I feel that the dts code is missing this part

  • Hi,

    We need csi and sensor related configuration, I feel that the dts code is missing this part

    Sorry, did not get it. Do you mean what configuration needs to be set in CSIRX driver? For Sensor configuration, you would require to check with sensor provider. 

    Regards,

    Brijesh

  • &csi0_port0 {
    csi2rx0_in_sensor: endpoint {
    //remote-endpoint = <&csi2_cam0>;
    remote-endpoint = <&max96722_out>;
    bus-type = <4>; /* CSI2 DPHY. */
    clock-lanes = <0>;
    data-lanes = <1 2 3 4>;
    };
    };

    &csi0_port1 {
    status = "disabled";
    };

    &csi0_port2 {
    status = "disabled";
    };

    &csi0_port3 {
    status = "disabled";
    };

    &csi0_port4 {
    status = "disabled";
    };

    We need csi0_port1 to csi0_port4  Configuration dts code.

    The following is our other platform csi dts code,

    port@1 {
    reg = <1>;
    mipi_csi2_0_out0: endpoint {
    //remote-endpoint = <&isp0_in>;
    remote-endpoint = <&videoinput0_in>;
    io-direction = "output";
    channel = <0>;
    /*
    * 0: Single pixel mode
    * 1: Dual pixel mode (RAW8/10/12, YUV422)
    * 2: Quad pixel mode (RAW8/10/12)
    * 3: Invalid
    */
    pixel-mode = <1>;
    };
    };
    port@2 {
    reg = <2>;
    mipi_csi2_0_out1: endpoint {
    remote-endpoint = <&videoinput1_in>;
    io-direction = "output";
    channel = <1>;
    pixel-mode = <1>;
    };
    };

    videoinput@1 {
    status = "disabled";
    cifport = <&cifport 6>;

    port {
    videoinput1_in: endpoint {
    remote-endpoint = <&mipi_csi2_0_out1>;
    io-direction = "input";
    bus-type = <0>;
    stream-enable = <1>; // VIN_CTRL.SE
    flush-vsync = <1>; // VIN_MISC.FVS
    };
    };
    };

  • Hi Brijesh,

    Could you give me more details that where is the v4l2-subdev framework drivers source code located?

    Are they in the user space and I can change them in the user space or I need to change and recompile them in the Yocto?

    Thanks! 

  • Hi Chen, Seven lin

    Any further update on this ticket? Are you able to get v4l2 driver working?

    Regards,

    Brijesh

  • I got same situation, so the official latest linux BSP does not support virtual channel yet using csi-bridge????

    My current status is one channel camera works using TI serdes solution, but it seems 2nd camera cannot connect to V4L2 layer, 'media-ctl -p' only shows camera 1 info.

    Bridge setting:

    csi0_port0 <-> camera 1 (O)

    csi0_port1 <-> camera 2 (X)

    please give me some directions if possible, because you have no any relate post, guide on official wiki... too bad...

  • Hi Cheng,

    Any specific reason for using Linux for CSIRX? You could use R5F driver, it supports both the CSIRX instances.

    Regards,

    Brijesh

  • Because our application is base on Linux OS, after I traced drivers/media/platform/cadence/cdns-csi2rx.c, it seems the driver will be created one v4l-subdev only, it's software limitation, right?

    As you said, TI overcome this limitation on freeRTOS for R5F, correct me if I'm wrong.

    But if HW IP does support virtual channel on CSI2RX, I can trying to modify drivers, just worry about it's hardware limitation, could you explain detail for this part? To avoid go to the wrong way, thanks.

  • Yes, this is just SW/driver limitation on Linux. HW does support multiple virtual channels for each CSIRX instance.. 

    Regards,

    Brijesh

  • Hi Brijesh,

    There 2 reasons we do not want to use R5F driver

    1. Our firmware team do not plane to do any R5F development for the final products and they want all on Linux for easy development and maintain

    2. We totally have no ideal how to cooperate the vide from R5F driver with the application in Linux since most of our application will be in Linux

    Unfortunately, we did not go any further to make the Linux CSIRX work, since lack of information of how to set the device tree and v4l2 layers.

    And our final goal is using FPD Link III camera which adds more complexity.

    We got the information that FPD Link III CSIRX drivers and examples will be ready in the next SDK release and we are waiting for it.

    Jiadong

  • Hello Jiadong:

    I also got news from TI official about CSI Virtual Channel will be supported in SDK 8.2, I try to download their latest kernel (tag 08.02.00.006) from TI git server, but it seems this tag still doesn't works.

    I think root cause is their CSI driver has only one SINK in pads:

    drivers/media/platform/cadence/cdns-csi2rx.c

    enum csi2rx_pads {
            CSI2RX_PAD_SINK,
            CSI2RX_PAD_SOURCE_STREAM0,
            CSI2RX_PAD_SOURCE_STREAM1,
            CSI2RX_PAD_SOURCE_STREAM2,
            CSI2RX_PAD_SOURCE_STREAM3,
            CSI2RX_PAD_MAX,
    };

    it cause only can link one subdev camera sensor at the same time.

    Wait next release is okay, at least they promise next release this function will works, just wonder J721e is not a modular or engineering SoC, why feature function does not implementation....

  • Hi ,

    Can you share your dts config? We still have problems with single channel, we are currently using R5F driver. thanks

  • Do you have skype id? We can sharing each other, thx

  • This sounds a good idea, since we are facing the same problem, we can set up a discussion group