omap3isp.rst 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. .. SPDX-License-Identifier: GPL-2.0
  2. .. include:: <isonum.txt>
  3. OMAP 3 Image Signal Processor (ISP) driver
  4. ==========================================
  5. Copyright |copy| 2010 Nokia Corporation
  6. Copyright |copy| 2009 Texas Instruments, Inc.
  7. Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
  8. Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
  9. Introduction
  10. ------------
  11. This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
  12. driver located under drivers/media/platform/ti/omap3isp. The original driver was
  13. written by Texas Instruments but since that it has been rewritten (twice) at
  14. Nokia.
  15. The driver has been successfully used on the following versions of OMAP 3:
  16. - 3430
  17. - 3530
  18. - 3630
  19. The driver implements V4L2, Media controller and v4l2_subdev interfaces.
  20. Sensor, lens and flash drivers using the v4l2_subdev interface in the kernel
  21. are supported.
  22. Split to subdevs
  23. ----------------
  24. The OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
  25. having one subdev to represent it. Each of the subdevs provide a V4L2 subdev
  26. interface to userspace.
  27. - OMAP3 ISP CCP2
  28. - OMAP3 ISP CSI2a
  29. - OMAP3 ISP CCDC
  30. - OMAP3 ISP preview
  31. - OMAP3 ISP resizer
  32. - OMAP3 ISP AEWB
  33. - OMAP3 ISP AF
  34. - OMAP3 ISP histogram
  35. Each possible link in the ISP is modelled by a link in the Media controller
  36. interface. For an example program see [#]_.
  37. Controlling the OMAP 3 ISP
  38. --------------------------
  39. In general, the settings given to the OMAP 3 ISP take effect at the beginning
  40. of the following frame. This is done when the module becomes idle during the
  41. vertical blanking period on the sensor. In memory-to-memory operation the pipe
  42. is run one frame at a time. Applying the settings is done between the frames.
  43. All the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
  44. insist on receiving complete frames. Sensors must thus never send the ISP
  45. partial frames.
  46. Autoidle does have issues with some ISP blocks on the 3430, at least.
  47. Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
  48. is non-zero.
  49. Technical reference manuals (TRMs) and other documentation
  50. ----------------------------------------------------------
  51. OMAP 3430 TRM:
  52. <URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
  53. Referenced 2011-03-05.
  54. OMAP 35xx TRM:
  55. <URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
  56. OMAP 3630 TRM:
  57. <URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
  58. Referenced 2011-03-05.
  59. DM 3730 TRM:
  60. <URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
  61. References
  62. ----------
  63. .. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary