83 lines · plain
1.. SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause2 3.. include:: <isonum.txt>4 5.. _media-ccs-driver:6 7MIPI CCS camera sensor driver8=============================9 10The MIPI CCS camera sensor driver is a generic driver for `MIPI CCS11<https://www.mipi.org/specifications/camera-command-set>`_ compliant12camera sensors.13 14Also see :ref:`the CCS driver UAPI documentation <media-ccs-uapi>`.15 16CCS static data17---------------18 19The MIPI CCS driver supports CCS static data for all compliant devices,20including not just those compliant with CCS 1.1 but also CCS 1.0 and SMIA(++).21For CCS the file names are formed as22 23 ccs/ccs-sensor-vvvv-mmmm-rrrr.fw (sensor) and24 ccs/ccs-module-vvvv-mmmm-rrrr.fw (module).25 26For SMIA++ compliant devices the corresponding file names are27 28 ccs/smiapp-sensor-vv-mmmm-rr.fw (sensor) and29 ccs/smiapp-module-vv-mmmm-rrrr.fw (module).30 31For SMIA (non-++) compliant devices the static data file name is32 33 ccs/smia-sensor-vv-mmmm-rr.fw (sensor).34 35vvvv or vv denotes MIPI and SMIA manufacturer IDs respectively, mmmm model ID36and rrrr or rr revision number.37 38CCS tools39~~~~~~~~~40 41`CCS tools <https://github.com/MIPI-Alliance/ccs-tools/>`_ is a set of42tools for working with CCS static data files. CCS tools includes a43definition of the human-readable CCS static data YAML format and includes a44program to convert it to a binary.45 46Register definition generator47-----------------------------48 49The ccs-regs.asc file contains MIPI CCS register definitions that are used50to produce C source code files for definitions that can be better used by51programs written in C language. As there are many dependencies between the52produced files, please do not modify them manually as it's error-prone and53in vain, but instead change the script producing them.54 55Usage56~~~~~57 58Conventionally the script is called this way to update the CCS driver59definitions:60 61.. code-block:: none62 63 $ Documentation/driver-api/media/drivers/ccs/mk-ccs-regs -k \64 -e drivers/media/i2c/ccs/ccs-regs.h \65 -L drivers/media/i2c/ccs/ccs-limits.h \66 -l drivers/media/i2c/ccs/ccs-limits.c \67 -c Documentation/driver-api/media/drivers/ccs/ccs-regs.asc68 69CCS PLL calculator70==================71 72The CCS PLL calculator is used to compute the PLL configuration, given sensor's73capabilities as well as board configuration and user specified configuration. As74the configuration space that encompasses all these configurations is vast, the75PLL calculator isn't entirely trivial. Yet it is relatively simple to use for a76driver.77 78The PLL model implemented by the PLL calculator corresponds to MIPI CCS 1.1.79 80.. kernel-doc:: drivers/media/i2c/ccs-pll.h81 82**Copyright** |copy| 2020 Intel Corporation83