User: Password:
Subscribe / Log in / New account

[PATCH v2 00/12] V4L: Exynos 4x12 camera host interface (FIMC-LITE) driver

From:  Sylwester Nawrocki <>
Subject:  [PATCH v2 00/12] V4L: Exynos 4x12 camera host interface (FIMC-LITE) driver
Date:  Mon, 30 Apr 2012 18:14:29 +0200
Message-ID:  <>
Archive-link:  Article

This change set adds support for FIMC-LITE devices, available in Exynos4x12
(and Exynos5) SoCs, to the existing s5p-fimc driver.

The FIMC-LITE differs from regular FIMC in that it doesn't have a scaler,
rotator, color converter and the DMA input. So it's just a basic camera host
interface, with additional internal FIFO data output to other SoC sub-modules.

Cropping at the host interface input is exposed on a subdev sink pad through
the selection API, and composition performed by the output DMA engine can be
controlled through selection compose targets on the video node.

I tried to make the exynos-fimc-lite module as much independent as possible,
to allow its reuse on any other SoCs that have same IP block.

This change set also includes small enhancement of V4L2_CID_COLORFX and
a patch adding support for this control at the s5p-fimc driver.

Changes since first version:
 - modified V4L2_CID_COLORFX control patches, added V4L2_CID_COLORFX_CBCR
   control according to suggestions from Hans Verkuil;
 - fixed VIDIOC_S_FMT ioctl handler so it is now possible to configure
   random output memory buffer for composition, not only with same 
   resolution as at the subdev's source pad;
 - corrected completely broken cropping handling at the subdev
   (looks like someone has forgotten to test it...);
 - dropped patch 03/13 "s5p-fimc: Simplify..." which was wrong.

 - power management testing (when proper platform support for exynos4x12
   is available in the mainline kernel),
 - complete internal FIFO output support to the internal ISP (should just
   require filling in the subdev ops stubs);
 - improve the interrupt handler.

Sylwester Nawrocki
Samsung Poland R&D Center

Sylwester Nawrocki (12):
  V4L: Extend V4L2_CID_COLORFX with more image effects
  s5p-fimc: Move m2m node driver into separate file
  s5p-fimc: Use v4l2_subdev internal ops to register video nodes
  s5p-fimc: Refactor the register interface functions
  s5p-fimc: Add FIMC-LITE register definitions
  s5p-fimc: Rework the video pipeline control functions
  s5p-fimc: Prefix format enumerations with FIMC_FMT_
  s5p-fimc: Minor cleanups
  s5p-fimc: Make sure an interrupt is properly requested
  s5p-fimc: Add support for Exynos4x12 FIMC-LITE
  s5p-fimc: Update copyright notices
  s5p-fimc: Add color effect control

 Documentation/DocBook/media/v4l/compat.xml   |   13 +
 Documentation/DocBook/media/v4l/controls.xml |  100 +-
 Documentation/DocBook/media/v4l/v4l2.xml     |    5 +-
 drivers/media/video/Kconfig                  |   24 +-
 drivers/media/video/s5p-fimc/Kconfig         |   48 +
 drivers/media/video/s5p-fimc/Makefile        |    6 +-
 drivers/media/video/s5p-fimc/fimc-capture.c  |  297 +++--
 drivers/media/video/s5p-fimc/fimc-core.c     | 1091 +++---------------
 drivers/media/video/s5p-fimc/fimc-core.h     |  252 ++---
 drivers/media/video/s5p-fimc/fimc-lite-reg.c |  301 +++++
 drivers/media/video/s5p-fimc/fimc-lite-reg.h |  153 +++
 drivers/media/video/s5p-fimc/fimc-lite.c     | 1547 ++++++++++++++++++++++++++
 drivers/media/video/s5p-fimc/fimc-lite.h     |  209 ++++
 drivers/media/video/s5p-fimc/fimc-m2m.c      |  820 ++++++++++++++
 drivers/media/video/s5p-fimc/fimc-mdevice.c  |  405 ++++---
 drivers/media/video/s5p-fimc/fimc-mdevice.h  |   18 +-
 drivers/media/video/s5p-fimc/fimc-reg.c      |  613 +++++-----
 drivers/media/video/s5p-fimc/fimc-reg.h      |  326 ++++++
 drivers/media/video/s5p-fimc/regs-fimc.h     |  301 -----
 drivers/media/video/v4l2-ctrls.c             |    7 +
 include/linux/videodev2.h                    |   29 +-
 include/media/s5p_fimc.h                     |   16 +
 22 files changed, 4593 insertions(+), 1988 deletions(-)
 create mode 100644 drivers/media/video/s5p-fimc/Kconfig
 create mode 100644 drivers/media/video/s5p-fimc/fimc-lite-reg.c
 create mode 100644 drivers/media/video/s5p-fimc/fimc-lite-reg.h
 create mode 100644 drivers/media/video/s5p-fimc/fimc-lite.c
 create mode 100644 drivers/media/video/s5p-fimc/fimc-lite.h
 create mode 100644 drivers/media/video/s5p-fimc/fimc-m2m.c
 create mode 100644 drivers/media/video/s5p-fimc/fimc-reg.h
 delete mode 100644 drivers/media/video/s5p-fimc/regs-fimc.h


Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds