[media] V4L: Add driver for OV9650/52 image sensors
This patch adds V4L2 sub-device driver for OV9650/OV9652 image sensors. The driver exposes following V4L2 controls: - auto/manual exposure, - auto/manual white balance, - auto/manual gain, - brightness, saturation, sharpness, - horizontal/vertical flip, - color bar test pattern, - banding filter (power line frequency). Frame rate can be configured with g/s_frame_interval pad level ops. Supported resolution are only: SXGA, VGA, QVGA. Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ffa9b9f016
commit
84a15ded76
4 changed files with 1597 additions and 0 deletions
|
@ -421,6 +421,13 @@ config VIDEO_OV7670
|
|||
OV7670 VGA camera. It currently only works with the M88ALP01
|
||||
controller.
|
||||
|
||||
config VIDEO_OV9650
|
||||
tristate "OmniVision OV9650/OV9652 sensor support"
|
||||
depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
|
||||
---help---
|
||||
This is a V4L2 sensor-level driver for the Omnivision
|
||||
OV9650 and OV9652 camera sensors.
|
||||
|
||||
config VIDEO_VS6624
|
||||
tristate "ST VS6624 sensor support"
|
||||
depends on VIDEO_V4L2 && I2C
|
||||
|
|
|
@ -47,6 +47,7 @@ obj-$(CONFIG_VIDEO_VP27SMPX) += vp27smpx.o
|
|||
obj-$(CONFIG_VIDEO_UPD64031A) += upd64031a.o
|
||||
obj-$(CONFIG_VIDEO_UPD64083) += upd64083.o
|
||||
obj-$(CONFIG_VIDEO_OV7670) += ov7670.o
|
||||
obj-$(CONFIG_VIDEO_OV9650) += ov9650.o
|
||||
obj-$(CONFIG_VIDEO_TCM825X) += tcm825x.o
|
||||
obj-$(CONFIG_VIDEO_TVEEPROM) += tveeprom.o
|
||||
obj-$(CONFIG_VIDEO_MT9M032) += mt9m032.o
|
||||
|
|
1562
drivers/media/i2c/ov9650.c
Normal file
1562
drivers/media/i2c/ov9650.c
Normal file
File diff suppressed because it is too large
Load diff
27
include/media/ov9650.h
Normal file
27
include/media/ov9650.h
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* OV9650/OV9652 camera sensors driver
|
||||
*
|
||||
* Copyright (C) 2013 Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef OV9650_H_
|
||||
#define OV9650_H_
|
||||
|
||||
/**
|
||||
* struct ov9650_platform_data - ov9650 driver platform data
|
||||
* @mclk_frequency: the sensor's master clock frequency in Hz
|
||||
* @gpio_pwdn: number of a GPIO connected to OV965X PWDN pin
|
||||
* @gpio_reset: number of a GPIO connected to OV965X RESET pin
|
||||
*
|
||||
* If any of @gpio_pwdn or @gpio_reset are unused then they should be
|
||||
* set to a negative value. @mclk_frequency must always be specified.
|
||||
*/
|
||||
struct ov9650_platform_data {
|
||||
unsigned long mclk_frequency;
|
||||
int gpio_pwdn;
|
||||
int gpio_reset;
|
||||
};
|
||||
#endif /* OV9650_H_ */
|
Loading…
Reference in a new issue