]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: i2c: ov9282: add AEC Manual register definition
authorRichard Leitner <richard.leitner@linux.dev>
Tue, 25 Feb 2025 13:08:41 +0000 (14:08 +0100)
committerHans Verkuil <hverkuil@xs4all.nl>
Tue, 4 Mar 2025 12:35:32 +0000 (13:35 +0100)
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>
drivers/media/i2c/ov9282.c

index c926842257893c4da3319b847fab9908b5bdaec6..c882a021cf18852237bf9b9524d3de0c5b48cbcb 100644 (file)
 #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},