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