Re: [PATCH v4 1/1] Documentation: v4l: Document rotation and orientation for sensor drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sakari,

Thank you for the patch.

On Wed, Apr 05, 2023 at 08:27:20PM +0300, Sakari Ailus wrote:
> Document how rotation and orientation should be taken into account in
> writing camera sensor drivers.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> ---
> since v3:
> 
> - Add a missing paragraph on the ORIENTATION control. Use shall.
> 
>  .../driver-api/media/camera-sensor.rst        | 19 +++++++++++++++++++
>  .../media/v4l/ext-ctrls-camera.rst            |  3 +++
>  2 files changed, 22 insertions(+)
> 
> diff --git a/Documentation/driver-api/media/camera-sensor.rst b/Documentation/driver-api/media/camera-sensor.rst
> index c7d4891bd24e..ad9accb3fd40 100644
> --- a/Documentation/driver-api/media/camera-sensor.rst
> +++ b/Documentation/driver-api/media/camera-sensor.rst
> @@ -151,3 +151,22 @@ used to obtain device's power state after the power state transition:
>  The function returns a non-zero value if it succeeded getting the power count or
>  runtime PM was disabled, in either of which cases the driver may proceed to
>  access the device.
> +
> +Rotation and orientation
> +------------------------
> +
> +Some systems have the camera sensor mounted upside down compared to its natural
> +mounting rotation. In such cases, drivers shall expose the information to
> +userspace with the :ref:`V4L2_CID_CAMERA_SENSOR_ROTATION
> +<v4l2-camera-sensor-rotation>` control.
> +
> +Sensor drivers that have any vertical or horizontal flips embedded in the
> +register programming sequences shall initialize the V4L2_CID_HFLIP and
> +V4L2_CID_VFLIP controls with the values programmed by the register sequences.

This feels out of place, as it covers flipping in the "Rotation and
orientation" section, and sits between paragraphs related to rotation
and orientation. I understand this paragraph relates to drivers enabling
180° rotation through h/v flip, but that's not clear enough.

> +
> +Sensor drivers shall also report the sensor's mounting orientation with the
> +:ref:`V4L2_CID_CAMERA_SENSOR_ORIENTATION <v4l2-camera-sensor-orientation>`.
> +
> +Use ``v4l2_fwnode_device_parse()`` to obtain rotation and orientation
> +information from system firmware and ``v4l2_ctrl_new_fwnode_properties()`` to
> +register the appropriate controls.
> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> index daa4f40869f8..cdc515c60468 100644
> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> @@ -506,6 +506,8 @@ enum v4l2_scene_mode -
>      value down. A value of zero stops the motion if one is in progress
>      and has no effect otherwise.
>  
> +.. _v4l2-camera-sensor-orientation:
> +
>  ``V4L2_CID_CAMERA_ORIENTATION (menu)``
>      This read-only control describes the camera orientation by reporting its
>      mounting position on the device where the camera is installed. The control
> @@ -536,6 +538,7 @@ enum v4l2_scene_mode -
>        - The camera is not directly attached to the device and is freely movable.
>  
>  
> +.. _v4l2-camera-sensor-rotation:
>  
>  ``V4L2_CID_CAMERA_SENSOR_ROTATION (integer)``
>      This read-only control describes the rotation correction in degrees in the

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux