lkml.org 
[lkml]   [2020]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC PATCH 0/3] v4l2 api changes for imx378 driver
    Date
    Hi all,

    I would like to discuss with you guys the next two following topics:

    * VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL:

    I'm working on a driver for the imx378 sensor but the current v4l2-subdev API 
    (VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL) doesn't allow you to set up a range of frame
    intervals. However, this is supported in the v4l2 device API level. My idea is
    to follow the same approach as the VIDIOC_SUBDEV_ENUM_FRAME_SIZE by setting a
    min and max intervals in the VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL to solve this
    missing support.

    This is the current output of VIDIOC_ENUM_FRAMEINTERVALS in continous mode:

    v4l2-ctl --list-frameintervals width=1920,height=1080,pixelformat=pRAA \
    -d /dev/video0
    ioctl: VIDIOC_ENUM_FRAMEINTERVALS
    Interval: Continuous 0.029s - 0.607s (1.648-34.797 fps)

    This is the current output of VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL:

    v4l2-ctl --list-subdev-frameintervals code=0x300f,width=1920,height=1080 \
    -d /dev/v4l-subdev19
    ioctl: VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL (pad=0)
    Interval: 0.029s (34.797 fps)

    So, the idea would be to return the interval range from the v4l2-subdev level
    to the device level. Besides that, it would also be necessary to adapt the
    v4l-utils tools (compliance and ctl).

    What do you think guys?
    Please, follow the RFC patch series to see my suggestion.

    * V4L2_CID_TEMPERATURE:

    In addition to this, the driver is able to report as a v4l2 control the
    temperature of the sensor. Since is quite 'general' control I also included the
    v4l2 temperature control as part of the common v4l2 control list.

    Would it be also possible?

    In the RFC patch series you will find the the modified code for the
    VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL and V4L2_CID_TEMPERATURE topics as well as
    the imx378 driver using the above.

    Daniel Gomez (3):
    media: v4l2-subdev.h: Add min and max enum
    media: v4l2: Add v4l2 control IDs for temperature
    media: imx378: Add imx378 camera sensor driver

    drivers/media/i2c/Kconfig | 11 +
    drivers/media/i2c/Makefile | 1 +
    drivers/media/i2c/imx378.c | 1829 ++++++++++++++++++++++++++
    drivers/media/v4l2-core/v4l2-ctrls.c | 5 +
    include/uapi/linux/v4l2-controls.h | 4 +-
    include/uapi/linux/v4l2-subdev.h | 6 +-
    6 files changed, 1854 insertions(+), 2 deletions(-)
    create mode 100644 drivers/media/i2c/imx378.c

    --
    2.25.1

    \
     
     \ /
      Last update: 2020-04-14 22:02    [W:2.709 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site