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.

omap-l138 video capture demo on Linux

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

The omapl138 is used for camera design, and linux is chosen as internal OS on ARM. in the DevKit ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106, the cmos drivers, such as Mt9P031 and OV5640, can be found in the linux kernel. However, no any application demo is found in the SDK. It seems difficult to know how to use the driver to get video streams from CMOS sensor. I imprt a project on DM6446 for omapl138, it brings about many errors because the difference of Monstvista and Ubuntu. Furthmore, I need a demo for omapl138 on ubuntu, just as DM6446 on Monstvista. I also need a demo for network application.

Where to find a demo for it?

  • Hello,

    I am looking into who would be the best person to comment on camera resources. In the meantime, could you give us more details about what kind of networking you are interested in?

    Regards,

    Nick

  • I am working on smart camera with L138, so I have to complete picture capture and networking transmitting, and finally to GigE vision application. I have succeded in this pplication with DM6446, and working in importing it onto L138. However, the DM6446 used Montavista, while L138 uses ubuntu, furthmore, the vpif driver is much different from vffe of DM6446, I need a application demo on L138 for picture capture and TCP/UDP on ubuntu.

  • VPIF driver:
    I am not aware of a VPIF demo on the latest Linux Processor SDK 6.3, but I'll double check. We did document a demo on an old version of software. I've attached a download of the old wiki page below. Note that the wiki information is provided as-is: there will be broken links, I have not tried to follow the steps in the wiki, and I cannot answer questions about the wiki page.

    OMAP-L138_VPIF_wiki.zip

    Note that the TI SDK is not ubuntu. I am asking around to learn more about ethernet on OMAP-L138, please ping the thread if I have not replied by the end of the week.

    Regards,

    Nick

  • I got confirmation that we did not do a video capture demo for SDK 6.3. However, LCDK EVM does has a VPIF port for capture using D1 and leopard imaging sensor.

    Regards,

    Nick

  • Indeed, I didn't find video capture demo in SDK 6.3, but it doesn't matter. could you tell me which version has  the video capture demo? I can get this version to use for my design. 

  • The TI processor Wiki is unaccessiable now, so that liitle information can be got. 

    where to download PSP release 03.21.00.04 if vpif video capture was added into it? what is the SDK version? I find the SDK 6.3 has much different linux menu configuration items from that listed in the wiki page.

  • The davinci PSP release can be found here:
    http://software-dl.ti.com/dsps/dsps_public_sw/psp/LinuxPSP/DaVinci_03_21/index.html

    However, keep in mind that this software is 10 years old. TI no longer supports it, and most of the documentation is offline. And while I can dig around and find old processors.wiki.ti.com pages in my archives, I do not know of any way to access the DaVinci PSP documentation that was on wiki.davincidsp.com.

    I will need a couple more days to look into Ethernet on OMAP-L138 Linux SDK 6.3. Please ping me if I have not replied by next week.

    Regards,

    Nick

  • I put much effort in the omapl138 video capture driver and its application. The Mt9P031, cmos sensor, its driver can be found, and vpif and vpif_cature driver are all built into linux kernel, but I can't find device /dev/video0, I update dts da850-lcdk.dts for omapl138 board, the device can't be found yet. I think it is dts issue which makes video device lost. could you give me a dts file for omapl138 mt9p031 driver?

  • Hello,

    Yes, da850-lcdk.dts is the dts file for the lcdk EVM.

    TI did not make mt9p031 or write the driver for it, so we will be limited in the support we can offer. However, there is bindings documentation for the part, and it does look like someone has used it in a device tree file.

    Try searching with this:
    grep -r mt9p031
    in these locations:
    arch/arm/boot/dts
    Documentation/devicetree/bindings

    Regards,

    Nick

  • When the linux kernel is booted, a message is found in the uart log.  

    media: Linux media interface: v0.10
    videodev: Linux video capture interface: v2.00

    remoteproc remoteproc0: remote processor dsp is now up
    vpif 1e17000.video: vpif probe success
    [ OK ] Started udev Coldplug all Devices.

     vpif_capture vpif_capture: Error registering v4l2 subdevice

    in the above information, it is obvious that vpif driver works well, while vpif_capture driver fails. I don't know the rseason. I use ti-processor-sdk-linux-omapl138-lcdk-06.01.00.08, it contains drivers of vpif, vpif_driver, and sensor mt9p031, is it possible that bad vpif_driver code makes the driver fail? Has anyone else ever succeed in the camera design in the past years?

    in hte dts of da850-lcdk.dts,

    &vpif {
    pinctrl-names = "default";
    pinctrl-0 = <&vpif_capture_pins>;
    status = "okay";
    };

    no vpif_cature node is found in the dts, it is valid for vpif_capture drive? where to find a demo script as baseline to make sure that dts is absolutely correct. 

  • Hello,

    You do not need a separate device tree entry for vpif_capture. Do note that the vpif node is defined first in da850.dtsi, and then da850-lcdk.dts / da850-evm.dts depending on what board you use.

    We are starting to get towards the edge of where I can help you. Since video capture was not explicitly tested in this release, I am not sure whether the device tree vpif node is expected to work out of the box, or whether it needs additional modifications.

    These resources may be helpful:
    * vpif bindings documentation is at Documentation/devicetree/bindings/media/ti,da850-vpif.txt
    * The error is happening in drivers/media/platform/davinci/vpif_capture.c function vpif_probe. You could potentially peek inside what the kernel driver is doing by adding printk statements as documented at https://training.ti.com/debugging-embedded-linux-systems-training-series

    Regards,

    Nick

  • Following da850-vpif.txt, I updated da850-lcdk.dts, it seems to make progress, and the uart gives log messsage 

    [ OK ] Started udev Coldplug all Devices.
    vpif 1e17000.video: vpif probe success
    sysfs: cannot create duplicate filename '/bus/platform/devices/vpif_capture'
    CPU: 0 PID: 104 Comm: systemd-udevd Tainted: G O 4.19.59-g5f8c1c6121 #1
    Hardware name: Generic DA850/OMAP-L138/AM18x
    Backtrace:
    [<c0014778>] (dump_backtrace) from [<c00149f0>] (show_stack+0x18/0x1c)
    r7:c5974860 r6:c5974860 r5:c608b480 r4:c5a29000

     r7:0000017b r6:beb72ddc r5:00000000 r4:00000000
    vpif_capture vpif_capture: Error registering v4l2 subdevice

    it means vpif driver start working, but vpif_capture has issue. I seek all vpif_cature in the L138 board, vpif_capture doesn't exist.

    root@omapl138-lcdk:/sys/bus/platform/drivers/vpif_capture/module/drivers# ls -l
    lrwxrwxrwx 1 root root 0 Mar 15 06:00 platform:vpif_capture -> ../../../bus/platform/drivers/vpif_capture

    In sdk-lcdk-06-03-00-106, the vpif driver has item "compatible", while vpif_capture driver has not this item, they have different architecture? I don't know their relation to each other.

  • Following da850-vpif.txt, I updated da850-lcdk.dts, it seems to make progress, and the uart gives log messsage 

    [ OK ] Started udev Coldplug all Devices.
    vpif 1e17000.video: vpif probe success
    sysfs: cannot create duplicate filename '/bus/platform/devices/vpif_capture'
    CPU: 0 PID: 104 Comm: systemd-udevd Tainted: G O 4.19.59-g5f8c1c6121 #1
    Hardware name: Generic DA850/OMAP-L138/AM18x
    Backtrace:
    [<c0014778>] (dump_backtrace) from [<c00149f0>] (show_stack+0x18/0x1c)
    r7:c5974860 r6:c5974860 r5:c608b480 r4:c5a29000

     r7:0000017b r6:beb72ddc r5:00000000 r4:00000000
    vpif_capture vpif_capture: Error registering v4l2 subdevice

    it means vpif driver start working, but vpif_capture has issue. I seek all vpif_cature in the L138 board, vpif_capture doesn't exist.

    root@omapl138-lcdk:/sys/bus/platform/drivers/vpif_capture/module/drivers# ls -l
    lrwxrwxrwx 1 root root 0 Mar 15 06:00 platform:vpif_capture -> ../../../bus/platform/drivers/vpif_capture

    In sdk-lcdk-06-03-00-106, the vpif driver has item "compatible", while vpif_capture driver has not this item, they have different architecture? I don't know their relation to each other.

    Is there a vpif_capture driver in the linux kernel before the vpif video capture is loaded into linux? the two different drivers have same a name? however, I search it in the linux source code, no other capture is found. I don't know how to make the board load driver correctly.

  • Hello,

    I am not going to have time to look at your request for the rest of this week. I am not entirely sure how vpif, vpif_capture, and vpif_display interact without looking at the drivers again. However, my guess is that vpif.c gets probed when the device tree node vpif is read during boot, and then vpif_capture and vpif_display are called from that file.

    Regards,

    Nick

  • Hi Nick,

    Could you take a look at my issue? I am thirsty for your help.  I use DevKit ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106, the device video0 should be found in the /dev folder of linux even no cmos sensor is used, I think. If you tell me which version of SDK can run correctly with video driver working well, I can use it as baseline for my camera application.