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