From 5cb01207324dd66909ffcd25e1975e4ccdc0faf7 Mon Sep 17 00:00:00 2001 From: Javier Martin Date: Tue, 29 Jan 2013 07:26:38 -0300 Subject: [PATCH] --- yaml --- r: 357525 b: refs/heads/master c: ee95258ed3926f3aa2cf8d62e62cd51be466fe26 h: refs/heads/master i: 357523: e343a237cd77d9c01f9d5bc9ff2d0c8e8f72e858 v: v3 --- [refs] | 2 +- trunk/drivers/media/i2c/ov7670.c | 7 +++++++ trunk/include/media/ov7670.h | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index fd231b0c636c..318133e1cf63 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 04ee6d92047e1ac68d4eb615119343f4f0fc57db +refs/heads/master: ee95258ed3926f3aa2cf8d62e62cd51be466fe26 diff --git a/trunk/drivers/media/i2c/ov7670.c b/trunk/drivers/media/i2c/ov7670.c index 3e503396aaa4..52c024a334df 100644 --- a/trunk/drivers/media/i2c/ov7670.c +++ b/trunk/drivers/media/i2c/ov7670.c @@ -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 */ }; @@ -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 */ @@ -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; } diff --git a/trunk/include/media/ov7670.h b/trunk/include/media/ov7670.h index a68c8bb3ceba..1913d5123072 100644 --- a/trunk/include/media/ov7670.h +++ b/trunk/include/media/ov7670.h @@ -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