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.

creating /dev/video0

Other Parts Discussed in Thread: TVP5146

Hello!

 

I have ported the PSP version 3.00.01.06 to my custom development board; everything seems to be working fine. The only thing i'm having trouble with is the omap34xxcam driver. It compiles and loads just fine, but /dev/video0 is never created.

 

After looking over the documentation, it appears i need a video decoder such as the tvp514x. My video is generated in a custom FPGA which has BT656 lines driven directly to the omap, so there is no decoder. Is there any way i can get to software to take this raw stream, forgoing a decoder driver?

 

i have tried to make no-op decoder drivers using the tvp514x driver as a model, but /dev/video0 still never seems to be created. Can anyone cast some light on this issue for me?

 

 

Thank you very much,

Woody

  • Sorry for replying to my own post, but could any one please point me to the right place to get this information? Perhaps there is another forum i ought to post to...

     

    if i have asked this question on the wrong forum, i apologize.

     

    Thanks,

    Woody

  • Have you checked board-omap3evm-camera.c ?  For tvp5146 and OMAP3, there are some initialization work is done in this file, such as struct omap34xxcam_hw_config, struct isp_interface, the master device "omap34xxcam", etc.

    I am also working on modifying the tvp5146 driver to work with other video decoder chip. Though it is not quite finished, but the /dev/video0 is created.

  • Yea, my approach was to take that driver and cut just about everything out of it so that it did nothing. I think what i'm going to do next is just paste all of the init from that file in and only remove the i2c calls. that way all of those functions will still be called, but will be no-op.


     Thank you very much for replying.

     

    EDIT: note that i'm gonna have to change i2c_driver structure to platform_driver structure. this is actually quite non-trivial.

  • I just wanted to bump this thread since I moved it to the Linux forum, in the hopes that one of the PSP engineers may have some comment on possible reasons udev would fail when removing the i2c aspects of the capture driver.

  • Well, i got it working. The minimum ioctls needed to implement a v4l2 slave driver for the omap34xxcam are as follows:

     

       {vidioc_int_dev_init_num, (v4l2_int_ioctl_func*) ioctl_dev_init},
       {vidioc_int_dev_exit_num, (v4l2_int_ioctl_func*) ioctl_dev_exit},
       {vidioc_int_s_power_num, (v4l2_int_ioctl_func*) ioctl_s_power},
       {vidioc_int_g_priv_num, (v4l2_int_ioctl_func*) ioctl_g_priv},
       {vidioc_int_init_num, (v4l2_int_ioctl_func*) ioctl_init},
       {vidioc_int_enum_fmt_cap_num, (v4l2_int_ioctl_func *) ioctl_enum_fmt_cap},
       {vidioc_int_try_fmt_cap_num, (v4l2_int_ioctl_func *) ioctl_try_fmt_cap},
       {vidioc_int_g_fmt_cap_num, (v4l2_int_ioctl_func *) ioctl_g_fmt_cap},
       {vidioc_int_s_fmt_cap_num, (v4l2_int_ioctl_func *) ioctl_s_fmt_cap},
       {vidioc_int_querystd_num, (v4l2_int_ioctl_func *) ioctl_querystd},
       {vidioc_int_s_std_num, (v4l2_int_ioctl_func *) ioctl_s_std}

     

    i was missing ioctl_g_priv, so the driver wouldn't initialize properly. Thanks a lot for steering me in the right direction!