diff options
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/i2c/ov8856.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/drivers/media/i2c/ov8856.c b/drivers/media/i2c/ov8856.c index 8785764b7a74..a9728afc81d4 100644 --- a/drivers/media/i2c/ov8856.c +++ b/drivers/media/i2c/ov8856.c @@ -63,6 +63,7 @@ #define OV8856_ANAL_GAIN_STEP 1 /* Digital gain controls from sensor */ +#define OV8856_REG_DIGITAL_GAIN 0x350a #define OV8856_REG_MWB_R_GAIN 0x5019 #define OV8856_REG_MWB_G_GAIN 0x501b #define OV8856_REG_MWB_B_GAIN 0x501d @@ -351,7 +352,7 @@ static const struct ov8856_reg lane_2_mode_3280x2464[] = { {0x484b, 0x05}, {0x5000, 0x57}, {0x5001, 0x0a}, - {0x5004, 0x04}, + {0x5004, 0x06}, {0x502e, 0x03}, {0x5030, 0x41}, {0x5795, 0x02}, @@ -543,7 +544,7 @@ static const struct ov8856_reg lane_2_mode_1640x1232[] = { {0x484b, 0x05}, {0x5000, 0x57}, {0x5001, 0x0a}, - {0x5004, 0x04}, + {0x5004, 0x06}, {0x502e, 0x03}, {0x5030, 0x41}, {0x5795, 0x00}, @@ -734,7 +735,7 @@ static const struct ov8856_reg lane_4_mode_3280x2464[] = { {0x484b, 0x05}, {0x5000, 0x57}, {0x5001, 0x0a}, - {0x5004, 0x04}, + {0x5004, 0x06}, {0x502e, 0x03}, {0x5030, 0x41}, {0x5780, 0x14}, @@ -925,7 +926,7 @@ static const struct ov8856_reg lane_4_mode_1640x1232[] = { {0x484b, 0x05}, {0x5000, 0x57}, {0x5001, 0x0a}, - {0x5004, 0x04}, + {0x5004, 0x06}, {0x502e, 0x03}, {0x5030, 0x41}, {0x5780, 0x14}, @@ -1755,19 +1756,7 @@ static int ov8856_identify_module(struct ov8856 *ov8856) static int ov8856_update_digital_gain(struct ov8856 *ov8856, u32 d_gain) { - int ret; - - ret = ov8856_write_reg(ov8856, OV8856_REG_MWB_R_GAIN, - OV8856_REG_VALUE_16BIT, d_gain); - if (ret) - return ret; - - ret = ov8856_write_reg(ov8856, OV8856_REG_MWB_G_GAIN, - OV8856_REG_VALUE_16BIT, d_gain); - if (ret) - return ret; - - return ov8856_write_reg(ov8856, OV8856_REG_MWB_B_GAIN, + return ov8856_write_reg(ov8856, OV8856_REG_DIGITAL_GAIN, OV8856_REG_VALUE_16BIT, d_gain); } |