V4L/DVB (10674): soc-camera: camera host driver for i.MX3x SoCs
Tested with 8 bit Bayer and 8 bit monochrome video. create mode 100644 arch/arm/plat-mxc/include/mach/mx3_camera.h create mode 100644 drivers/media/video/mx3_camera.c Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
70e1d353e5
commit
4f67130ad3
52
arch/arm/plat-mxc/include/mach/mx3_camera.h
Normal file
52
arch/arm/plat-mxc/include/mach/mx3_camera.h
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* mx3_camera.h - i.MX3x camera driver header file
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008, Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _MX3_CAMERA_H_
|
||||||
|
#define _MX3_CAMERA_H_
|
||||||
|
|
||||||
|
#include <linux/device.h>
|
||||||
|
|
||||||
|
#define MX3_CAMERA_CLK_SRC 1
|
||||||
|
#define MX3_CAMERA_EXT_VSYNC 2
|
||||||
|
#define MX3_CAMERA_DP 4
|
||||||
|
#define MX3_CAMERA_PCP 8
|
||||||
|
#define MX3_CAMERA_HSP 0x10
|
||||||
|
#define MX3_CAMERA_VSP 0x20
|
||||||
|
#define MX3_CAMERA_DATAWIDTH_4 0x40
|
||||||
|
#define MX3_CAMERA_DATAWIDTH_8 0x80
|
||||||
|
#define MX3_CAMERA_DATAWIDTH_10 0x100
|
||||||
|
#define MX3_CAMERA_DATAWIDTH_15 0x200
|
||||||
|
|
||||||
|
#define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \
|
||||||
|
MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct mx3_camera_pdata - i.MX3x camera platform data
|
||||||
|
* @flags: MX3_CAMERA_* flags
|
||||||
|
* @mclk_10khz: master clock frequency in 10kHz units
|
||||||
|
* @dma_dev: IPU DMA device to match against in channel allocation
|
||||||
|
*/
|
||||||
|
struct mx3_camera_pdata {
|
||||||
|
unsigned long flags;
|
||||||
|
unsigned long mclk_10khz;
|
||||||
|
struct device *dma_dev;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@@ -779,6 +779,13 @@ config SOC_CAMERA_OV772X
|
|||||||
help
|
help
|
||||||
This is a ov772x camera driver
|
This is a ov772x camera driver
|
||||||
|
|
||||||
|
config VIDEO_MX3
|
||||||
|
tristate "i.MX3x Camera Sensor Interface driver"
|
||||||
|
depends on VIDEO_DEV && MX3_IPU && SOC_CAMERA
|
||||||
|
select VIDEOBUF_DMA_CONTIG
|
||||||
|
---help---
|
||||||
|
This is a v4l2 driver for the i.MX3x Camera Sensor Interface
|
||||||
|
|
||||||
config VIDEO_PXA27x
|
config VIDEO_PXA27x
|
||||||
tristate "PXA27x Quick Capture Interface driver"
|
tristate "PXA27x Quick Capture Interface driver"
|
||||||
depends on VIDEO_DEV && PXA27x && SOC_CAMERA
|
depends on VIDEO_DEV && PXA27x && SOC_CAMERA
|
||||||
|
@@ -134,6 +134,7 @@ obj-$(CONFIG_VIDEO_CX18) += cx18/
|
|||||||
obj-$(CONFIG_VIDEO_VIVI) += vivi.o
|
obj-$(CONFIG_VIDEO_VIVI) += vivi.o
|
||||||
obj-$(CONFIG_VIDEO_CX23885) += cx23885/
|
obj-$(CONFIG_VIDEO_CX23885) += cx23885/
|
||||||
|
|
||||||
|
obj-$(CONFIG_VIDEO_MX3) += mx3_camera.o
|
||||||
obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o
|
obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o
|
||||||
obj-$(CONFIG_VIDEO_SH_MOBILE_CEU) += sh_mobile_ceu_camera.o
|
obj-$(CONFIG_VIDEO_SH_MOBILE_CEU) += sh_mobile_ceu_camera.o
|
||||||
obj-$(CONFIG_VIDEO_OMAP2) += omap2cam.o
|
obj-$(CONFIG_VIDEO_OMAP2) += omap2cam.o
|
||||||
|
1183
drivers/media/video/mx3_camera.c
Normal file
1183
drivers/media/video/mx3_camera.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user