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