Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
[linux-2.6-block.git] / Documentation / media / v4l-drivers / cafe_ccic.rst
CommitLineData
f2ac8ce8
MCC
1.. SPDX-License-Identifier: GPL-2.0
2
8f6174a0
MCC
3The cafe_ccic driver
4====================
5
6Author: Jonathan Corbet <corbet@lwn.net>
7
7d56f0fa
S
8Introduction
9------------
8f6174a0 10
d905b382
JC
11"cafe_ccic" is a driver for the Marvell 88ALP01 "cafe" CMOS camera
12controller. This is the controller found in first-generation OLPC systems,
13and this driver was written with support from the OLPC project.
14
15Current status: the core driver works. It can generate data in YUV422,
16RGB565, and RGB444 formats. (Anybody looking at the code will see RGB32 as
17well, but that is a debugging aid which will be removed shortly). VGA and
18QVGA modes work; CIF is there but the colors remain funky. Only the OV7670
19sensor is known to work with this controller at this time.
20
21To try it out: either of these commands will work:
22
8f6174a0
MCC
23.. code-block:: none
24
25 $ mplayer tv:// -tv driver=v4l2:width=640:height=480 -nosound
26 $ mplayer tv:// -tv driver=v4l2:width=640:height=480:outfmt=bgr16 -nosound
d905b382
JC
27
28The "xawtv" utility also works; gqcam does not, for unknown reasons.
29
8f6174a0
MCC
30Load time options
31-----------------
32
d905b382
JC
33There are a few load-time options, most of which can be changed after
34loading via sysfs as well:
35
36 - alloc_bufs_at_load: Normally, the driver will not allocate any DMA
37 buffers until the time comes to transfer data. If this option is set,
38 then worst-case-sized buffers will be allocated at module load time.
39 This option nails down the memory for the life of the module, but
40 perhaps decreases the chances of an allocation failure later on.
41
42 - dma_buf_size: The size of DMA buffers to allocate. Note that this
43 option is only consulted for load-time allocation; when buffers are
44 allocated at run time, they will be sized appropriately for the current
45 camera settings.
46
47 - n_dma_bufs: The controller can cycle through either two or three DMA
48 buffers. Normally, the driver tries to use three buffers; on faster
49 systems, however, it will work well with only two.
50
51 - min_buffers: The minimum number of streaming I/O buffers that the driver
52 will consent to work with. Default is one, but, on slower systems,
53 better behavior with mplayer can be achieved by setting to a higher
54 value (like six).
55
56 - max_buffers: The maximum number of streaming I/O buffers; default is
57 ten. That number was carefully picked out of a hat and should not be
58 assumed to actually mean much of anything.
59
60 - flip: If this boolean parameter is set, the sensor will be instructed to
61 invert the video image. Whether it makes sense is determined by how
62 your particular camera is mounted.