summaryrefslogtreecommitdiffstats
path: root/Documentation/media/v4l-drivers/cpia2_overview.rst
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2016-07-17 16:03:31 -0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-07-17 22:41:07 -0300
commit70c95242c45d7e6af4c0b4aba4119280eb3aa5de (patch)
tree5f53f78613b175a3798a7aafe06d7fa5e292a391 /Documentation/media/v4l-drivers/cpia2_overview.rst
parentbde8bea759f45f24392d3114f550e05ec9635bd9 (diff)
downloadop-kernel-dev-70c95242c45d7e6af4c0b4aba4119280eb3aa5de.zip
op-kernel-dev-70c95242c45d7e6af4c0b4aba4119280eb3aa5de.tar.gz
[media] doc-rst: Move v4l docs to media/v4l-drivers
Move V4L documentation files to media/v4l-drivers. Those aren't core stuff, so they don't fit at the kAPI document. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'Documentation/media/v4l-drivers/cpia2_overview.rst')
-rw-r--r--Documentation/media/v4l-drivers/cpia2_overview.rst38
1 files changed, 38 insertions, 0 deletions
diff --git a/Documentation/media/v4l-drivers/cpia2_overview.rst b/Documentation/media/v4l-drivers/cpia2_overview.rst
new file mode 100644
index 0000000..ad6adbe
--- /dev/null
+++ b/Documentation/media/v4l-drivers/cpia2_overview.rst
@@ -0,0 +1,38 @@
+ Programmer's View of Cpia2
+
+Cpia2 is the second generation video coprocessor from VLSI Vision Ltd (now a
+division of ST Microelectronics). There are two versions. The first is the
+STV0672, which is capable of up to 30 frames per second (fps) in frame sizes
+up to CIF, and 15 fps for VGA frames. The STV0676 is an improved version,
+which can handle up to 30 fps VGA. Both coprocessors can be attached to two
+CMOS sensors - the vvl6410 CIF sensor and the vvl6500 VGA sensor. These will
+be referred to as the 410 and the 500 sensors, or the CIF and VGA sensors.
+
+The two chipsets operate almost identically. The core is an 8051 processor,
+running two different versions of firmware. The 672 runs the VP4 video
+processor code, the 676 runs VP5. There are a few differences in register
+mappings for the two chips. In these cases, the symbols defined in the
+header files are marked with VP4 or VP5 as part of the symbol name.
+
+The cameras appear externally as three sets of registers. Setting register
+values is the only way to control the camera. Some settings are
+interdependant, such as the sequence required to power up the camera. I will
+try to make note of all of these cases.
+
+The register sets are called blocks. Block 0 is the system block. This
+section is always powered on when the camera is plugged in. It contains
+registers that control housekeeping functions such as powering up the video
+processor. The video processor is the VP block. These registers control
+how the video from the sensor is processed. Examples are timing registers,
+user mode (vga, qvga), scaling, cropping, framerates, and so on. The last
+block is the video compressor (VC). The video stream sent from the camera is
+compressed as Motion JPEG (JPEGA). The VC controls all of the compression
+parameters. Looking at the file cpia2_registers.h, you can get a full view
+of these registers and the possible values for most of them.
+
+One or more registers can be set or read by sending a usb control message to
+the camera. There are three modes for this. Block mode requests a number
+of contiguous registers. Random mode reads or writes random registers with
+a tuple structure containing address/value pairs. The repeat mode is only
+used by VP4 to load a firmware patch. It contains a starting address and
+a sequence of bytes to be written into a gpio port.
OpenPOWER on IntegriCloud