All of lore.kernel.org
 help / color / mirror / Atom feed
* [ RFC PATCH 0/8] RFC for Media Controller capture driver for DM365
@ 2011-06-30 13:13 Manjunath Hadli
  2011-06-30 13:13 ` [RFC PATCH 1/8] davinci: vpfe: add dm3xx IPIPEIF hardware support module Manjunath Hadli
                   ` (8 more replies)
  0 siblings, 9 replies; 26+ messages in thread
From: Manjunath Hadli @ 2011-06-30 13:13 UTC (permalink / raw)
  To: LMML; +Cc: dlos, Manjunath Hadli

Thease are the RFC patches for the DM365 video capture, of which 
the current set includes only CCDC and the VPFE framework. Once
the present set is reviewed, I will send out the other parts
like H3A, sensor additions etc.

Introduction
------------
This is the proposal of the initial version of design and implementation  of
the Davinci family (dm644x,dm355,dm365)VPFE (Video Port Front End) drivers
using Media Controloler , the initial version which supports
the following:
1) dm365 vpfe
2) ccdc,previewer,resizer,h3a,af blocks
3) supports both continuous and single-shot modes
4) supports user pointer exchange and memory mapped modes for buffer allocation

This driver bases its design on Laurent Pinchart's Media Controller Design
whose patches for Media Controller and subdev enhancements form the base.
The driver also takes copious elements taken from Laurent Pinchart and
others' OMAP ISP driver based on Media Controller. So thank you all the
people who are responsible for the Media Controller and the OMAP ISP driver.

Also, the core functionality of the driver comes from the arago vpfe capture
driver of which the CCDC capture was based on V4L2, with other drivers like
Previwer, and Resizer.

The current driver caters to dm6446,dm355 and dm365 of which the current
implementation works for dm365. The three VPFE IPs have some common elements
in terms of some highe level functionality but there are differences in terms
of register definitions and some core blocks.

The individual specifications for each of these can be found here:
dm6446 vpfe: http://www.ti.com/litv/pdf/sprue38h
dm355  vpfe: http://www.ti.com/litv/pdf/spruf71a
dm365  vpfe: http://www.ti.com/litv/pdf/sprufg8c

The initial version of the  driver implementation can be found here:

http://git.linuxtv.org/mhadli/v4l-dvb-davinci_devices.git?a=shortlog;h=refs/heads/mc_release

Driver Design: Main entities
----------------------------
The hardware modules for dm355,dm365 are mainly ipipe, ipipeif,isif. These
hardware modules are generically exposed to the user level in the for of
dm6446 style modules. Mainly -
ccdc, previewer, resizer in addition to the other histogram and
auto color/white balance correction and auto focus modules.

1)MT9P031 sensor  module for RAW capture
2)TVP7002 decoder module for HD inputs
3)TVP514x decoder module for SD inputs
4)CCDC capture module
5)Previewer Module for Bayer to YUV conversion
6)Resizer Module for scaling

Connection for on-the-fly capture
---------------------------------
Mt9P031 ------>CCDC--->Previewer(optional)--->Resizer(optional)--->Video
           |
TVP7002 ---
           |
TV514x  ---


Manjunath Hadli (3):
  davinci: vpfe: add dm3xx IPIPEIF hardware support module
  davinci: vpfe: add support for CCDC hardware for dm365
  davinci: vpfe: build infrastructure for dm365

Nagabhushana Netagunte (5):
  davinci: vpfe: add IPIPE hardware layer support
  davinci: vpfe: add IPIPE support for media controller driver
  davinci: vpfe: add ccdc driver with media controller interface
  davinci: vpfe: add v4l2 video driver support
  davinci: vpfe: v4l2 capture driver with media interface

 drivers/media/video/davinci/Kconfig           |   46 +-
 drivers/media/video/davinci/Makefile          |   17 +-
 drivers/media/video/davinci/ccdc_hw_device.h  |    6 +-
 drivers/media/video/davinci/dm365_ccdc.c      | 1517 +++++++++
 drivers/media/video/davinci/dm365_ccdc_regs.h |  309 ++
 drivers/media/video/davinci/dm365_def_para.c  |  485 +++
 drivers/media/video/davinci/dm365_def_para.h  |   39 +
 drivers/media/video/davinci/dm365_ipipe.c     | 4086 +++++++++++++++++++++++++
 drivers/media/video/davinci/dm365_ipipe_hw.c  | 1012 ++++++
 drivers/media/video/davinci/dm365_ipipe_hw.h  |  539 ++++
 drivers/media/video/davinci/dm3xx_ipipeif.c   |  368 +++
 drivers/media/video/davinci/vpfe_capture.c    |  793 +++++
 drivers/media/video/davinci/vpfe_ccdc.c       |  813 +++++
 drivers/media/video/davinci/vpfe_video.c      | 1712 +++++++++++
 include/media/davinci/dm365_ccdc.h            |  722 +++++
 include/media/davinci/dm365_ipipe.h           | 1353 ++++++++
 include/media/davinci/dm3xx_ipipeif.h         |  292 ++
 include/media/davinci/imp_common.h            |  231 ++
 include/media/davinci/imp_hw_if.h             |  177 ++
 include/media/davinci/vpfe_capture.h          |  158 +
 include/media/davinci/vpfe_ccdc.h             |   89 +
 include/media/davinci/vpfe_types.h            |   50 +-
 include/media/davinci/vpfe_video.h            |  142 +
 23 files changed, 14914 insertions(+), 42 deletions(-)
 create mode 100644 drivers/media/video/davinci/dm365_ccdc.c
 create mode 100644 drivers/media/video/davinci/dm365_ccdc_regs.h
 create mode 100644 drivers/media/video/davinci/dm365_def_para.c
 create mode 100644 drivers/media/video/davinci/dm365_def_para.h
 create mode 100644 drivers/media/video/davinci/dm365_ipipe.c
 create mode 100644 drivers/media/video/davinci/dm365_ipipe_hw.c
 create mode 100644 drivers/media/video/davinci/dm365_ipipe_hw.h
 create mode 100644 drivers/media/video/davinci/dm3xx_ipipeif.c
 create mode 100644 drivers/media/video/davinci/vpfe_capture.c
 create mode 100644 drivers/media/video/davinci/vpfe_ccdc.c
 create mode 100644 drivers/media/video/davinci/vpfe_video.c
 create mode 100644 include/media/davinci/dm365_ccdc.h
 create mode 100644 include/media/davinci/dm365_ipipe.h
 create mode 100644 include/media/davinci/dm3xx_ipipeif.h
 create mode 100644 include/media/davinci/imp_common.h
 create mode 100644 include/media/davinci/imp_hw_if.h
 create mode 100644 include/media/davinci/vpfe_capture.h
 create mode 100644 include/media/davinci/vpfe_ccdc.h
 create mode 100644 include/media/davinci/vpfe_video.h


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2011-11-02 14:20 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-30 13:13 [ RFC PATCH 0/8] RFC for Media Controller capture driver for DM365 Manjunath Hadli
2011-06-30 13:13 ` [RFC PATCH 1/8] davinci: vpfe: add dm3xx IPIPEIF hardware support module Manjunath Hadli
2011-07-13 18:50   ` Sakari Ailus
2011-07-19 10:51     ` Hadli, Manjunath
2011-07-19 19:23       ` Sakari Ailus
2011-08-29 15:19     ` Hadli, Manjunath
2011-08-31 11:23       ` 'Sakari Ailus'
2011-10-23 18:30         ` new mbus formats Hadli, Manjunath
2011-11-02 14:20           ` Laurent Pinchart
2011-06-30 13:13 ` [RFC PATCH 2/8] davinci: vpfe: add IPIPE hardware layer support Manjunath Hadli
2011-08-07 23:03   ` Sakari Ailus
2011-08-08 16:25     ` Hadli, Manjunath
2011-06-30 13:13 ` [RFC PATCH 3/8] davinci: vpfe: add IPIPE support for media controller driver Manjunath Hadli
2011-06-30 13:13 ` [RFC PATCH 4/8] davinci: vpfe: add support for CCDC hardware for dm365 Manjunath Hadli
2011-06-30 13:13 ` [RFC PATCH 5/8] davinci: vpfe: add ccdc driver with media controller interface Manjunath Hadli
2011-06-30 13:13 ` [RFC PATCH 6/8] davinci: vpfe: add v4l2 video driver support Manjunath Hadli
2011-06-30 13:13 ` [RFC PATCH 7/8] davinci: vpfe: v4l2 capture driver with media interface Manjunath Hadli
2011-06-30 13:13 ` [RFC PATCH 8/8] davinci: vpfe: build infrastructure for dm365 Manjunath Hadli
2011-06-30 13:57 ` [ RFC PATCH 0/8] RFC for Media Controller capture driver for DM365 Sakari Ailus
2011-07-04  5:58   ` Hadli, Manjunath
2011-07-04 13:22     ` Laurent Pinchart
2011-07-04 14:55       ` Hadli, Manjunath
2011-07-04 16:13         ` Sakari Ailus
2011-07-06  5:40           ` Hadli, Manjunath
2011-07-12 12:01             ` Hadli, Manjunath
2011-07-12 21:22               ` 'Sakari Ailus'

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.