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.

Linux/DRA75: VIP1 - VIN2A device node registration for camera capture

Part Number: DRA75

Tool/software: Linux

Hello,

We are working on bringing up ov10640 camera on our J6 based custom board using PSDK-Linux 3.04.
Our pipeline is J6-OV490-UB964==FPDLink==UB913-OV10640.
For this, we have configured the Ser-Deser along with OV10640 sensor using i2cset commands. Also OV490 firmware is getting loaded.
We are able to probe the PCLK and data at OV10640 sensor side, Se-Deser input and output side and also OV490 PCLK and data.
VIN2A coming from OV490 to J6 is also probed and we see clock and data.
With this, we are using dmabuf to capture and display the images.
We are refering the following wiki page :
Query :
VIP1 and VIN2A are configured in the DT.
VIP driver is enabled in the kernel and is getting loaded when we see the logs.
We don't see the device file /dev/video1 when we boot.
We are referring Vision based dts files to configure in DT but no help.
Please help us in doing configuration for VIP1 and VIN2A to capture the incoming data and display.
Thanks
Naren K
  • Hi Naren,

    VIP is the video port controller, you can use the unmodified driver from the Linux SDK.

    There should be a camera specific driver that you need for the OV490 device.

    In Linux, when the V4L2 driver binds with the right V4L2 subdevice, then the /dev/videoX device gets registered.

    For this to work, you need the V4L2 subdevice driver and link the device tree node to the vin2a DT node.

    Regards,

    Nikhil D

  • Thanks Nikhil for your quick reply.

    We are following below steps. Please let us know if this is recommended.

    1. Configure the DT for OV490--UB964====UB913--OV10640 (With reference to vision board's DT entries for OV490 and 1063x)

    2. Load the VIP driver.

    3. Use i2cset tool to configure OV490--UB964====UB913--OV10640.
    We see the slave ids of all the above using i2cdetect tool.

    4. Probe the PCLK and data at OV10640 sensor, Ser-Deser, OV490 and VIN2A of J6 side.

    5. With above steps of 1 to 4, we should see the /dev/video1

    6. Use dmabutest to capture and display on LCD.

    We will eventually move to your recommended design of OV camera sensor driver but we want to test using above method if our pipeline is correct.
    There is no OV10640 camera driver in PSDK and hence we will use it to modify from 1063x.

    Let me know your valuable insight.

    Thanks
    Naren k
  • Hi,

    /dev/video1 is just the kernel entity. It will get registered when the VIP driver binds correctly with the subdev device.

    As long as you ensure that the subdev device is probed (as a hack mechanism, you are using OV1063x driver for this I assume)

    So, OV1063x probe should be successful and it should register a V4L2 subdevice driver.

    Only then the VIP driver callback will register video devices /dev/videoX to be used by applications.

    But this sounds very weird because there can be many reasons for 1063x driver to fail without an actual ov1063x device.

    I highly recommend you to implement the right V4L2 subdevice driver with required ops like g/s_fmt s_stream, etc

    You can put the i2c configuration sequence in the subdev driver.

    Regards,

    Nikhil D

  • Thanks Nikhil.
    We will follow your guidelines and try.
  • Hi,

    Any update? You can close the thread if it solved the issue.

    Regards,

    Nikhil D

  • Hi Nikhil,
    Thanks for your reply.

    We are in the process of modifying the driver as per your suggestion.

    We are doing the OV490, Ser-Deser and 10640 sensor configuration in the driver itself.
    Currently we have registered the OV490 with slave id 24 and VIN2A input port.

    We see following logs in kernel dmesg

    ov490 34-0024: ov490 34-0024 sensor driver registered !!
    vip1-s1: Port A: Using subdev ov490 34-0024 for capture

    But, we are not able to get the /dev/video1 entry to access the OV490 driver.

    Any insight from your side will be of great help!

    Thanks
    Naren K.
  • Hi Nikhil,

    As a follow up to the previous post, we have an observation.

    Our path is J6--OV490--Deser===Ser--OV10640.

    OV490 to J6 camera data is DVP output.

    But in the below wiki page, the OV490 to J6 has CSI2 data out.
    processors.wiki.ti.com/.../OMAP5_GLSDK_Software_Developers_Guide

    Will this cause the V4L2 sub device not being registered properly due to which we don't see /dev/video1?
    Let me know your insight.


    Thanks,
    Naren K
  • Hi Nikhil,

    We have moved forward now and are able to capture-file store Pattern Generator using YAVTA application.
    Next, we will display the Pattern Generator and then move to working on capture display from OV10640 sensor.

    Thanks for your valuable insights and kind help.


    Regards,
    Naren k
  • Naren
    Can we mark this thread as closed in which case