Linux Media Controller development
 help / color / mirror / Atom feed
From: Richard Leitner <richard.leitner@linux.dev>
To: Sakari Ailus <sakari.ailus@linux.intel.com>,
	 Dave Stevenson <dave.stevenson@raspberrypi.com>,
	 Mauro Carvalho Chehab <mchehab@kernel.org>,
	Lee Jones <lee@kernel.org>,  Pavel Machek <pavel@kernel.org>,
	 Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	linux-media@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-leds@vger.kernel.org,
	 Richard Leitner <richard.leitner@linux.dev>
Subject: [PATCH v4 06/10] media: i2c: ov9282: add output enable register definitions
Date: Wed, 07 May 2025 09:51:35 +0200	[thread overview]
Message-ID: <20250507-ov9282-flash-strobe-v4-6-72b299c1b7c9@linux.dev> (raw)
In-Reply-To: <20250507-ov9282-flash-strobe-v4-0-72b299c1b7c9@linux.dev>

Add #define's for the output enable registers (0x3004, 0x3005, 0x3006),
also known as SC_CTRL_04, SC_CTRL_05, SC_CTRL_04. Use those register
definitions instead of the raw values in the `common_regs` struct.

All values are based on the OV9281 datasheet v1.53 (january 2019).

Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Richard Leitner <richard.leitner@linux.dev>
---
 drivers/media/i2c/ov9282.c | 29 ++++++++++++++++++++++++++---
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/drivers/media/i2c/ov9282.c b/drivers/media/i2c/ov9282.c
index c882a021cf18852237bf9b9524d3de0c5b48cbcb..f42e0d439753e74d14e3a3592029e48f49234927 100644
--- a/drivers/media/i2c/ov9282.c
+++ b/drivers/media/i2c/ov9282.c
@@ -37,6 +37,29 @@
 #define OV9282_REG_ID		0x300a
 #define OV9282_ID		0x9281
 
+/* Output enable registers */
+#define OV9282_REG_OUTPUT_ENABLE4	0x3004
+#define OV9282_OUTPUT_ENABLE4_GPIO2	BIT(1)
+#define OV9282_OUTPUT_ENABLE4_D9	BIT(0)
+
+#define OV9282_REG_OUTPUT_ENABLE5	0x3005
+#define OV9282_OUTPUT_ENABLE5_D8	BIT(7)
+#define OV9282_OUTPUT_ENABLE5_D7	BIT(6)
+#define OV9282_OUTPUT_ENABLE5_D6	BIT(5)
+#define OV9282_OUTPUT_ENABLE5_D5	BIT(4)
+#define OV9282_OUTPUT_ENABLE5_D4	BIT(3)
+#define OV9282_OUTPUT_ENABLE5_D3	BIT(2)
+#define OV9282_OUTPUT_ENABLE5_D2	BIT(1)
+#define OV9282_OUTPUT_ENABLE5_D1	BIT(0)
+
+#define OV9282_REG_OUTPUT_ENABLE6	0x3006
+#define OV9282_OUTPUT_ENABLE6_D0	BIT(7)
+#define OV9282_OUTPUT_ENABLE6_PCLK	BIT(6)
+#define OV9282_OUTPUT_ENABLE6_HREF	BIT(5)
+#define OV9282_OUTPUT_ENABLE6_STROBE	BIT(3)
+#define OV9282_OUTPUT_ENABLE6_ILPWM	BIT(2)
+#define OV9282_OUTPUT_ENABLE6_VSYNC	BIT(1)
+
 /* Exposure control */
 #define OV9282_REG_EXPOSURE	0x3500
 #define OV9282_EXPOSURE_MIN	1
@@ -213,9 +236,9 @@ static const struct ov9282_reg common_regs[] = {
 	{0x0302, 0x32},
 	{0x030e, 0x02},
 	{0x3001, 0x00},
-	{0x3004, 0x00},
-	{0x3005, 0x00},
-	{0x3006, 0x04},
+	{OV9282_REG_OUTPUT_ENABLE4, 0x00},
+	{OV9282_REG_OUTPUT_ENABLE5, 0x00},
+	{OV9282_REG_OUTPUT_ENABLE6, OV9282_OUTPUT_ENABLE6_ILPWM},
 	{0x3011, 0x0a},
 	{0x3013, 0x18},
 	{0x301c, 0xf0},

-- 
2.47.2



  parent reply	other threads:[~2025-05-07  7:52 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-07  7:51 [PATCH v4 00/10] Add strobe/flash duration v4l2 ctrl & use it for ov9282 Richard Leitner
2025-05-07  7:51 ` [PATCH v4 01/10] media: v4l: ctrls: add a control for flash/strobe duration Richard Leitner
2025-05-07  7:51 ` [PATCH v4 02/10] leds: flash: add support for flash/stobe duration Richard Leitner
2025-05-13 10:08   ` (subset) " Lee Jones
2025-05-07  7:51 ` [PATCH v4 03/10] media: v4l2-flash: add support for flash/strobe duration Richard Leitner
2025-05-07  7:51 ` [PATCH v4 04/10] media: v4l2-flash: fix flash_timeout comment Richard Leitner
2025-05-07  7:51 ` [PATCH v4 05/10] Documentation: uAPI: media: add V4L2_CID_FLASH_DURATION Richard Leitner
2025-05-07  7:51 ` Richard Leitner [this message]
2025-05-07  7:51 ` [PATCH v4 07/10] media: i2c: ov9282: add led_mode v4l2 control Richard Leitner
2025-05-26 20:41   ` Sakari Ailus
2025-05-28 12:15     ` Richard Leitner
2025-05-07  7:51 ` [PATCH v4 08/10] media: i2c: ov9282: add strobe_duration " Richard Leitner
2025-05-26 20:27   ` Sakari Ailus
2025-06-16 22:11     ` Richard Leitner
2025-05-07  7:51 ` [PATCH v4 09/10] media: i2c: ov9282: add strobe_source " Richard Leitner
2025-05-26 20:24   ` Sakari Ailus
2025-05-28  9:46     ` Richard Leitner
2025-05-07  7:51 ` [PATCH v4 10/10] media: i2c: ov9282: implement try_ctrl for strobe_duration Richard Leitner
2025-05-26 20:22   ` Sakari Ailus
2025-05-28  9:25     ` Richard Leitner
2025-05-26 18:41 ` [PATCH v4 00/10] Add strobe/flash duration v4l2 ctrl & use it for ov9282 Richard Leitner

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=20250507-ov9282-flash-strobe-v4-6-72b299c1b7c9@linux.dev \
    --to=richard.leitner@linux.dev \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=pavel@kernel.org \
    --cc=sakari.ailus@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox