From: Chien-Yu Chen Date: Fri, 3 Dec 2010 03:34:36 +0000 (-0800) Subject: media: video: tegra: ov5650: adding group hold X-Git-Tag: firefly_0821_release~9834^2~271 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=79b6dbe9a8b2f05c6fc1d315f150eba05f2a3171;p=firefly-linux-kernel-4.4.55.git media: video: tegra: ov5650: adding group hold Adding group hold registers when setting the frame length to make sure all frame length settings are applied at the same time. Change-Id: I52b30bce90c049490b59f3e48d9925523b18b10c --- diff --git a/drivers/media/video/tegra/ov5650.c b/drivers/media/video/tegra/ov5650.c index 96957448447a..fb38471c5487 100755 --- a/drivers/media/video/tegra/ov5650.c +++ b/drivers/media/video/tegra/ov5650.c @@ -504,6 +504,10 @@ static int ov5650_set_frame_length(struct ov5650_info *info, u32 frame_length) ov5650_get_frame_length_regs(reg_list, frame_length); + ret = ov5650_write_reg(info->i2c_client, 0x3212, 0x01); + if (ret) + return ret; + for (i = 0; i < 2; i++) { ret = ov5650_write_reg(info->i2c_client, reg_list[i].addr, reg_list[i].val); @@ -511,6 +515,14 @@ static int ov5650_set_frame_length(struct ov5650_info *info, u32 frame_length) return ret; } + ret = ov5650_write_reg(info->i2c_client, 0x3212, 0x11); + if (ret) + return ret; + + ret = ov5650_write_reg(info->i2c_client, 0x3212, 0xa1); + if (ret) + return ret; + return 0; }