| @@ -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 |