Commit 1d2e3b44 authored by Hans de Goede's avatar Hans de Goede Committed by Hans Verkuil
Browse files

media: ov02c10: Fix the horizontal flip control



During sensor calibration I noticed that with the hflip control set to
false/disabled the image was mirrored.

The horizontal flip control is inverted and needs to be set to 1 to not
flip. This is something which seems to be common with various recent
Omnivision sensors, the ov01a10 and ov08x40 also have an inverted
mirror control.

Invert the hflip control to fix the sensor mirroring by default.

Fixes: b7cd2ba3 ("media: ov02c10: Support hflip and vflip")
Cc: stable@vger.kernel.org
Reviewed-by: default avatarBryan O'Donoghue <bod@kernel.org>
Reviewed-by: default avatarSebastian Reichel <sre@kernel.org>
Tested-by: Sebastian Reichel <sre@kernel.org> # T14s Gen6 Snapdragon
Signed-off-by: default avatarHans de Goede <johannes.goede@oss.qualcomm.com>
Signed-off-by: default avatarHans Verkuil <hverkuil+cisco@kernel.org>
parent d0bb6f1f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -170,7 +170,7 @@ static const struct reg_sequence sensor_1928x1092_30fps_setting[] = {
	{0x3816, 0x01},
	{0x3817, 0x01},

	{0x3820, 0xa0},
	{0x3820, 0xa8},
	{0x3821, 0x00},
	{0x3822, 0x80},
	{0x3823, 0x08},
@@ -462,9 +462,9 @@ static int ov02c10_set_ctrl(struct v4l2_ctrl *ctrl)

	case V4L2_CID_HFLIP:
		cci_write(ov02c10->regmap, OV02C10_ISP_X_WIN_CONTROL,
			  ctrl->val ? 1 : 2, &ret);
			  ctrl->val ? 2 : 1, &ret);
		cci_update_bits(ov02c10->regmap, OV02C10_ROTATE_CONTROL,
				BIT(3), ov02c10->hflip->val << 3, &ret);
				BIT(3), ctrl->val ? 0 : BIT(3), &ret);
		break;

	case V4L2_CID_VFLIP: