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.

DM38x video capture with CSI2

Other Parts Discussed in Thread: TVP7002, DM385

Hi,

We wish to connect DM385 with OV5640 using the MIPI CSI-2 interface in one configuration, and with TW6874 using the parallel video port in a different configuration. I saw an example connecting TVP7002 in ti81xx_fb.c kernel file, probably using the parallel video port, but I could not understand the following:

1. How is the VPSS instructed whether to use the parallel video port or the CSI port for video capture?

2. Is there an example that uses CSI-2 that we can use to define the sensor sub-device configuration (struct ti81xxvin_subdev_info) ?

Thanks,

Gadi Bergman

  • Hello,

    What is the software release that you are using here?

    BR
    Margarita
  • Hello Margarita,

    I have the latest TI kernel for 81xx dated January 2014. If you are asking about PSP, then I am currently downloading 4.4.0.1, which should be the latest for 813x. Am I correct?

    Thanks,
    Gadi
  • Hello,

    I assume that you are using IPNC, is that right?

    You could check this topic it could be in help for DM385 + OV5640:

    e2e.ti.com/.../973403

    BR
    Margarita
  • Hello Margarita,

    Thanks, I read that other topic which also speaks about DM385+OV5640, but I could not find the answers to my questions. Now I have more questions about the ISS driver - How is it involved in the overall picture? Is it part of the Linux kernel ? Is it part of the M3? Do I need to compile it?

    BR,
    Gadi
  • Hi,

    ISS drivers are available only on M3 and only on IPNC package. You will require to get IPNC package and add a new sensor in the driver to get it working..

    Rgds,
    Brijesh
  • Hi Brijesh,

    Thanks, I do have the IPNC RDK package. It contains two suspicious m3 firmware files: ipnc_rdk_fw_m3video.xem3 and ipnc_rdk_fw_m3vpss.xem3.
    It also contains two scripts that load these firmware files:
    load_video.sh: ./bin/fw_load.out startup VIDEO-M3 ./firmware/ipnc_rdk_fw_m3video.xem3
    load_vpss.sh: ./bin/fw_load.out startup VPSS-M3 ./firmware/ipnc_rdk_fw_m3vpss.xem3

    Do I need both of them for video capture or only one, and if one, which one?
    How do I know if they are configured to use the parallel port or the MIPI CSI port for capture?
    When adding the CSI sensor driver, did you mean to add it as a V4L2 sub-device like the TVP7002 example in ti81xx_fb.c and then to use it with V4L2 commands?

    BR,
    Gadi
  • Hi Gadi,

    Both the firmwares are actually for the M3 present on DM38x. ISS drivers are present only on the Vpss, so you may not require videom3 firmware, but it really depends on your usecase.

    Btw, you require source code for vpss firmware, you will have to add support for new sensor in iss drivers.. Please contact your local TI FAE to get the source code..

    Rgds,
    Brijesh
  • Hi Brijesh,

    I understand I only need to use the VPSS firmware, but first I need to find a local TI FAE, apply some code changes for the OV5640 sensor and recompile the firmware to create a new .xem3 file. How can I compile this firmware? May I use a GCC ARM Cortex M3 compiler? Is there a dedicated compiler from TI? What is this .xem3 format?

    Now suppose I want to capture using the parallel port from TW6874 in BT.1120 format. Is there a VPSS .xem3 firmware file ready to use for this purpose?

    Thanks,
    Gadi
  • Hi Gadi,

    As brijesh  mentioned, currently OV5640 sensor support is not available in the ISS Drivers.

    1>. Refer any of the ov**** driver in the path :: kernel/drivers/media/video/ov*****.c

    2>. You can create your own similar driver by changing these file:

    • kernel/drivers/media/video/ov5640.c (new file)
    • kernel/drivers/media/video/Kconfig    (give an entry)
    • kernel/drivers/media/video/Makefile   (give an entry to compile it)
    • kernel/arch/arm/mach-omap*/board-***.c  (add new i2c board info)

    In case, you are using device tree file, plz check this thread: https://lwn.net/Articles/658779/

    Regards

    Gajanan

  • Hi Gajanan,

    Thank you for your answer. I already have an OV5640 driver (ov5640.c) working well using the parallel port with DM368. I believe and hope it will not be too difficult to modify it to work in MIPI mode with CSI2. I have the sensor documentation.

    My question was related to the ISS and M3, what to do with the M3 firmware, which firmware works in parallel, which in MIPI, how to differentiate, compile, and what code changes if any to apply.

    Regards,
    Gadi
  • Hi Gadi,

    When you say, it works with the parallel interface, which subsystem you are using to capture. is it ISS or VPSS? there are two subsytems supporting parallel interfaces..

    Rgds,
    Brijesh
  • Hi Brijesh,

    We have the OV5640 working with DM368, not DM385. DM368 uses VPFE with ISIF, CCDC and IPIPE.
    We wish to have this sensor working with DM385 using MIPI CSI2.

    Thanks,
    Gadi