@@ -22,6 +22,7 @@
* :doc:`/internal-api-html/index`
* |
* **Documentation for System Integrators**
+ * :doc:`/flash_driver_requirements`
* :doc:`/lens_driver_requirements`
* :doc:`/sensor_driver_requirements`
new file mode 100644
@@ -0,0 +1,40 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. include:: documentation-contents.rst
+
+.. _flash-driver-requirements:
+
+Flash Driver Requirements
+=========================
+
+libcamera handles V4L2 flash devices in the CameraFlash class and defines
+a consistent interface through its API towards other library components.
+
+The CameraFlash class uses the V4L2 subdev kernel API to interface with the
+camera flash through a sub-device exposed to userspace by the V4L2 flash driver.
+
+In order for libcamera to be fully operational and provide all the required
+information to interface with the camera flash to applications and pipeline
+handlers, the driver must support a set of mandatory features.
+
+Mandatory Requirements
+----------------------
+
+The flash driver is assumed to be fully compliant with the V4L2 specification.
+
+The flash driver shall support the following V4L2 controls:
+
+* `V4L2_CID_FLASH_LED_MODE`_
+* `V4L2_CID_FLASH_STROBE_SOURCE`_
+* `V4L2_CID_FLASH_STROBE`_
+* `V4L2_CID_FLASH_TIMEOUT`_
+* `V4L2_CID_FLASH_INTENSITY`_
+* `V4L2_CID_FLASH_TORCH_INTENSITY`_
+
+.. _V4L2_CID_FLASH_LED_MODE: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-flash.html
+.. _V4L2_CID_FLASH_STROBE_SOURCE: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-flash.html
+.. _V4L2_CID_FLASH_STROBE: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-flash.html
+.. _V4L2_CID_FLASH_TIMEOUT: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-flash.html
+.. _V4L2_CID_FLASH_INTENSITY: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-flash.html
+.. _V4L2_CID_FLASH_TORCH_INTENSITY: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-flash.html
+
@@ -14,6 +14,7 @@
Camera Sensor Model <camera-sensor-model>
Environment variables <environment_variables>
Feature Requirements <feature_requirements>
+ Flash driver requirements <flash_driver_requirements>
IPA Writer's guide <guides/ipa>
Lens driver requirements <lens_driver_requirements>
libcamera Architecture <libcamera_architecture>
@@ -159,6 +159,7 @@ if sphinx.found()
'documentation-contents.rst',
'environment_variables.rst',
'feature_requirements.rst',
+ 'flash_driver_requirements.rst',
'guides/application-developer.rst',
'guides/ipa.rst',
'guides/pipeline-handler.rst',
Document the requirements for the v4l2 flash device drivers required by libcamera. Signed-off-by: Matthias Fend <matthias.fend@emfend.at> --- Documentation/documentation-contents.rst | 1 + Documentation/flash_driver_requirements.rst | 40 +++++++++++++++++++++++++++++ Documentation/index.rst | 1 + Documentation/meson.build | 1 + 4 files changed, 43 insertions(+)