arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / userspace-api / media / v4l / ext-ctrls-image-source.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3 .. _image-source-controls:
4
5 ******************************
6 Image Source Control Reference
7 ******************************
8
9 The Image Source control class is intended for low-level control of
10 image source devices such as image sensors. The devices feature an
11 analogue to digital converter and a bus transmitter to transmit the
12 image data out of the device.
13
14
15 .. _image-source-control-id:
16
17 Image Source Control IDs
18 ========================
19
20 ``V4L2_CID_IMAGE_SOURCE_CLASS (class)``
21     The IMAGE_SOURCE class descriptor.
22
23 ``V4L2_CID_VBLANK (integer)``
24     Vertical blanking. The idle period after every frame during which no
25     image data is produced. The unit of vertical blanking is a line.
26     Every line has length of the image width plus horizontal blanking at
27     the pixel rate defined by ``V4L2_CID_PIXEL_RATE`` control in the
28     same sub-device.
29
30 ``V4L2_CID_HBLANK (integer)``
31     Horizontal blanking. The idle period after every line of image data
32     during which no image data is produced. The unit of horizontal
33     blanking is pixels.
34
35 ``V4L2_CID_ANALOGUE_GAIN (integer)``
36     Analogue gain is gain affecting all colour components in the pixel
37     matrix. The gain operation is performed in the analogue domain
38     before A/D conversion.
39
40 ``V4L2_CID_TEST_PATTERN_RED (integer)``
41     Test pattern red colour component.
42
43 ``V4L2_CID_TEST_PATTERN_GREENR (integer)``
44     Test pattern green (next to red) colour component.
45
46 ``V4L2_CID_TEST_PATTERN_BLUE (integer)``
47     Test pattern blue colour component.
48
49 ``V4L2_CID_TEST_PATTERN_GREENB (integer)``
50     Test pattern green (next to blue) colour component.
51
52 ``V4L2_CID_UNIT_CELL_SIZE (struct)``
53     This control returns the unit cell size in nanometers. The struct
54     :c:type:`v4l2_area` provides the width and the height in separate
55     fields to take into consideration asymmetric pixels.
56     This control does not take into consideration any possible hardware
57     binning.
58     The unit cell consists of the whole area of the pixel, sensitive and
59     non-sensitive.
60     This control is required for automatic calibration of sensors/cameras.
61
62 .. c:type:: v4l2_area
63
64 .. flat-table:: struct v4l2_area
65     :header-rows:  0
66     :stub-columns: 0
67     :widths:       1 1 2
68
69     * - __u32
70       - ``width``
71       - Width of the area.
72     * - __u32
73       - ``height``
74       - Height of the area.
75
76 ``V4L2_CID_NOTIFY_GAINS (integer array)``
77     The sensor is notified what gains will be applied to the different
78     colour channels by subsequent processing (such as by an ISP). The
79     sensor is merely informed of these values in case it performs
80     processing that requires them, but it does not apply them itself to
81     the output pixels.
82
83     Currently it is defined only for Bayer sensors, and is an array
84     control taking 4 gain values, being the gains for each of the
85     Bayer channels. The gains are always in the order B, Gb, Gr and R,
86     irrespective of the exact Bayer order of the sensor itself.
87
88     The use of an array allows this control to be extended to sensors
89     with, for example, non-Bayer CFAs (colour filter arrays).
90
91     The units for the gain values are linear, with the default value
92     representing a gain of exactly 1.0. For example, if this default value
93     is reported as being (say) 128, then a value of 192 would represent
94     a gain of exactly 1.5.