Re: [PATCH v2 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
   sorry, I missed this one!

On Tue, Mar 28, 2023 at 05:52:48PM +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 v1:
>
> Use speclial double quotes around functions to use non-proportional font for
> them.
>
>  Documentation/driver-api/media/camera-sensor.rst      | 11 +++++++++++
>  .../userspace-api/media/v4l/ext-ctrls-camera.rst      |  1 +
>  2 files changed, 12 insertions(+)
>
> diff --git a/Documentation/driver-api/media/camera-sensor.rst b/Documentation/driver-api/media/camera-sensor.rst
> index c7d4891bd24e..2618a91b0d85 100644
> --- a/Documentation/driver-api/media/camera-sensor.rst
> +++ b/Documentation/driver-api/media/camera-sensor.rst
> @@ -151,3 +151,14 @@ 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 been implemented so that the camera sensor has been mounted
> +upside down compared to its natural mounting rotation. In such a case, the
> +:ref:`V4L2_CID_CAMERA_SENSOR_ROTATION <v4l2-camera-sensor-rotation>` control
> +shall indicate the mounting rotation.

I would put it in imperative form for driver developers

"Some systems have been implemented so that the camera sensor has been mounted
upside down compared to its natural mounting rotation. In such a case,
drivers should register the :ref:`V4L2_CID_CAMERA_SENSOR_ROTATION
<v4l2-camera-sensor-rotation>` control to report the information to
userspace."

I would also specify how drivers should initialize their flip controls

"Mode-based sensor driver implementations that have any vertical or
horizontal flips embedded in the register programming sequences should
initialize the V4L2_CID_HFLIP and V4L2_CID_VFLIP controls with the
values programmed by the register sequences.

Drivers which implement writable flip controls could automatically
compensate for the sensor's mounting rotation and shall reflect that in
the V4L2_CID_HFLIP and V4L2_CID_VFLIP controls initial and default values."

> +
> +Use ``v4l2_fwnode_device_parse()`` to obtain this information and
> +``v4l2_ctrl_new_fwnode_properties()`` to generate the appropriate controls.

I would also mention the orientation control before introducing
v4l2_fwnode_device_parse.

"Sensor drivers should also report their mounting orientation with the
:ref:`V4L2_CID_CAMERA_SENSOR_ORIENTATION <v4l2-camera-sensor-orientation>`.

Both controls can be registered by using the ``v4l2_fwnode_device_parse()``
function to obtain this information from the firmware interface and
``v4l2_ctrl_new_fwnode_properties()`` to generate the appropriate controls."

How does this work for you ?


> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> index daa4f40869f8..29fe22da52a2 100644
> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-camera.rst
> @@ -536,6 +536,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
> --
> 2.30.2
>



[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