| @@ -0,0 +1,59 @@ |
| 1 | +.. SPDX-License-Identifier: GPL-2.0-only |
| 2 | + |
| 3 | +.. include:: <isonum.txt> |
| 4 | + |
| 5 | +MIPI CCS camera sensor driver |
| 6 | +============================= |
| 7 | + |
| 8 | +The MIPI CCS camera sensor driver is a generic driver for `MIPI CCS |
| 9 | +<https://www.mipi.org/specifications/camera-command-set>`_ compliant |
| 10 | +camera sensors. It exposes three sub-devices representing the pixel array, |
| 11 | +the binner and the scaler. |
| 12 | + |
| 13 | +As the capabilities of individual devices vary, the driver exposes |
| 14 | +interfaces based on the capabilities that exist in hardware. |
| 15 | + |
| 16 | +Pixel Array sub-device |
| 17 | +---------------------- |
| 18 | + |
| 19 | +The pixel array sub-device represents the camera sensor's pixel matrix, as well |
| 20 | +as analogue crop functionality present in many compliant devices. The analogue |
| 21 | +crop is configured using the ``V4L2_SEL_TGT_CROP`` on the source pad (0) of the |
| 22 | +entity. The size of the pixel matrix can be obtained by getting the |
| 23 | +``V4L2_SEL_TGT_NATIVE_SIZE`` target. |
| 24 | + |
| 25 | +Binner |
| 26 | +------ |
| 27 | + |
| 28 | +The binner sub-device represents the binning functionality on the sensor. For |
| 29 | +that purpose, selection target ``V4L2_SEL_TGT_COMPOSE`` is supported on the |
| 30 | +sink pad (0). |
| 31 | + |
| 32 | +Additionally, if a device has no scaler or digital crop functionality, the |
| 33 | +source pad (1) expses another digital crop selection rectangle that can only |
| 34 | +crop at the end of the lines and frames. |
| 35 | + |
| 36 | +Scaler |
| 37 | +------ |
| 38 | + |
| 39 | +The scaler sub-device represents the digital crop and scaling functionality of |
| 40 | +the sensor. The V4L2 selection target ``V4L2_SEL_TGT_CROP`` is used to |
| 41 | +configure the digital crop on the sink pad (0) when digital crop is supported. |
| 42 | +Scaling is configured using selection target ``V4L2_SEL_TGT_COMPOSE`` on the |
| 43 | +sink pad (0) as well. |
| 44 | + |
| 45 | +Additionally, if the scaler sub-device exists, its source pad (1) exposes |
| 46 | +another digital crop selection rectangle that can only crop at the end of the |
| 47 | +lines and frames. |
| 48 | + |
| 49 | +Digital and analogue crop |
| 50 | +------------------------- |
| 51 | + |
| 52 | +Digital crop functionality is referred to as cropping that effectively works by |
| 53 | +dropping some data on the floor. Analogue crop, on the other hand, means that |
| 54 | +the cropped information is never retrieved. In case of camera sensors, the |
| 55 | +analogue data is never read from the pixel matrix that are outside the |
| 56 | +configured selection rectangle that designates crop. The difference has an |
| 57 | +effect in device timing and likely also in power consumption. |
| 58 | + |
| 59 | +**Copyright** |copy| 2020 Intel Corporation |