Lines Matching +full:keep +full:- +full:power +full:- +full:in +full:- +full:suspend

1 .. SPDX-License-Identifier: GPL-2.0
8 This document covers the in-kernel APIs only. For the best practices on
9 userspace API implementation in camera sensor drivers, please see
12 CSI-2, parallel and BT.656 buses
13 --------------------------------
15 Please see :ref:`transmitter-receiver`.
18 ---------------
24 firmware. **No other frequencies should be used in any circumstances.**
27 come out of the SoC, and in many cases a specific frequency is designed to be
28 used in the system. Using another frequency may cause harmful effects
29 elsewhere. Therefore only the pre-determined frequencies are configurable by the
35 Read the ``clock-frequency`` _DSD property to denote the frequency. The driver
41 The preferred way to achieve this is using ``assigned-clocks``,
42 ``assigned-clock-parents`` and ``assigned-clock-rates`` properties. See the
44 <https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/clock/clock.yaml>`_
53 Power management
54 ----------------
56 Camera sensors are used in conjunction with other devices to form a camera
57 pipeline. They must obey the rules listed herein to ensure coherent power
60 Camera sensor drivers are responsible for controlling the power state of the
62 power states. Runtime PM shall be enabled at probe time and disabled at remove
64 :ref:`async sub-device registration <media-registering-async-subdevs>`.
67 system resources required to power the sensor up and down. For drivers that
71 In general, the device shall be powered on at least when its registers are
75 streaming. They may power the device up at probe time (for example to read
76 identification registers), but should not keep it powered unconditionally after
79 At system suspend time, the whole camera pipeline must stop streaming, and
85 therefore **not** keep track of the streaming state to stop streaming in the PM
86 suspend handler and restart it in the resume handler. Drivers should in general
90 operation, as it is deprecated. While this operation is implemented in some
96 Please also see :ref:`examples <media-camera-sensor-examples>`.
101 ``v4l2_ctrl_handler_setup()`` function may not be used in the device's runtime
102 PM ``runtime_resume`` callback, as it has no way to figure out the power state
103 of the device. This is because the power state of the device is only changed
104 after the power state transition has taken place. The ``s_ctrl`` callback can be
105 used to obtain device's power state after the power state transition:
109 The function returns a non-zero value if it succeeded getting the power count or
110 runtime PM was disabled, in either of which cases the driver may proceed to
114 ----------------------------------
120 .. _media-camera-sensor-examples:
123 ---------------
129 .. flat-table:: Example sensor drivers
130 :header-rows: 0
133 * - Driver name
134 - File(s)
135 - Driver type
136 - Example topic
137 * - CCS
138 - ``drivers/media/i2c/ccs/``
139 - Freely configurable
140 - Power management (ACPI and DT), UAPI
141 * - imx219
142 - ``drivers/media/i2c/imx219.c``
143 - Register list based
144 - Power management (DT), UAPI, mode selection
145 * - imx319
146 - ``drivers/media/i2c/imx319.c``
147 - Register list based
148 - Power management (ACPI and DT)