linux/drivers/media
Frank Schaefer 3881e59fe7 ov2640: fix vflip control
commit 7f140fc206 upstream.

Enabling vflip currently causes wrong colors.
It seems that (at least with the current sensor setup) REG04_VFLIP_IMG only
changes the vertical readout direction.
Because pixels are arranged RGRG... in odd lines and GBGB... in even lines,
either a one line shift or even/odd line swap is required, too, but
apparently this doesn't happen.

I finally figured out that this can be done manually by setting
REG04_VREF_EN.
Looking at hflip, it turns out that bit REG04_HREF_EN is set there
permanetly, but according to my tests has no effect on the pixel readout
order.
So my conclusion is that the current documentation of sensor register 0x04
is wrong (has changed after preliminary datasheet version 2.2).

I'm pretty sure that automatic vertical line shift/switch can be enabled,
too, but until anyone finds ot how this works, we have to stick with manual
switching.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
[bwh: Backported to 3.16: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2017-08-26 02:14:35 +01:00
..
common [media] siano: add support for PCTV 77e 2014-11-17 14:11:49 +00:00
dvb-core media: dvb_ringbuffer: Add memory barriers 2016-11-20 01:16:48 +00:00
dvb-frontends mb86a20s: fix demod settings 2017-02-23 03:53:58 +00:00
firewire firewire: introduce fw_driver.probe and .remove methods 2013-06-09 18:15:00 +02:00
i2c ov2640: fix vflip control 2017-08-26 02:14:35 +01:00
mmc [media] siano: get rid of CammelCase from smscoreapi.h 2013-03-21 10:03:16 -03:00
parport [media] media: parport: Fix format string mismatch in bw-qcam.c 2014-05-23 12:18:53 -03:00
pci media: fix dm1105.c build error 2017-06-05 21:17:01 +01:00
platform s5p-mfc: Fix unbalanced call to clock management 2017-08-26 02:14:29 +01:00
radio [media] si4713: fix Kconfig dependencies 2014-03-28 18:06:55 -03:00
rc mceusb: fix NULL-deref at probe 2017-08-26 02:14:26 +01:00
tuners xc2028: Fix use-after-free bug properly 2017-02-23 03:54:39 +00:00
usb dw2102: limit messages to buffer size 2017-08-26 02:14:35 +01:00
v4l2-core media: v4l2-compat-ioctl32: fix missing length copy in put_v4l2_buffer32 2016-05-01 00:05:45 +02:00
Kconfig [media] subdev autoselect only works if I2C and I2C_MUX is selected 2013-12-21 06:03:06 -02:00
Makefile [media] move i2c files into drivers/media/i2c 2012-09-06 18:42:54 -03:00
media-device.c media: media-device: Remove duplicated memset() in media_enum_entities() 2014-09-17 09:21:49 -07:00
media-devnode.c [media] media: Use a better owner for the media device 2014-05-13 13:39:00 -03:00
media-entity.c [media] media: Check for active links on pads with MEDIA_PAD_FL_MUST_CONNECT flag 2013-12-04 15:03:45 -02:00