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.

IMX6 TVP5151 error

Other Parts Discussed in Thread: TVP5151, TVP5150

Hello!

 

I'm trying to connect camera and get any data from it. The connection scheme looks like this: Camera=>TVP5151=>CSI0 parallel interface=>IPU0

 

I added TVP5151 support in the device tree:

 

&i2c1 {

    clock-frequency = <100000>;

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_i2c1_2>;

    status = "okay";

 

    videoin: tvp5151@5D {

        compatible = "ti,tvp5150";

        reg = <0x5D>;

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_ipu1_2>;

        clocks = <&clks 201>;

        clock-names = "csi_mclk";

        mclk = <24000000>;

        mclk_source = <0>;

        ipu_id = <0>;

        csi_id = <0>;

        cvbs = <1>;

    };

};

 

I also added:

v4l2_cap_0 {

        compatible = "fsl,imx6q-v4l2-capture";

        ipu_id = <0>;

        csi_id = <0>;

        mclk_source = <0>;

        status = "okay";

    };

 

I2C connection works fine - I can read TVP5151 registers and its values are correct. The problem is that when I try to open video device:

 

cat /dev/video0

 

I get this error:

 

ERROR: v4l2 capture: slave not found!

 

I found that this error is caused by function mxc_v4l_open() (mxc_v4l2_capture.c). After calling:

 

cam_data *cam = video_get_drvdata(dev);

 

the pointer cam->sensor is NULL, so we get the error:

if (cam->sensor == NULL)

    {

        pr_err("ERROR: v4l2 capture: slave not found!\n");

        return -EAGAIN;

    }

 

What is a reason of such a behaviour?

 

Thank you in advance!

  • You will need to talk with Freescale or your software stack vendor for software & driver related questions.

    BR,

    Steve

  • Freescale support said the problem is in TI driver so they adviced to talk with TI support. Seems like nobody can help...
  • TI doesn't explicitly write any drivers that I am aware of. You might find some TI employees helping on community software forums, but that is not officially TI code I don't believe.

    I would suggest trying the forums for the software stack.

    Unfortunately this particular forum is primarily focused on the hardware side of things since there are many, many software/hardware platforms.

    Your issue is fundamentally a software issue I think, and you will likely get better support from a forum which supports your particular software platform.

    It will also be VERY processor specific for things like configuring the processor video ports in the correct format etc... TI cannot help with that unfortunately since we don't have any knowledge of the host processor details.

    The video output stream from the TVP is a standards compliant stream so as long as you can talk to the TVP (which it appears you can) then simply enable the clock and data outputs and the TVP side of things is done. Everything else is then on the host processor configuration (Freescale) and the system software side (software stack provider). If your software is open source then you may need to do a little work to write or adapt your own specific drive or configuration.

    BR,
    Steve
  • Ok, thank you for your answer!