[media] media: i2c: add support for omnivision's ov2659 sensor
this patch adds support for omnivision's ov2659 sensor, the driver supports following features: 1: Asynchronous probing 2: DT support 3: Media controller support Signed-off-by: Benoit Parrot <bparrot@ti.com> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
d16cae25cb
commit
c4c0283ab3
6 changed files with 1603 additions and 0 deletions
38
Documentation/devicetree/bindings/media/i2c/ov2659.txt
Normal file
38
Documentation/devicetree/bindings/media/i2c/ov2659.txt
Normal file
|
@ -0,0 +1,38 @@
|
|||
* OV2659 1/5-Inch 2Mp SOC Camera
|
||||
|
||||
The Omnivision OV2659 is a 1/5-inch SOC camera, with an active array size of
|
||||
1632H x 1212V. It is programmable through a SCCB. The OV2659 sensor supports
|
||||
multiple resolutions output, such as UXGA, SVGA, 720p. It also can support
|
||||
YUV422, RGB565/555 or raw RGB output formats.
|
||||
|
||||
Required Properties:
|
||||
- compatible: Must be "ovti,ov2659"
|
||||
- reg: I2C slave address
|
||||
- clocks: reference to the xvclk input clock.
|
||||
- clock-names: should be "xvclk".
|
||||
- link-frequencies: target pixel clock frequency.
|
||||
|
||||
For further reading on port node refer to
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt.
|
||||
|
||||
Example:
|
||||
|
||||
i2c0@1c22000 {
|
||||
...
|
||||
...
|
||||
ov2659@30 {
|
||||
compatible = "ovti,ov2659";
|
||||
reg = <0x30>;
|
||||
|
||||
clocks = <&clk_ov2659 0>;
|
||||
clock-names = "xvclk";
|
||||
|
||||
port {
|
||||
ov2659_0: endpoint {
|
||||
remote-endpoint = <&vpfe_ep>;
|
||||
link-frequencies = /bits/ 64 <70000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
};
|
10
MAINTAINERS
10
MAINTAINERS
|
@ -8911,6 +8911,16 @@ T: git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git
|
|||
S: Maintained
|
||||
F: drivers/media/platform/am437x/
|
||||
|
||||
OV2659 OMNIVISION SENSOR DRIVER
|
||||
M: Lad, Prabhakar <prabhakar.csengg@gmail.com>
|
||||
L: linux-media@vger.kernel.org
|
||||
W: http://linuxtv.org/
|
||||
Q: http://patchwork.linuxtv.org/project/linux-media/list/
|
||||
T: git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git
|
||||
S: Maintained
|
||||
F: drivers/media/i2c/ov2659.c
|
||||
F: include/media/ov2659.h
|
||||
|
||||
SIS 190 ETHERNET DRIVER
|
||||
M: Francois Romieu <romieu@fr.zoreil.com>
|
||||
L: netdev@vger.kernel.org
|
||||
|
|
|
@ -466,6 +466,17 @@ config VIDEO_APTINA_PLL
|
|||
config VIDEO_SMIAPP_PLL
|
||||
tristate
|
||||
|
||||
config VIDEO_OV2659
|
||||
tristate "OmniVision OV2659 sensor support"
|
||||
depends on VIDEO_V4L2 && I2C
|
||||
depends on MEDIA_CAMERA_SUPPORT
|
||||
---help---
|
||||
This is a Video4Linux2 sensor-level driver for the OmniVision
|
||||
OV2659 camera.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called ov2659.
|
||||
|
||||
config VIDEO_OV7640
|
||||
tristate "OmniVision OV7640 sensor support"
|
||||
depends on I2C && VIDEO_V4L2
|
||||
|
|
|
@ -77,3 +77,4 @@ obj-$(CONFIG_VIDEO_SMIAPP_PLL) += smiapp-pll.o
|
|||
obj-$(CONFIG_VIDEO_AK881X) += ak881x.o
|
||||
obj-$(CONFIG_VIDEO_IR_I2C) += ir-kbd-i2c.o
|
||||
obj-$(CONFIG_VIDEO_ML86V7667) += ml86v7667.o
|
||||
obj-$(CONFIG_VIDEO_OV2659) += ov2659.o
|
||||
|
|
1509
drivers/media/i2c/ov2659.c
Normal file
1509
drivers/media/i2c/ov2659.c
Normal file
File diff suppressed because it is too large
Load diff
34
include/media/ov2659.h
Normal file
34
include/media/ov2659.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Omnivision OV2659 CMOS Image Sensor driver
|
||||
*
|
||||
* Copyright (C) 2015 Texas Instruments, Inc.
|
||||
*
|
||||
* Benoit Parrot <bparrot@ti.com>
|
||||
* Lad, Prabhakar <prabhakar.csengg@gmail.com>
|
||||
*
|
||||
* This program is free software; you may redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef OV2659_H
|
||||
#define OV2659_H
|
||||
|
||||
/**
|
||||
* struct ov2659_platform_data - ov2659 driver platform data
|
||||
* @link_frequency: target pixel clock frequency
|
||||
*/
|
||||
struct ov2659_platform_data {
|
||||
s64 link_frequency;
|
||||
};
|
||||
|
||||
#endif /* OV2659_H */
|
Loading…
Reference in a new issue