All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Mylene Josserand <mylene.josserand@bootlin.com>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Hugues Fruchet <hugues.fruchet@st.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>
Subject: [PATCH v2 04/12] media: ov5640: Init properly the SCLK dividers
Date: Mon, 16 Apr 2018 14:36:53 +0200	[thread overview]
Message-ID: <20180416123701.15901-5-maxime.ripard@bootlin.com> (raw)
In-Reply-To: <20180416123701.15901-1-maxime.ripard@bootlin.com>

The SCLK and SCLK2X dividers are fixed in stone in the initialization
array. Let's make explicit what we're doing and move that away from the
huge array to the initialization code.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
---
 drivers/media/i2c/ov5640.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
index a41e4cd5fd17..5b7995abc0e6 100644
--- a/drivers/media/i2c/ov5640.c
+++ b/drivers/media/i2c/ov5640.c
@@ -92,6 +92,9 @@
 #define OV5640_REG_SDE_CTRL5		0x5585
 #define OV5640_REG_AVG_READOUT		0x56a1
 
+#define OV5640_SCLK2X_ROOT_DIVIDER_DEFAULT	1
+#define OV5640_SCLK_ROOT_DIVIDER_DEFAULT	2
+
 enum ov5640_mode_id {
 	OV5640_MODE_QCIF_176_144 = 0,
 	OV5640_MODE_QVGA_320_240,
@@ -251,7 +254,7 @@ static const struct reg_value ov5640_init_setting_30fps_VGA[] = {
 	{0x3103, 0x11, 0, 0}, {0x3008, 0x82, 0, 5}, {0x3008, 0x42, 0, 0},
 	{0x3103, 0x03, 0, 0}, {0x3017, 0x00, 0, 0}, {0x3018, 0x00, 0, 0},
 	{0x3034, 0x18, 0, 0}, {0x3035, 0x14, 0, 0}, {0x3036, 0x38, 0, 0},
-	{0x3037, 0x13, 0, 0}, {0x3108, 0x01, 0, 0}, {0x3630, 0x36, 0, 0},
+	{0x3037, 0x13, 0, 0}, {0x3630, 0x36, 0, 0},
 	{0x3631, 0x0e, 0, 0}, {0x3632, 0xe2, 0, 0}, {0x3633, 0x12, 0, 0},
 	{0x3621, 0xe0, 0, 0}, {0x3704, 0xa0, 0, 0}, {0x3703, 0x5a, 0, 0},
 	{0x3715, 0x78, 0, 0}, {0x3717, 0x01, 0, 0}, {0x370b, 0x60, 0, 0},
@@ -1662,6 +1665,12 @@ static int ov5640_restore_mode(struct ov5640_dev *sensor)
 	if (ret < 0)
 		return ret;
 
+	ret = ov5640_mod_reg(sensor, OV5640_REG_SYS_ROOT_DIVIDER, 0x3f,
+			     (ilog2(OV5640_SCLK2X_ROOT_DIVIDER_DEFAULT) << 2) |
+			     ilog2(OV5640_SCLK_ROOT_DIVIDER_DEFAULT));
+	if (ret)
+		return ret;
+
 	/* now restore the last capture mode */
 	ret = ov5640_set_mode(sensor, &ov5640_mode_init_data);
 	if (ret < 0)
-- 
2.17.0

  parent reply	other threads:[~2018-04-16 12:37 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-16 12:36 [PATCH v2 00/12] media: ov5640: Misc cleanup and improvements Maxime Ripard
2018-04-16 12:36 ` [PATCH v2 01/12] media: ov5640: Add auto-focus feature Maxime Ripard
2018-04-19 10:36   ` Laurent Pinchart
2018-04-20 19:10     ` Maxime Ripard
2018-04-16 12:36 ` [PATCH v2 02/12] media: ov5640: Add light frequency control Maxime Ripard
2018-04-19  9:44   ` Laurent Pinchart
2018-04-20 19:04     ` Maxime Ripard
2018-04-24 11:55       ` Sakari Ailus
2018-04-16 12:36 ` [PATCH v2 03/12] media: ov5640: Don't force the auto exposure state at start time Maxime Ripard
2018-04-16 12:36 ` Maxime Ripard [this message]
2018-04-16 12:36 ` [PATCH v2 05/12] media: ov5640: Change horizontal and vertical resolutions name Maxime Ripard
2018-04-16 12:36 ` [PATCH v2 06/12] media: ov5640: Add horizontal and vertical totals Maxime Ripard
2018-04-16 12:36 ` [PATCH v2 07/12] media: ov5640: Program the visible resolution Maxime Ripard
2018-04-16 12:36 ` [PATCH v2 08/12] media: ov5640: Adjust the clock based on the expected rate Maxime Ripard
2018-04-24  7:21   ` Sakari Ailus
2018-04-24 19:36     ` Maxime Ripard
2018-05-02 21:44       ` Sakari Ailus
2018-04-16 12:36 ` [PATCH v2 09/12] media: ov5640: Compute the clock rate at runtime Maxime Ripard
2018-04-16 12:36 ` [PATCH v2 10/12] media: ov5640: Enhance FPS handling Maxime Ripard
2018-04-16 12:37 ` [PATCH v2 11/12] media: ov5640: Add 60 fps support Maxime Ripard
2018-05-15 13:33   ` Hugues FRUCHET
2018-05-17  8:52     ` Maxime Ripard
2018-05-17 13:29       ` Hugues FRUCHET
2018-05-18  9:05         ` Maxime Ripard
2018-04-16 12:37 ` [PATCH v2 12/12] media: ov5640: Remove duplicate auto-exposure setup Maxime Ripard
2018-04-16 23:22 ` [PATCH v2 00/12] media: ov5640: Misc cleanup and improvements Samuel Bobrowicz
2018-04-17 16:01   ` Maxime Ripard
2018-04-18 23:39     ` Samuel Bobrowicz
2018-04-19 12:32       ` Maxime Ripard
2018-04-24 22:11         ` Sam Bobrowicz
2018-04-25 19:53           ` Maxime Ripard
2018-04-27  9:27           ` Laurent Pinchart
2018-05-02 18:11             ` Sam Bobrowicz
2018-05-03 15:16               ` Maxime Ripard
2018-05-04 10:01                 ` Loic Poulain
2018-05-04 21:13                   ` Sam Bobrowicz
2018-05-07  8:10                     ` Maxime Ripard
2018-05-04  7:26               ` Loic Poulain
2018-05-04 21:26                 ` Sam Bobrowicz
2018-05-08  1:00 ` Sam Bobrowicz
2018-05-17  8:50   ` Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180416123701.15901-5-maxime.ripard@bootlin.com \
    --to=maxime.ripard@bootlin.com \
    --cc=hans.verkuil@cisco.com \
    --cc=hugues.fruchet@st.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=mylene.josserand@bootlin.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.