Skip to content

Commit

Permalink
[media] media: ov7670: Add possibility to disable pixclk during hblank
Browse files Browse the repository at this point in the history
Some bridge drivers capture pixels during blanking periods if
pixclk is enabled. In order to avoid capturing bogus data we need to
disable pixclk in the sensor during those blanking periods.

Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Javier Martin authored and Mauro Carvalho Chehab committed Feb 8, 2013
1 parent 04ee6d9 commit ee95258
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/media/i2c/ov7670.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@ struct ov7670_info {
u8 clkrc; /* Clock divider value */
bool use_smbus; /* Use smbus I/O instead of I2C */
bool pll_bypass;
bool pclk_hb_disable;
const struct ov7670_devtype *devtype; /* Device specifics */
};

Expand Down Expand Up @@ -1712,6 +1713,9 @@ static int ov7670_probe(struct i2c_client *client,
*/
if (config->pll_bypass && id->driver_data != MODEL_OV7670)
info->pll_bypass = true;

if (config->pclk_hb_disable)
info->pclk_hb_disable = true;
}

/* Make sure it's an ov7670 */
Expand All @@ -1736,6 +1740,9 @@ static int ov7670_probe(struct i2c_client *client,
tpf.denominator = 30;
info->devtype->set_framerate(sd, &tpf);

if (info->pclk_hb_disable)
ov7670_write(sd, REG_COM10, COM10_PCLK_HB);

return 0;
}

Expand Down
1 change: 1 addition & 0 deletions include/media/ov7670.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ struct ov7670_config {
int clock_speed; /* External clock speed (MHz) */
bool use_smbus; /* Use smbus I/O instead of I2C */
bool pll_bypass; /* Choose whether to bypass the PLL */
bool pclk_hb_disable; /* Disable toggling pixclk during horizontal blanking */
};

#endif

0 comments on commit ee95258

Please sign in to comment.