| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- .. SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
- .. include:: <isonum.txt>
- .. _media-ccs-driver:
- MIPI CCS camera sensor driver
- =============================
- The MIPI CCS camera sensor driver is a generic driver for `MIPI CCS
- <https://www.mipi.org/specifications/camera-command-set>`_ compliant
- camera sensors.
- Also see :ref:`the CCS driver UAPI documentation <media-ccs-uapi>`.
- CCS static data
- ---------------
- The MIPI CCS driver supports CCS static data for all compliant devices,
- including not just those compliant with CCS 1.1 but also CCS 1.0 and SMIA(++).
- For CCS the file names are formed as
- ccs/ccs-sensor-vvvv-mmmm-rrrr.fw (sensor) and
- ccs/ccs-module-vvvv-mmmm-rrrr.fw (module).
- For SMIA++ compliant devices the corresponding file names are
- ccs/smiapp-sensor-vv-mmmm-rr.fw (sensor) and
- ccs/smiapp-module-vv-mmmm-rrrr.fw (module).
- For SMIA (non-++) compliant devices the static data file name is
- ccs/smia-sensor-vv-mmmm-rr.fw (sensor).
- vvvv or vv denotes MIPI and SMIA manufacturer IDs respectively, mmmm model ID
- and rrrr or rr revision number.
- CCS tools
- ~~~~~~~~~
- `CCS tools <https://github.com/MIPI-Alliance/ccs-tools/>`_ is a set of
- tools for working with CCS static data files. CCS tools includes a
- definition of the human-readable CCS static data YAML format and includes a
- program to convert it to a binary.
- Register definition generator
- -----------------------------
- The ccs-regs.asc file contains MIPI CCS register definitions that are used
- to produce C source code files for definitions that can be better used by
- programs written in C language. As there are many dependencies between the
- produced files, please do not modify them manually as it's error-prone and
- in vain, but instead change the script producing them.
- Usage
- ~~~~~
- Conventionally the script is called this way to update the CCS driver
- definitions:
- .. code-block:: none
- $ Documentation/driver-api/media/drivers/ccs/mk-ccs-regs -k \
- -e drivers/media/i2c/ccs/ccs-regs.h \
- -L drivers/media/i2c/ccs/ccs-limits.h \
- -l drivers/media/i2c/ccs/ccs-limits.c \
- -c Documentation/driver-api/media/drivers/ccs/ccs-regs.asc
- CCS PLL calculator
- ==================
- The CCS PLL calculator is used to compute the PLL configuration, given sensor's
- capabilities as well as board configuration and user specified configuration. As
- the configuration space that encompasses all these configurations is vast, the
- PLL calculator isn't entirely trivial. Yet it is relatively simple to use for a
- driver.
- The PLL model implemented by the PLL calculator corresponds to MIPI CCS 1.1.
- .. kernel-doc:: drivers/media/i2c/ccs-pll.h
- **Copyright** |copy| 2020 Intel Corporation
|