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