summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Leitner <richard.leitner@linux.dev>2025-02-25 16:08:41 +0300
committerHans Verkuil <hverkuil@xs4all.nl>2025-03-04 15:35:32 +0300
commit109bc8fb23d4f2d77f758eb098f5cf86c8a4df3a (patch)
treec91778df3325414939d7182145c67eb9432835bd
parent1e022996efc4a317b0a52ad3663be7bcf6c35dcc (diff)
downloadlinux-109bc8fb23d4f2d77f758eb098f5cf86c8a4df3a.tar.xz
media: i2c: ov9282: add AEC Manual register definition
Add #define's for the "AEC MANUAL" (0x3503) register and its values/flags. Use those in the registers single usage within the `common_regs` struct. All values are based on the OV9281 datasheet v1.01 (09.18.2015). Signed-off-by: Richard Leitner <richard.leitner@linux.dev> Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
-rw-r--r--drivers/media/i2c/ov9282.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/media/i2c/ov9282.c b/drivers/media/i2c/ov9282.c
index c92684225789..c882a021cf18 100644
--- a/drivers/media/i2c/ov9282.c
+++ b/drivers/media/i2c/ov9282.c
@@ -44,6 +44,15 @@
#define OV9282_EXPOSURE_STEP 1
#define OV9282_EXPOSURE_DEFAULT 0x0282
+/* AEC/AGC manual */
+#define OV9282_REG_AEC_MANUAL 0x3503
+#define OV9282_DIGFRAC_GAIN_DELAY BIT(6)
+#define OV9282_GAIN_CHANGE_DELAY BIT(5)
+#define OV9282_GAIN_DELAY BIT(4)
+#define OV9282_GAIN_PREC16_EN BIT(3)
+#define OV9282_GAIN_MANUAL_AS_SENSGAIN BIT(2)
+#define OV9282_AEC_MANUAL_DEFAULT 0x00
+
/* Analog gain control */
#define OV9282_REG_AGAIN 0x3509
#define OV9282_AGAIN_MIN 0x10
@@ -214,7 +223,7 @@ static const struct ov9282_reg common_regs[] = {
{0x3030, 0x10},
{0x3039, 0x32},
{0x303a, 0x00},
- {0x3503, 0x08},
+ {OV9282_REG_AEC_MANUAL, OV9282_GAIN_PREC16_EN},
{0x3505, 0x8c},
{0x3507, 0x03},
{0x3508, 0x00},