0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 .. include:: <isonum.txt>
0004
0005 OMAP 3 Image Signal Processor (ISP) driver
0006 ==========================================
0007
0008 Copyright |copy| 2010 Nokia Corporation
0009
0010 Copyright |copy| 2009 Texas Instruments, Inc.
0011
0012 Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
0013 Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
0014
0015
0016 Introduction
0017 ------------
0018
0019 This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
0020 driver located under drivers/media/platform/ti/omap3isp. The original driver was
0021 written by Texas Instruments but since that it has been rewritten (twice) at
0022 Nokia.
0023
0024 The driver has been successfully used on the following versions of OMAP 3:
0025
0026 - 3430
0027 - 3530
0028 - 3630
0029
0030 The driver implements V4L2, Media controller and v4l2_subdev interfaces.
0031 Sensor, lens and flash drivers using the v4l2_subdev interface in the kernel
0032 are supported.
0033
0034
0035 Split to subdevs
0036 ----------------
0037
0038 The OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
0039 having one subdev to represent it. Each of the subdevs provide a V4L2 subdev
0040 interface to userspace.
0041
0042 - OMAP3 ISP CCP2
0043 - OMAP3 ISP CSI2a
0044 - OMAP3 ISP CCDC
0045 - OMAP3 ISP preview
0046 - OMAP3 ISP resizer
0047 - OMAP3 ISP AEWB
0048 - OMAP3 ISP AF
0049 - OMAP3 ISP histogram
0050
0051 Each possible link in the ISP is modelled by a link in the Media controller
0052 interface. For an example program see [#]_.
0053
0054
0055 Controlling the OMAP 3 ISP
0056 --------------------------
0057
0058 In general, the settings given to the OMAP 3 ISP take effect at the beginning
0059 of the following frame. This is done when the module becomes idle during the
0060 vertical blanking period on the sensor. In memory-to-memory operation the pipe
0061 is run one frame at a time. Applying the settings is done between the frames.
0062
0063 All the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
0064 insist on receiving complete frames. Sensors must thus never send the ISP
0065 partial frames.
0066
0067 Autoidle does have issues with some ISP blocks on the 3430, at least.
0068 Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
0069 is non-zero.
0070
0071 Technical reference manuals (TRMs) and other documentation
0072 ----------------------------------------------------------
0073
0074 OMAP 3430 TRM:
0075 <URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
0076 Referenced 2011-03-05.
0077
0078 OMAP 35xx TRM:
0079 <URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
0080
0081 OMAP 3630 TRM:
0082 <URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
0083 Referenced 2011-03-05.
0084
0085 DM 3730 TRM:
0086 <URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
0087
0088
0089 References
0090 ----------
0091
0092 .. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary