162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci.. include:: <isonum.txt>
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciOMAP 3 Image Signal Processor (ISP) driver
662306a36Sopenharmony_ci==========================================
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciCopyright |copy| 2010 Nokia Corporation
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciCopyright |copy| 2009 Texas Instruments, Inc.
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciContacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
1362306a36Sopenharmony_ciSakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciIntroduction
1762306a36Sopenharmony_ci------------
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciThis file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
2062306a36Sopenharmony_cidriver located under drivers/media/platform/ti/omap3isp. The original driver was
2162306a36Sopenharmony_ciwritten by Texas Instruments but since that it has been rewritten (twice) at
2262306a36Sopenharmony_ciNokia.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciThe driver has been successfully used on the following versions of OMAP 3:
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci- 3430
2762306a36Sopenharmony_ci- 3530
2862306a36Sopenharmony_ci- 3630
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciThe driver implements V4L2, Media controller and v4l2_subdev interfaces.
3162306a36Sopenharmony_ciSensor, lens and flash drivers using the v4l2_subdev interface in the kernel
3262306a36Sopenharmony_ciare supported.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciSplit to subdevs
3662306a36Sopenharmony_ci----------------
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciThe OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
3962306a36Sopenharmony_cihaving one subdev to represent it. Each of the subdevs provide a V4L2 subdev
4062306a36Sopenharmony_ciinterface to userspace.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci- OMAP3 ISP CCP2
4362306a36Sopenharmony_ci- OMAP3 ISP CSI2a
4462306a36Sopenharmony_ci- OMAP3 ISP CCDC
4562306a36Sopenharmony_ci- OMAP3 ISP preview
4662306a36Sopenharmony_ci- OMAP3 ISP resizer
4762306a36Sopenharmony_ci- OMAP3 ISP AEWB
4862306a36Sopenharmony_ci- OMAP3 ISP AF
4962306a36Sopenharmony_ci- OMAP3 ISP histogram
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciEach possible link in the ISP is modelled by a link in the Media controller
5262306a36Sopenharmony_ciinterface. For an example program see [#]_.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciControlling the OMAP 3 ISP
5662306a36Sopenharmony_ci--------------------------
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciIn general, the settings given to the OMAP 3 ISP take effect at the beginning
5962306a36Sopenharmony_ciof the following frame. This is done when the module becomes idle during the
6062306a36Sopenharmony_civertical blanking period on the sensor. In memory-to-memory operation the pipe
6162306a36Sopenharmony_ciis run one frame at a time. Applying the settings is done between the frames.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciAll the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
6462306a36Sopenharmony_ciinsist on receiving complete frames. Sensors must thus never send the ISP
6562306a36Sopenharmony_cipartial frames.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciAutoidle does have issues with some ISP blocks on the 3430, at least.
6862306a36Sopenharmony_ciAutoidle is only enabled on 3630 when the omap3isp module parameter autoidle
6962306a36Sopenharmony_ciis non-zero.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciTechnical reference manuals (TRMs) and other documentation
7262306a36Sopenharmony_ci----------------------------------------------------------
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciOMAP 3430 TRM:
7562306a36Sopenharmony_ci<URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
7662306a36Sopenharmony_ciReferenced 2011-03-05.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciOMAP 35xx TRM:
7962306a36Sopenharmony_ci<URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ciOMAP 3630 TRM:
8262306a36Sopenharmony_ci<URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
8362306a36Sopenharmony_ciReferenced 2011-03-05.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciDM 3730 TRM:
8662306a36Sopenharmony_ci<URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciReferences
9062306a36Sopenharmony_ci----------
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci.. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
93