RE: [PATCH 3/4] [media] marvell-ccic: mmp: add soc camera support on marvell-ccic mmp-driver

2012-10-05 Thread Albert Wang
-Original Message-
From: Guennadi Liakhovetski [mailto:g.liakhovet...@gmx.de]
Sent: Monday, 01 October, 2012 18:09
To: Albert Wang
Cc: cor...@lwn.net; linux-media@vger.kernel.org; Libin Yang
Subject: Re: [PATCH 3/4] [media] marvell-ccic: mmp: add soc camera support on
marvell-ccic mmp-driver

Hi Albert

On Fri, 28 Sep 2012, Albert Wang wrote:

 From: Libin Yang lby...@marvell.com

 This patch adds the support of Soc Camera on marvell-ccic mmp-driver.
 The Soc Camera mode does not compatible with current mode.
 Only one mode can be used at one time.

Again, once these patches are split into smaller ones reviewing them should 
become
easier and new issues will likely arise, but please take a look at these 
comments so far.

Yes, I understand your concern.
We will continue to discuss how to split them.


 To enable Soc Camera on mmp:
 In Device Drivers -- Multimedia support:
   select Cameras/video grabbers support Then in Video capture adapters
 -- V4L platform devices -- Camera support on Marvell MMP:
   select Marvell MMP camera driver based on SOC_CAMERA Also in Video
 capture adapters -- V4L platform devices:
   select SoC camera support
   select the relevant sensor in target platform

 Also add MIPI interface and dual CCICs support in Soc Camera mode.

 Signed-off-by: Albert Wang twan...@marvell.com
 Signed-off-by: Libin Yang lby...@marvell.com
 ---
  drivers/media/platform/Makefile  |4 +-
  drivers/media/platform/marvell-ccic/Kconfig  |   22 +++
  drivers/media/platform/marvell-ccic/Makefile |1 +
  drivers/media/platform/marvell-ccic/mmp-driver.c |  253 
 +++--
  include/media/mmp-camera.h|   13 ++
  5 files changed, 233 insertions(+), 60 deletions(-)

 diff --git a/drivers/media/platform/Makefile
 b/drivers/media/platform/Makefile index b7da9fa..ca60607 100755
 --- a/drivers/media/platform/Makefile
 +++ b/drivers/media/platform/Makefile
 @@ -146,9 +146,6 @@ obj-$(CONFIG_VIDEO_M32R_AR_M64278) += arv.o

  obj-$(CONFIG_VIDEO_CX2341X) += cx2341x.o

 -obj-$(CONFIG_VIDEO_CAFE_CCIC) += marvell-ccic/
 -obj-$(CONFIG_VIDEO_MMP_CAMERA) += marvell-ccic/
 -
  obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o

  obj-$(CONFIG_VIDEO_OMAP3)   += omap3isp/
 @@ -182,6 +179,7 @@ obj-$(CONFIG_VIDEO_MX1)  +=
mx1_camera.o
  obj-$(CONFIG_VIDEO_MX2) += mx2_camera.o
  obj-$(CONFIG_VIDEO_MX3) += mx3_camera.o
  obj-$(CONFIG_VIDEO_PXA27x)  += pxa_camera.o
 +obj-$(CONFIG_VIDEO_MARVELL_CCIC)+= marvell-ccic/
  obj-$(CONFIG_VIDEO_SH_MOBILE_CSI2)  += sh_mobile_csi2.o
  obj-$(CONFIG_VIDEO_SH_MOBILE_CEU)   += sh_mobile_ceu_camera.o
  obj-$(CONFIG_VIDEO_OMAP1)   += omap1_camera.o
 diff --git a/drivers/media/platform/marvell-ccic/Kconfig
 b/drivers/media/platform/marvell-ccic/Kconfig
 index bf739e3..6e3eaa0 100755
 --- a/drivers/media/platform/marvell-ccic/Kconfig
 +++ b/drivers/media/platform/marvell-ccic/Kconfig
 @@ -1,23 +1,45 @@
 +config VIDEO_MARVELL_CCIC
 +   tristate
 +config VIDEO_MRVL_SOC_CAMERA
 +   tristate
 +
  config VIDEO_CAFE_CCIC
  tristate Marvell 88ALP01 (Cafe) CMOS Camera Controller support
  depends on PCI  I2C  VIDEO_V4L2
  select VIDEO_OV7670
  select VIDEOBUF2_VMALLOC
  select VIDEOBUF2_DMA_CONTIG
 +select VIDEO_MARVELL_CCIC
  ---help---
This is a video4linux2 driver for the Marvell 88ALP01 integrated
CMOS camera controller.  This is the controller found on first-
generation OLPC systems.

 +choice
 +prompt Camera support on Marvell MMP
 +depends on ARCH_MMP  VIDEO_V4L2
 +optional
  config VIDEO_MMP_CAMERA
  tristate Marvell Armada 610 integrated camera controller support
  depends on ARCH_MMP  I2C  VIDEO_V4L2
  select VIDEO_OV7670
  select I2C_GPIO
  select VIDEOBUF2_DMA_SG
 +select VIDEO_MARVELL_CCIC
  ---help---
This is a Video4Linux2 driver for the integrated camera
controller found on Marvell Armada 610 application
processors (and likely beyond).  This is the controller found
in OLPC XO 1.75 systems.

 +config VIDEO_MMP_SOC_CAMERA
 +bool Marvell MMP camera driver based on SOC_CAMERA
 +depends on VIDEO_DEV  SOC_CAMERA  ARCH_MMP  VIDEO_V4L2
 +select VIDEOBUF2_DMA_CONTIG
 +select VIDEO_MARVELL_CCIC
 +select VIDEO_MRVL_SOC_CAMERA
 +---help---
 +  This is a Video4Linux2 driver for the Marvell Mobile Soc
 +  PXA910/PXA688/PXA2128/PXA988 CCIC
 +  (CMOS Camera Interface Controller) endchoice
 diff --git a/drivers/media/platform/marvell-ccic/Makefile
 b/drivers/media/platform/marvell-ccic/Makefile
 index 05a792c..d6ffd16 100755
 --- a/drivers/media/platform/marvell-ccic/Makefile
 +++ b/drivers/media/platform/marvell-ccic/Makefile
 @@ -2,5 +2,6 @@ obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o
 cafe_ccic-y := cafe-driver.o mcam-core.o

  obj-$(CONFIG_VIDEO_MMP_CAMERA) += mmp_camera.o
 +obj

Re: [PATCH 3/4] [media] marvell-ccic: mmp: add soc camera support on marvell-ccic mmp-driver

2012-10-01 Thread Guennadi Liakhovetski
Hi Albert

On Fri, 28 Sep 2012, Albert Wang wrote:

 From: Libin Yang lby...@marvell.com
 
 This patch adds the support of Soc Camera on marvell-ccic mmp-driver.
 The Soc Camera mode does not compatible with current mode.
 Only one mode can be used at one time.

Again, once these patches are split into smaller ones reviewing them 
should become easier and new issues will likely arise, but please take a 
look at these comments so far.

 
 To enable Soc Camera on mmp:
 In Device Drivers -- Multimedia support:
   select Cameras/video grabbers support
 Then in Video capture adapters -- V4L platform devices --
 Camera support on Marvell MMP:
   select Marvell MMP camera driver based on SOC_CAMERA
 Also in Video capture adapters -- V4L platform devices:
   select SoC camera support
   select the relevant sensor in target platform
 
 Also add MIPI interface and dual CCICs support in Soc Camera mode.
 
 Signed-off-by: Albert Wang twan...@marvell.com
 Signed-off-by: Libin Yang lby...@marvell.com
 ---
  drivers/media/platform/Makefile  |4 +-
  drivers/media/platform/marvell-ccic/Kconfig  |   22 +++
  drivers/media/platform/marvell-ccic/Makefile |1 +
  drivers/media/platform/marvell-ccic/mmp-driver.c |  253 
 +++--
  include/media/mmp-camera.h|   13 ++
  5 files changed, 233 insertions(+), 60 deletions(-)
 
 diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
 index b7da9fa..ca60607 100755
 --- a/drivers/media/platform/Makefile
 +++ b/drivers/media/platform/Makefile
 @@ -146,9 +146,6 @@ obj-$(CONFIG_VIDEO_M32R_AR_M64278) += arv.o
  
  obj-$(CONFIG_VIDEO_CX2341X) += cx2341x.o
  
 -obj-$(CONFIG_VIDEO_CAFE_CCIC) += marvell-ccic/
 -obj-$(CONFIG_VIDEO_MMP_CAMERA) += marvell-ccic/
 -
  obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o
  
  obj-$(CONFIG_VIDEO_OMAP3)+= omap3isp/
 @@ -182,6 +179,7 @@ obj-$(CONFIG_VIDEO_MX1)   += mx1_camera.o
  obj-$(CONFIG_VIDEO_MX2)  += mx2_camera.o
  obj-$(CONFIG_VIDEO_MX3)  += mx3_camera.o
  obj-$(CONFIG_VIDEO_PXA27x)   += pxa_camera.o
 +obj-$(CONFIG_VIDEO_MARVELL_CCIC) += marvell-ccic/
  obj-$(CONFIG_VIDEO_SH_MOBILE_CSI2)   += sh_mobile_csi2.o
  obj-$(CONFIG_VIDEO_SH_MOBILE_CEU)+= sh_mobile_ceu_camera.o
  obj-$(CONFIG_VIDEO_OMAP1)+= omap1_camera.o
 diff --git a/drivers/media/platform/marvell-ccic/Kconfig 
 b/drivers/media/platform/marvell-ccic/Kconfig
 index bf739e3..6e3eaa0 100755
 --- a/drivers/media/platform/marvell-ccic/Kconfig
 +++ b/drivers/media/platform/marvell-ccic/Kconfig
 @@ -1,23 +1,45 @@
 +config VIDEO_MARVELL_CCIC
 +   tristate
 +config VIDEO_MRVL_SOC_CAMERA
 +   tristate
 +
  config VIDEO_CAFE_CCIC
   tristate Marvell 88ALP01 (Cafe) CMOS Camera Controller support
   depends on PCI  I2C  VIDEO_V4L2
   select VIDEO_OV7670
   select VIDEOBUF2_VMALLOC
   select VIDEOBUF2_DMA_CONTIG
 + select VIDEO_MARVELL_CCIC
   ---help---
 This is a video4linux2 driver for the Marvell 88ALP01 integrated
 CMOS camera controller.  This is the controller found on first-
 generation OLPC systems.
  
 +choice
 + prompt Camera support on Marvell MMP
 + depends on ARCH_MMP  VIDEO_V4L2
 + optional
  config VIDEO_MMP_CAMERA
   tristate Marvell Armada 610 integrated camera controller support
   depends on ARCH_MMP  I2C  VIDEO_V4L2
   select VIDEO_OV7670
   select I2C_GPIO
   select VIDEOBUF2_DMA_SG
 + select VIDEO_MARVELL_CCIC
   ---help---
 This is a Video4Linux2 driver for the integrated camera
 controller found on Marvell Armada 610 application
 processors (and likely beyond).  This is the controller found
 in OLPC XO 1.75 systems.
  
 +config VIDEO_MMP_SOC_CAMERA
 + bool Marvell MMP camera driver based on SOC_CAMERA
 + depends on VIDEO_DEV  SOC_CAMERA  ARCH_MMP  VIDEO_V4L2
 + select VIDEOBUF2_DMA_CONTIG
 + select VIDEO_MARVELL_CCIC
 + select VIDEO_MRVL_SOC_CAMERA
 + ---help---
 +   This is a Video4Linux2 driver for the Marvell Mobile Soc
 +   PXA910/PXA688/PXA2128/PXA988 CCIC
 +   (CMOS Camera Interface Controller)
 +endchoice
 diff --git a/drivers/media/platform/marvell-ccic/Makefile 
 b/drivers/media/platform/marvell-ccic/Makefile
 index 05a792c..d6ffd16 100755
 --- a/drivers/media/platform/marvell-ccic/Makefile
 +++ b/drivers/media/platform/marvell-ccic/Makefile
 @@ -2,5 +2,6 @@ obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o
  cafe_ccic-y := cafe-driver.o mcam-core.o
  
  obj-$(CONFIG_VIDEO_MMP_CAMERA) += mmp_camera.o
 +obj-$(CONFIG_VIDEO_MMP_SOC_CAMERA) += mmp_camera.o
  mmp_camera-y := mmp-driver.o mcam-core.o
  
 diff --git a/drivers/media/platform/marvell-ccic/mmp-driver.c 
 b/drivers/media/platform/marvell-ccic/mmp-driver.c
 index c4c17fe..afdd702 100755
 --- a/drivers/media/platform/marvell-ccic/mmp-driver.c
 +++