xref: /linux/Documentation/admin-guide/media/omap3isp.rst (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1.. SPDX-License-Identifier: GPL-2.0
2
3.. include:: <isonum.txt>
4
5OMAP 3 Image Signal Processor (ISP) driver
6==========================================
7
8Copyright |copy| 2010 Nokia Corporation
9
10Copyright |copy| 2009 Texas Instruments, Inc.
11
12Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
13Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
14
15
16Introduction
17------------
18
19This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
20driver located under drivers/media/platform/ti/omap3isp. The original driver was
21written by Texas Instruments but since that it has been rewritten (twice) at
22Nokia.
23
24The driver has been successfully used on the following versions of OMAP 3:
25
26- 3430
27- 3530
28- 3630
29
30The driver implements V4L2, Media controller and v4l2_subdev interfaces.
31Sensor, lens and flash drivers using the v4l2_subdev interface in the kernel
32are supported.
33
34
35Split to subdevs
36----------------
37
38The OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
39having one subdev to represent it. Each of the subdevs provide a V4L2 subdev
40interface to userspace.
41
42- OMAP3 ISP CCP2
43- OMAP3 ISP CSI2a
44- OMAP3 ISP CCDC
45- OMAP3 ISP preview
46- OMAP3 ISP resizer
47- OMAP3 ISP AEWB
48- OMAP3 ISP AF
49- OMAP3 ISP histogram
50
51Each possible link in the ISP is modelled by a link in the Media controller
52interface. For an example program see [#]_.
53
54
55Controlling the OMAP 3 ISP
56--------------------------
57
58In general, the settings given to the OMAP 3 ISP take effect at the beginning
59of the following frame. This is done when the module becomes idle during the
60vertical blanking period on the sensor. In memory-to-memory operation the pipe
61is run one frame at a time. Applying the settings is done between the frames.
62
63All the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
64insist on receiving complete frames. Sensors must thus never send the ISP
65partial frames.
66
67Autoidle does have issues with some ISP blocks on the 3430, at least.
68Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
69is non-zero.
70
71Technical reference manuals (TRMs) and other documentation
72----------------------------------------------------------
73
74OMAP 3430 TRM:
75<URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
76Referenced 2011-03-05.
77
78OMAP 35xx TRM:
79<URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
80
81OMAP 3630 TRM:
82<URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
83Referenced 2011-03-05.
84
85DM 3730 TRM:
86<URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
87
88
89References
90----------
91
92.. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
93