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.

OV10630 or OV10633 Linux kernel drivers for DM36x

I am interested in using an OV10630 or OV10633-based camera with a DM368 design. I don't see a Linux kernel driver in the DVSDK and my google searches have failed to turn up source code for it. It does look like one exists. Could anyone verify that it works and point me to the correct SDK that I should download?

Thanks,
Frank 

  • Please check out https://www.leopardimaging.com/LI-CAM_Camera_Boards.html. 

    This is supported on DM368 IPNC reference design platform. The camera can be purchased from Appro PhotoElectronics and the sensor board can be purchased from Leopard. You will get the driver once you purchase the reference design. 

    If you'd like to get the driver w/o buying the kit, please contact your local TI TSR/FAE.

    BTW, the driver is actually in user space, not your typical kernel space i2c driver.

    Xiangdong

  • Hi,

     I am currently evaluating the DM368, though I'm using a Leopardboard rather than the TI reference board. I have the TI SDK installed, along with the Ridge Run SDK and the Code Sourcery toolchain. I have been trying to get an OV10633 camera working, and was wondering about missing kernel drivers until I saw this post. So, if I understand this correctly, the OV10633 is not supported directly as a kernel driver (so won't appear as, say, /dev/video0, and won't be directly usable via v4l2)? This isn't necessarily a problem for me because I'm mostly interested in still frame capture. How can I get hold of that user mode driver? Am I likely to have it already buried somewhere in the TI DM368 SDK (deeply enough buried that I can't find it having looked pretty hard!), or do I need to request it?

    Thank you in advance,

    Sarah Thompson, SGT Inc./NASA Ames Research Center

  • Hi Sarah,

    First, you're not missing anything. I tried like you to find the driver in about every TI SDK that I could find. I also made repeated attempts to see if there was a driver inside TI. That apparently led to the above post, but after inquiring about the drivers I heard nothing. You may have better luck. I had the impression that others on this forum were more successful.

    While waiting for responses, a colleague was able to get a list of register values to send to the OV10633 to get it to capture video at 1280x800 and have good settings on the AGC. I ended up coding those in a v4l2 kernel driver. We're using a Leopardboard DM368 like you. We're pretty happy with the resulting video quality and we have several Leopardboard/OV10633 combos are in active use.

    The key was to get that magic list of register settings for the camera. Omnivision is sometimes helpful, but the documentation that I could get from them wasn't the greatest. They will provide register settings to get it to work, though. Writing the v4l2 driver wasn't too bad since it was a lot of copy/paste from an Aptina driver that TI does include in their SDK.

    Also, fwiw, we're using the TI SDK, but we needed to modify the included Linux kernel's board initialization code to work with the Leopardboard DM368. The default kernel has a lot of code to set up components on the EVM that are not on the DM368, and I think that I remember several of the PINMUX settings not being the way that we needed them.

    Hope this helps,

    Frank

  • Hi,

    Am getting confused with post here ! Is it possible to work on OV10630 on dvsdk kernel on dm368?

    Kindly reply

    Regards

    Rohit Shanbhag

  • Hi Rohit,

     Yes,  OV10630 can be integrated to DM368 using dvsdk software. Sice it is any other I2C based imaging device  like ov9712 or tvp514x, I dont see any reasons for failure. 

  • Hi Ravi,

    Can you please forward me the link or such to download linux driver for ov10630, which i can integrate in dvsdk?

    Regards

    Rohit

  • Hi Rohit, 

    I am not sure about online source code availability. May be you have to requst omnivision for the sensor data sheet and develop your own sensor deriver for it.

     

  • Frank,

    Would you happen to be able to supply the config you used for the OV10633 and/or the Kernel in order to get the sensor to capture via V4L2?  I currently have another OV sensor working in RAW mode and am trying to move over to the OV10633.  The problem is I am able to get the OV10633 up and running but ONLY in YUV mode and i cannot seem to get the VPFE to read in any buffers in this mode even though everything seems to initialize and run fine:

    / # gst-launch -e v4l2src input-src=ov10633 always-copy=false num-buffers=100 ! 'video/x-raw-yuv,format=(fourcc)NV12, width=1280, height=720, framerate=(fraction)30/1' ! queue ! dmaiaccel ! dmaienc_h264 encodingpreset=2 ratecontrol=2 ! dmaiperf print-arm-load=true ! flvmux ! filesink location=/root/testNew.flv &
    / # Setting pipeline to PAUSED ...
    davinci_resizer davinci_resizer.2: RSZ_G_CONFIG:0:1:124
    OV10633: ov10633_get_fmt
    vpfe-capture vpfe-capture: IPIPE Chained
    vpfe-capture vpfe-capture: Resizer present
    OV10633: ov10633_get_fmt
    OV10633: ov10633_querystd
    OV10633 : ov10633_s_std, std=800000000000000, norm=576460752303423488
    OV10633: ov10633_s_std: V4L2_STD_720P_30
    OV10633 : ov10633_s_std, std=00000000, norm=0
    OV10633: ov10633_s_std: NOT FOUND
    vpfe-capture vpfe-capture: Failed to set standard
    OV10633: ov10633_s_stream
    OV10633 : ov10633_configure
    OV10633 : ov10633_get_pclk
    OV10633: pclk=82666666, hts=1787, vts=771
    OV10633: r3003=0x1F r3004=0x12
    OV10633 : ov10633_software_reset
    Pipeline is live and does not need PREROLL ...
    WARNING: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to set norm for device '/dev/video0'.
    Additional debug info:
    ../../../src/sys/v4l2/v4l2_calls.c(743): gst_v4l2_set_norm (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    system error: Invalid argument
    WARNING: from element /GstPipeline:pipeline0/GstDmaiperf:dmaiperf0: Could not get/set settings from/on resource.
    Additional debug info:
    ../../src/src/gsttidmaiperf.c(273): gst_dmaiperf_start (): /GstPipeline:pipeline0/GstDmaiperf:dmaiperf0:
    Engine name not specified, not printing DSP information
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock

    So if i could either get the OV10633 to run in 10-bit RAW mode or get the VPFE to read buffers when in YUV mode i think things would be good, just cannot figure out where I am stuck at : /.

    Thanks,

    Jarrod

  • Alright i did get this to work in YUV mode by changing a few things:
    e2e.ti.com/.../1751175

    I still am unable to get this sensor to output data in RAW10 Long OR Short mode though : /. I emailed omnivision so maybe they will provide me with the correct register settings. If anyone has register settings that allow this mode to work though I would be very grateful!!!