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.

FVID2 driver usage on DM385 IPNC RDK 3.5

I've read this guide:

http://processors.wiki.ti.com/index.php/TI81XX_PSP_VIDEO_CAPTURE_Driver_User_Guide#Software_Design_Interfaces

and also went over the comments in

Source/ti_tools/iss_03_80_00_00/packages/ti/psp/iss/iss.h

and

Source/ti_tools/hdvpss_01_00_01_37/packages/ti/psp/vps/fvid2.h

But the usage is still unclear.

Looking at the wiki document, it seems like it should be possible to use FVID2 IOCTLs from Linux on A8  using a driver file located under /dev to control the camera and the sensor.

Is there any further documentation for this?

  • Hi Eliba,

     

    Sensor and Camera drivers are not supported on A8. This description is for the VPSS drivers, which are supported on A8 using V4L2 and Fbdev frameworks.

     

    Rgds,

    Brijesh

  • Hi Brijesh, Thanks for your reply.

    This is from the wiki:

    • VPSS FVID2 Library

    This is a HAL/functional layer controlling the Firmware running over the M3. It exposes the number of APIs controlling the video compositors, VENCs, graphics/video pipelines to the user interface drivers like V4L2 and FBDEV. It translates the V4L2/Fbdev data structures and ioctl to FVID2 data structures and command, and call the Linux Syslink IPC notify function to pass FVID2 data structures and commands to Firmware running over the M3 processor. 

    If I understand correctly, this means that FVID2 can be controlled through V4L2/Fbdev from A8.

    If that is not possible, how can I use the FVID2 API to control the image sensor using FVID2_Control() and such?

  • Hi Eliba,

     

    Sensor control is not supported on A8, you will require M3 code for this, please contact your local TI FAE to get more help on this.

     

    Rgds,

    Brijesh

  • Hi Brijesh,

    Could you provide a little more detail?

    I have M3 code to control the sensor after receiving an FVID2_control()

    I wanted to know if there is a way to trigger calls to FVID2 functions from A8.

    If this not possible, how is the FVID2 API supposed to be used? Do I need to add a custom handler on M3 to receive messages from A8 to do so?

  • Hi Eliba,

     

    You could send command from A8 using links, you could add custom command in the camera link and that command could be send from A8. Under that command in camera link, you could call Sensor driver's ioctl.

     

    Rgds,

    Brijesh

  • Thanks Brijesh,

    I have one more question: Is it possible to add custom IOCTLs to FVID2? If yes, how would I do this? I see that IOCTLs are mapped to memory addresses.

  • Eliba,

    Yes it should be possible. Can you please give an example of what you would like to add?

    Regards

    Rajat

  • Hi Rajat,

    I'd like to add more ISS sensor IOCTLs

    For example, right now I have:

    IOCTL_ISS_SENSOR_xxxxxx [UPDATE_FRAMERATE, UPDATE_ITT, UPDATE_EXP_GAIN, REG_READ, REG_WRITE, etc...]

    I'd like to add IOCTLS to change other sensor settings from the camera link by using FVID2_Control()

    Can i simply take the following line:

    #define IOCTL_ISS_SENSOR_PWM_CONFIG \
    (ISS_SENSOR_IOCTL_BASE + 0x0F)

    and change it to something like this:

    #define IOCTL_ISS_SENSOR_CUSTOM_COMMAND1 \
    (ISS_SENSOR_IOCTL_BASE + 0x10)

    ?

  • As long as you add each command with different identifier (i.e. ISS_SENSOR_IOCTL_BASE + 0x10) I think you can add any number of IOCTLs.

    Regards
    Rajat