linux/drivers/media/video
Janusz Krzysztofik 2f6e240479 [media] SoC Camera: add driver for OV6650 sensor
This patch provides a V4L2 SoC Camera driver for OV6650 camera sensor, found
on OMAP1 SoC based Amstrad Delta videophone.

Since I have no experience with camera sensors, and the sensor documentation I
was able to find was not very comprehensive, I left most settings at their
default (reset) values, except for:
- those required for proper mediabus parameters and picture geometry and
  format setup,
- those used by controls.
Resulting picture quality may be far from perfect, but better than nothing.

In order to be able to get / set the sensor frame rate from userspace, I
decided to provide two not yet SoC camera supported operations, g_parm and
s_parm. These can be used after applying patch 4/6 from this series,
"SoC Camera: add support for g_parm / s_parm operations".

Created and tested against linux-2.6.36-rc5 on Amstrad Delta.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 07:55:38 -02:00
..
au0828 V4L/DVB: videobuf: add ext_lock argument to the queue init functions 2010-10-21 01:06:14 -02:00
bt8xx V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
cpia2 V4L/DVB: cpia2: remove V4L1 support from this driver 2010-10-21 01:06:17 -02:00
cx18 V4L/DVB: v4l: remove unused i2c-id.h headers 2010-10-21 01:06:05 -02:00
cx88 [media] i2c: Stop using I2C_CLASS_TV_DIGITAL 2010-10-21 07:54:26 -02:00
cx231xx [media] cx231xx: use core-assisted lock 2010-10-21 01:17:49 -02:00
cx23885 [media] drivers/media/video/cx23885/cx23885-core.c: fix cx23885_dev_checkrevision() 2010-10-21 07:54:17 -02:00
cx25840 V4L/DVB: cx25840: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:04 -02:00
davinci V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
em28xx [media] em28xx-audio: fix some locking issues 2010-10-21 01:17:50 -02:00
et61x251 V4L/DVB: video/et61x251: improve error handling 2010-05-19 12:57:26 -03:00
gspca [media] gspca - sonixj: Use the new video control mechanism 2010-10-21 01:18:29 -02:00
hdpvr [media] i2c: Stop using I2C_CLASS_TV_ANALOG 2010-10-21 07:54:25 -02:00
ivtv V4L/DVB: v4l: remove unused i2c-id.h headers 2010-10-21 01:06:05 -02:00
omap V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
pvrusb2 V4L/DVB: pvrusb2: remove unneeded NULL checks 2010-09-27 22:21:48 -03:00
pwc V4L/DVB: pwc: remove BKL 2010-10-21 01:05:57 -02:00
s5p-fimc V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
saa7134 [media] saa7134: add test after for loop 2010-10-21 07:54:19 -02:00
saa7164 [media] saa7164: Removed use of the BKL 2010-10-21 07:55:32 -02:00
sn9c102 V4L/DVB: gspca - sonixj: Have 0c45:6130 handled by sonixj instead of sn9c102 2010-10-21 01:06:21 -02:00
tlg2300 V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
usbvideo V4L/DVB: gspca_konica: New gspca subdriver for konica chipset using cams 2010-10-21 01:04:46 -02:00
usbvision V4L/DVB: usbvision: remove BKL from usbvision 2010-10-21 01:06:06 -02:00
uvc [media] uvcvideo: Fix uvc_query_v4l2_ctrl() and uvc_xu_ctrl_query() locking 2010-10-21 01:18:26 -02:00
zoran V4L/DVB: drivers/media/video/zoran: Don't use initialized char array 2010-10-21 01:06:11 -02:00
Kconfig [media] SoC Camera: add driver for OV6650 sensor 2010-10-21 07:55:38 -02:00
Makefile [media] SoC Camera: add driver for OV6650 sensor 2010-10-21 07:55:38 -02:00
adv7170.c V4L/DVB: adv7170: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:04 -02:00
adv7175.c V4L/DVB: adv7175: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:01 -02:00
adv7180.c V4L/DVB: v4l: remove unused i2c-id.h headers 2010-10-21 01:06:05 -02:00
adv7343.c
adv7343_regs.h
ak881x.c V4L/DVB: mediabus: fix ambiguous pixel code names 2010-08-02 16:43:36 -03:00
arv.c
bt819.c V4L/DVB: bt819: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
bt856.c V4L/DVB: bt856: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
bt866.c V4L/DVB: bt866: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:00 -02:00
btcx-risc.c
btcx-risc.h
bw-qcam.c V4L/DVB: bw-qcam: convert to V4L2 2010-06-01 01:19:04 -03:00
c-qcam.c V4L/DVB: c-qcam: convert to V4L2 2010-06-01 01:19:41 -03:00
cafe_ccic-regs.h
cafe_ccic.c [media] cafe_ccic: Implement VIDIOC_ENUM_FRAMEINTERVALS and ENUM_FRAMESIZES 2010-10-21 01:17:06 -02:00
cs53l32a.c V4L/DVB: cs53l32a: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
cs5345.c V4L/DVB: cs5345: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:57 -02:00
cs8420.h
cx2341x.c V4L/DVB: cx2341x: convert to the control framework 2010-08-08 23:43:05 -03:00
dabusb.c V4L/DVB: drivers/media: Use memdup_user 2010-08-02 15:20:28 -03:00
dabusb.h
fsl-viu.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
hexium_gemini.c [media] i2c: Stop using I2C_CLASS_TV_ANALOG 2010-10-21 07:54:25 -02:00
hexium_orion.c [media] i2c: Stop using I2C_CLASS_TV_ANALOG 2010-10-21 07:54:25 -02:00
ibmmpeg2.h
indycam.c V4L/DVB: indycam: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
indycam.h
ir-kbd-i2c.c V4L/DVB: saa7134: get rid of I2C_HW_SAA7134 2010-10-21 01:06:07 -02:00
ks0127.c V4L/DVB: ks0127: remove obsolete v4l2_i2c_drv.h header 2010-10-21 01:06:04 -02:00
ks0127.h
m52790.c V4L/DVB: m52790: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
mem2mem_testdev.c V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
meye.c
meye.h
msp3400-driver.c V4L/DVB: msp3400: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:00 -02:00
msp3400-driver.h V4L/DVB: msp3400: convert to the new control framework 2010-08-08 23:43:04 -03:00
msp3400-kthreads.c V4L/DVB: msp3400: convert to the new control framework 2010-08-08 23:43:04 -03:00
mt9m001.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
mt9m111.c [media] mt9m111: changed MIN_DARK_COLS to MT9M131 spec count 2010-10-21 07:55:35 -02:00
mt9t031.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
mt9t112.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
mt9v011.c V4L/DVB: mt9v011: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
mt9v011.h
mt9v022.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
mx1_camera.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
mx2_camera.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
mx3_camera.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
mxb.c V4L/DVB: saa5246a/saa5249: Remove obsolete teletext drivers 2010-10-21 01:05:48 -02:00
mxb.h
omap1_camera.c [media] SoC Camera: add driver for OMAP1 camera interface 2010-10-21 07:55:37 -02:00
omap24xxcam-dma.c
omap24xxcam.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
omap24xxcam.h
ov772x.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
ov6650.c [media] SoC Camera: add driver for OV6650 sensor 2010-10-21 07:55:38 -02:00
ov7670.c [media] ov7670: implement VIDIOC_ENUM_FRAMESIZES 2010-10-21 01:17:06 -02:00
ov9640.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
ov9640.h
pms.c
pxa_camera.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
rj54n1cb0c.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
s2255drv.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions 2010-10-21 01:06:14 -02:00
saa711x_regs.h
saa717x.c V4L/DVB: saa717x: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
saa6588.c V4L/DVB: saa6588: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
saa7110.c V4L/DVB: saa7110: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
saa7115.c V4L/DVB: saa7115: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
saa7121.h
saa7127.c V4L/DVB: saa7127: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:04 -02:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB: saa7185: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
saa7191.c V4L/DVB: saa7191: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
saa7191.h
se401.c
se401.h
sh_mobile_ceu_camera.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
sh_mobile_csi2.c V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms 2010-08-02 16:43:39 -03:00
sh_vou.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2) 2010-10-21 01:06:19 -02:00
soc_camera.c V4L/DVB: soc-camera: allow only one video queue per device 2010-10-21 01:06:18 -02:00
soc_camera_platform.c V4L/DVB: soc_camera_platform: Add necessary v4l2_subdev_video_ops method 2010-08-02 14:05:37 -03:00
soc_mediabus.c V4L/DVB: mediabus: fix ambiguous pixel code names 2010-08-02 16:43:36 -03:00
stk-sensor.c
stk-webcam.c
stk-webcam.h
tcm825x.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
tcm825x.h
tda7432.c V4L/DVB: tda7432: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
tda9840.c V4L/DVB: tda9840: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
tda9875.c V4L/DVB: tda9875: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
tea6415c.c V4L/DVB: tea6415c: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:00 -02:00
tea6415c.h
tea6420.c V4L/DVB: tea6420: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
tea6420.h
ths7303.c
tlv320aic23b.c V4L/DVB: tlv320aic23b: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
tuner-core.c [media] tda18271: allow restricting max out to 4 bytes 2010-10-21 01:17:43 -02:00
tvaudio.c V4L/DVB: tvaudio: remove obsolete tda8425 initialization 2010-10-21 01:06:09 -02:00
tveeprom.c V4L/DVB: tveeprom: Add an entry for tuner code 168: a TCL M30WTP-4N-E tuner 2010-07-08 16:49:59 -03:00
tvp514x.c V4L/DVB: tvp514x: remove obsolete enum/try/s/g_fmt 2010-10-21 01:04:37 -02:00
tvp514x_regs.h
tvp5150.c [media] tvp5150: COMPOSITE0 input should not force-enable TV mode 2010-10-21 07:54:24 -02:00
tvp5150_reg.h
tvp7002.c V4L/DVB: tvp7002: remove obsolete enum/try/s/g_fmt 2010-10-21 01:04:38 -02:00
tvp7002_reg.h
tw9910.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
upd64031a.c V4L/DVB: upd64031a: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
upd64083.c V4L/DVB: upd64083: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
v4l1-compat.c
v4l2-common.c V4L/DVB: v4l2-common: Move v4l2_find_nearest_format from videodev2.h to v4l2-common.h 2010-10-21 01:06:19 -02:00
v4l2-compat-ioctl32.c v4l1: fix 32-bit compat microcode loading translation 2010-10-15 11:12:38 -07:00
v4l2-ctrls.c V4L/DVB: v4l2: Add illuminator controls 2010-10-21 01:05:54 -02:00
v4l2-dev.c V4L/DVB: Fix a merge conflict that affects unlock_ioctl 2010-10-21 01:16:58 -02:00
v4l2-device.c V4L/DVB: v4l2: hook up the new control framework into the core framework 2010-08-08 23:43:04 -03:00
v4l2-event.c V4L/DVB: v4l2: add core serialization lock 2010-10-21 01:06:14 -02:00
v4l2-fh.c V4L/DVB: V4L: Events: Support event handling in do_ioctl 2010-05-19 12:58:07 -03:00
v4l2-int-device.c
v4l2-ioctl.c V4L/DVB: v4l2: hook up the new control framework into the core framework 2010-08-08 23:43:04 -03:00
v4l2-mem2mem.c V4L/DVB: videobuf: prepare to make locking optional in videobuf 2010-10-21 01:06:14 -02:00
videobuf-core.c V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
videobuf-dma-contig.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions 2010-10-21 01:06:14 -02:00
videobuf-dma-sg.c [media] videobuf-dma-sg: Use min_t(size_t, PAGE_SIZE ..) 2010-10-21 01:17:00 -02:00
videobuf-dvb.c V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
videobuf-vmalloc.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions 2010-10-21 01:06:14 -02:00
vino.c
vino.h
vivi.c V4L/DVB: vivi: remove BKL 2010-10-21 01:06:15 -02:00
vp27smpx.c V4L/DVB: vp27smpx: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:57 -02:00
vpx3220.c V4L/DVB: vpx3220: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
w9966.c V4L/DVB: w9966: convert to V4L2 2010-05-19 12:57:09 -03:00
wm8739.c V4L/DVB: wm8739: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:57 -02:00
wm8775.c V4L/DVB: wm8775: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:01 -02:00
zr364xx.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions 2010-10-21 01:06:14 -02:00