History

media: Documentation: ccs: Add user documentation for the CCS driver

Add user documentation for the CCS driver. This includes e.g. sub-devices implemented by the driver.

Sakari Ailus committed 6 years ago

Commit db08f691 parent cd9f1453 files · +61 −0Browse files

Unified · Split

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