93 lines
2.6 KiB
ReStructuredText
93 lines
2.6 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
.. include:: <isonum.txt>
|
||
|
|
||
|
OMAP 3 Image Signal Processor (ISP) driver
|
||
|
==========================================
|
||
|
|
||
|
Copyright |copy| 2010 Nokia Corporation
|
||
|
|
||
|
Copyright |copy| 2009 Texas Instruments, Inc.
|
||
|
|
||
|
Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
|
||
|
Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
|
||
|
|
||
|
|
||
|
Introduction
|
||
|
------------
|
||
|
|
||
|
This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
|
||
|
driver located under drivers/media/platform/ti/omap3isp. The original driver was
|
||
|
written by Texas Instruments but since that it has been rewritten (twice) at
|
||
|
Nokia.
|
||
|
|
||
|
The driver has been successfully used on the following versions of OMAP 3:
|
||
|
|
||
|
- 3430
|
||
|
- 3530
|
||
|
- 3630
|
||
|
|
||
|
The driver implements V4L2, Media controller and v4l2_subdev interfaces.
|
||
|
Sensor, lens and flash drivers using the v4l2_subdev interface in the kernel
|
||
|
are supported.
|
||
|
|
||
|
|
||
|
Split to subdevs
|
||
|
----------------
|
||
|
|
||
|
The OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
|
||
|
having one subdev to represent it. Each of the subdevs provide a V4L2 subdev
|
||
|
interface to userspace.
|
||
|
|
||
|
- OMAP3 ISP CCP2
|
||
|
- OMAP3 ISP CSI2a
|
||
|
- OMAP3 ISP CCDC
|
||
|
- OMAP3 ISP preview
|
||
|
- OMAP3 ISP resizer
|
||
|
- OMAP3 ISP AEWB
|
||
|
- OMAP3 ISP AF
|
||
|
- OMAP3 ISP histogram
|
||
|
|
||
|
Each possible link in the ISP is modelled by a link in the Media controller
|
||
|
interface. For an example program see [#]_.
|
||
|
|
||
|
|
||
|
Controlling the OMAP 3 ISP
|
||
|
--------------------------
|
||
|
|
||
|
In general, the settings given to the OMAP 3 ISP take effect at the beginning
|
||
|
of the following frame. This is done when the module becomes idle during the
|
||
|
vertical blanking period on the sensor. In memory-to-memory operation the pipe
|
||
|
is run one frame at a time. Applying the settings is done between the frames.
|
||
|
|
||
|
All the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
|
||
|
insist on receiving complete frames. Sensors must thus never send the ISP
|
||
|
partial frames.
|
||
|
|
||
|
Autoidle does have issues with some ISP blocks on the 3430, at least.
|
||
|
Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
|
||
|
is non-zero.
|
||
|
|
||
|
Technical reference manuals (TRMs) and other documentation
|
||
|
----------------------------------------------------------
|
||
|
|
||
|
OMAP 3430 TRM:
|
||
|
<URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
|
||
|
Referenced 2011-03-05.
|
||
|
|
||
|
OMAP 35xx TRM:
|
||
|
<URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
|
||
|
|
||
|
OMAP 3630 TRM:
|
||
|
<URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
|
||
|
Referenced 2011-03-05.
|
||
|
|
||
|
DM 3730 TRM:
|
||
|
<URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
|
||
|
|
||
|
|
||
|
References
|
||
|
----------
|
||
|
|
||
|
.. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
|