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