diff mbox series

[v2,30/30] media: ov5647: Reflow register-value lists

Message ID 20201104104305.596479-1-jacopo@jmondi.org
State New
Headers show
Series media: ov5647: Support RaspberryPi Camera Module v1 | expand

Commit Message

Jacopo Mondi Nov. 4, 2020, 10:43 a.m. UTC
Reflow the register blob lists to span to 80 columns and make them
more compact.

Cosmetic change only.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 drivers/media/i2c/ov5647.c | 551 ++++++++-----------------------------
 1 file changed, 112 insertions(+), 439 deletions(-)

Comments

Dave Stevenson Nov. 4, 2020, 2:46 p.m. UTC | #1
Hi Jacopo

On Wed, 4 Nov 2020 at 10:43, Jacopo Mondi <jacopo@jmondi.org> wrote:
>

> Reflow the register blob lists to span to 80 columns and make them

> more compact.


Personally I find this makes it less readable.

It also means you can't do an easy diff between the register sets as
some registers only appear to be defined in some tables and so it
shifts the tabulation.
eg 0x3800, 0x4800 and 0x3503 are not in 640x480_sbggr8, but 0x4050 and
0x4051 are when they aren't in the _sbggr10 tables.

If the same set of registers appeared in all the tables then it could
be considered reasonable to compact them.

  Dave

> Cosmetic change only.

>

> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>

> ---

>  drivers/media/i2c/ov5647.c | 551 ++++++++-----------------------------

>  1 file changed, 112 insertions(+), 439 deletions(-)

>

> diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c

> index eb6e06a013057..9d261c786981f 100644

> --- a/drivers/media/i2c/ov5647.c

> +++ b/drivers/media/i2c/ov5647.c

> @@ -123,464 +123,137 @@ static inline struct ov5647 *to_sensor(struct v4l2_subdev *sd)

>  }

>

>  static const struct regval_list sensor_oe_disable_regs[] = {

> -       {0x3000, 0x00},

> -       {0x3001, 0x00},

> -       {0x3002, 0x00},

> +       {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

>  };

>

>  static const struct regval_list sensor_oe_enable_regs[] = {

> -       {0x3000, 0x0f},

> -       {0x3001, 0xff},

> -       {0x3002, 0xe4},

> +       {0x3000, 0x0f}, {0x3001, 0xff}, {0x3002, 0xe4},

>  };

>

>  static const struct regval_list ov5647_640x480_sbggr8[] = {

> -       {0x0100, 0x00},

> -       {0x0103, 0x01},

> -       {0x3034, 0x08},

> -       {0x3035, 0x21},

> -       {0x3036, 0x46},

> -       {0x303c, 0x11},

> -       {0x3106, 0xf5},

> -       {0x3821, 0x07},

> -       {0x3820, 0x41},

> -       {0x3827, 0xec},

> -       {0x370c, 0x0f},

> -       {0x3612, 0x59},

> -       {0x3618, 0x00},

> -       {0x5000, 0x06},

> -       {0x5002, 0x41},

> -       {0x5003, 0x08},

> -       {0x5a00, 0x08},

> -       {0x3000, 0x00},

> -       {0x3001, 0x00},

> -       {0x3002, 0x00},

> -       {0x3016, 0x08},

> -       {0x3017, 0xe0},

> -       {0x3018, 0x44},

> -       {0x301c, 0xf8},

> -       {0x301d, 0xf0},

> -       {0x3a18, 0x00},

> -       {0x3a19, 0xf8},

> -       {0x3c01, 0x80},

> -       {0x3b07, 0x0c},

> -       {0x380c, 0x07},

> -       {0x380d, 0x68},

> -       {0x3814, 0x31},

> -       {0x3815, 0x31},

> -       {0x3708, 0x64},

> -       {0x3709, 0x52},

> -       {0x3808, 0x02},

> -       {0x3809, 0x80},

> -       {0x380a, 0x01},

> -       {0x380b, 0xe0},

> -       {0x3801, 0x00},

> -       {0x3802, 0x00},

> -       {0x3803, 0x00},

> -       {0x3804, 0x0a},

> -       {0x3805, 0x3f},

> -       {0x3806, 0x07},

> -       {0x3807, 0xa1},

> -       {0x3811, 0x08},

> -       {0x3813, 0x02},

> -       {0x3630, 0x2e},

> -       {0x3632, 0xe2},

> -       {0x3633, 0x23},

> -       {0x3634, 0x44},

> -       {0x3636, 0x06},

> -       {0x3620, 0x64},

> -       {0x3621, 0xe0},

> -       {0x3600, 0x37},

> -       {0x3704, 0xa0},

> -       {0x3703, 0x5a},

> -       {0x3715, 0x78},

> -       {0x3717, 0x01},

> -       {0x3731, 0x02},

> -       {0x370b, 0x60},

> -       {0x3705, 0x1a},

> -       {0x3f05, 0x02},

> -       {0x3f06, 0x10},

> -       {0x3f01, 0x0a},

> -       {0x3a08, 0x01},

> -       {0x3a09, 0x27},

> -       {0x3a0a, 0x00},

> -       {0x3a0b, 0xf6},

> -       {0x3a0d, 0x04},

> -       {0x3a0e, 0x03},

> -       {0x3a0f, 0x58},

> -       {0x3a10, 0x50},

> -       {0x3a1b, 0x58},

> -       {0x3a1e, 0x50},

> -       {0x3a11, 0x60},

> -       {0x3a1f, 0x28},

> -       {0x4001, 0x02},

> -       {0x4004, 0x02},

> -       {0x4000, 0x09},

> -       {0x4837, 0x24},

> -       {0x4050, 0x6e},

> -       {0x4051, 0x8f},

> +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x08}, {0x3035, 0x21},

> +       {0x3036, 0x46}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x07},

> +       {0x3820, 0x41}, {0x3827, 0xec}, {0x370c, 0x0f}, {0x3612, 0x59},

> +       {0x3618, 0x00}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> +       {0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x68}, {0x3814, 0x31},

> +       {0x3815, 0x31}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},

> +       {0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3801, 0x00},

> +       {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a}, {0x3805, 0x3f},

> +       {0x3806, 0x07}, {0x3807, 0xa1}, {0x3811, 0x08}, {0x3813, 0x02},

> +       {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44},

> +       {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0}, {0x3600, 0x37},

> +       {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78}, {0x3717, 0x01},

> +       {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a}, {0x3f05, 0x02},

> +       {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01}, {0x3a09, 0x27},

> +       {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x04}, {0x3a0e, 0x03},

> +       {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58}, {0x3a1e, 0x50},

> +       {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02}, {0x4004, 0x02},

> +       {0x4000, 0x09}, {0x4837, 0x24}, {0x4050, 0x6e}, {0x4051, 0x8f},

>         {0x0100, 0x01},

>  };

>

>  static struct regval_list ov5647_2592x1944_sbggr10[] = {

> -       {0x0100, 0x00},

> -       {0x0103, 0x01},

> -       {0x3034, 0x1a},

> -       {0x3035, 0x21},

> -       {0x3036, 0x69},

> -       {0x303c, 0x11},

> -       {0x3106, 0xf5},

> -       {0x3821, 0x06},

> -       {0x3820, 0x00},

> -       {0x3827, 0xec},

> -       {0x370c, 0x03},

> -       {0x3612, 0x5b},

> -       {0x3618, 0x04},

> -       {0x5000, 0x06},

> -       {0x5002, 0x41},

> -       {0x5003, 0x08},

> -       {0x5a00, 0x08},

> -       {0x3000, 0x00},

> -       {0x3001, 0x00},

> -       {0x3002, 0x00},

> -       {0x3016, 0x08},

> -       {0x3017, 0xe0},

> -       {0x3018, 0x44},

> -       {0x301c, 0xf8},

> -       {0x301d, 0xf0},

> -       {0x3a18, 0x00},

> -       {0x3a19, 0xf8},

> -       {0x3c01, 0x80},

> -       {0x3b07, 0x0c},

> -       {0x380c, 0x0b},

> -       {0x380d, 0x1c},

> -       {0x3814, 0x11},

> -       {0x3815, 0x11},

> -       {0x3708, 0x64},

> -       {0x3709, 0x12},

> -       {0x3808, 0x0a},

> -       {0x3809, 0x20},

> -       {0x380a, 0x07},

> -       {0x380b, 0x98},

> -       {0x3800, 0x00},

> -       {0x3801, 0x00},

> -       {0x3802, 0x00},

> -       {0x3803, 0x00},

> -       {0x3804, 0x0a},

> -       {0x3805, 0x3f},

> -       {0x3806, 0x07},

> -       {0x3807, 0xa3},

> -       {0x3811, 0x10},

> -       {0x3813, 0x06},

> -       {0x3630, 0x2e},

> -       {0x3632, 0xe2},

> -       {0x3633, 0x23},

> -       {0x3634, 0x44},

> -       {0x3636, 0x06},

> -       {0x3620, 0x64},

> -       {0x3621, 0xe0},

> -       {0x3600, 0x37},

> -       {0x3704, 0xa0},

> -       {0x3703, 0x5a},

> -       {0x3715, 0x78},

> -       {0x3717, 0x01},

> -       {0x3731, 0x02},

> -       {0x370b, 0x60},

> -       {0x3705, 0x1a},

> -       {0x3f05, 0x02},

> -       {0x3f06, 0x10},

> -       {0x3f01, 0x0a},

> -       {0x3a08, 0x01},

> -       {0x3a09, 0x28},

> -       {0x3a0a, 0x00},

> -       {0x3a0b, 0xf6},

> -       {0x3a0d, 0x08},

> -       {0x3a0e, 0x06},

> -       {0x3a0f, 0x58},

> -       {0x3a10, 0x50},

> -       {0x3a1b, 0x58},

> -       {0x3a1e, 0x50},

> -       {0x3a11, 0x60},

> -       {0x3a1f, 0x28},

> -       {0x4001, 0x02},

> -       {0x4004, 0x04},

> -       {0x4000, 0x09},

> -       {0x4837, 0x19},

> -       {0x4800, 0x24},

> -       {0x3503, 0x03},

> -       {0x0100, 0x01},

> +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> +       {0x3036, 0x69}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},

> +       {0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},

> +       {0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> +       {0x3b07, 0x0c}, {0x380c, 0x0b}, {0x380d, 0x1c}, {0x3814, 0x11},

> +       {0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x0a},

> +       {0x3809, 0x20}, {0x380a, 0x07}, {0x380b, 0x98}, {0x3800, 0x00},

> +       {0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> +       {0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3811, 0x10},

> +       {0x3813, 0x06}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> +       {0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},

> +       {0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x24},

> +       {0x3503, 0x03}, {0x0100, 0x01},

>  };

>

>  static struct regval_list ov5647_1080p30_sbggr10[] = {

> -       {0x0100, 0x00},

> -       {0x0103, 0x01},

> -       {0x3034, 0x1a},

> -       {0x3035, 0x21},

> -       {0x3036, 0x62},

> -       {0x303c, 0x11},

> -       {0x3106, 0xf5},

> -       {0x3821, 0x06},

> -       {0x3820, 0x00},

> -       {0x3827, 0xec},

> -       {0x370c, 0x03},

> -       {0x3612, 0x5b},

> -       {0x3618, 0x04},

> -       {0x5000, 0x06},

> -       {0x5002, 0x41},

> -       {0x5003, 0x08},

> -       {0x5a00, 0x08},

> -       {0x3000, 0x00},

> -       {0x3001, 0x00},

> -       {0x3002, 0x00},

> -       {0x3016, 0x08},

> -       {0x3017, 0xe0},

> -       {0x3018, 0x44},

> -       {0x301c, 0xf8},

> -       {0x301d, 0xf0},

> -       {0x3a18, 0x00},

> -       {0x3a19, 0xf8},

> -       {0x3c01, 0x80},

> -       {0x3b07, 0x0c},

> -       {0x380c, 0x09},

> -       {0x380d, 0x70},

> -       {0x3814, 0x11},

> -       {0x3815, 0x11},

> -       {0x3708, 0x64},

> -       {0x3709, 0x12},

> -       {0x3808, 0x07},

> -       {0x3809, 0x80},

> -       {0x380a, 0x04},

> -       {0x380b, 0x38},

> -       {0x3800, 0x01},

> -       {0x3801, 0x5c},

> -       {0x3802, 0x01},

> -       {0x3803, 0xb2},

> -       {0x3804, 0x08},

> -       {0x3805, 0xe3},

> -       {0x3806, 0x05},

> -       {0x3807, 0xf1},

> -       {0x3811, 0x04},

> -       {0x3813, 0x02},

> -       {0x3630, 0x2e},

> -       {0x3632, 0xe2},

> -       {0x3633, 0x23},

> -       {0x3634, 0x44},

> -       {0x3636, 0x06},

> -       {0x3620, 0x64},

> -       {0x3621, 0xe0},

> -       {0x3600, 0x37},

> -       {0x3704, 0xa0},

> -       {0x3703, 0x5a},

> -       {0x3715, 0x78},

> -       {0x3717, 0x01},

> -       {0x3731, 0x02},

> -       {0x370b, 0x60},

> -       {0x3705, 0x1a},

> -       {0x3f05, 0x02},

> -       {0x3f06, 0x10},

> -       {0x3f01, 0x0a},

> -       {0x3a08, 0x01},

> -       {0x3a09, 0x4b},

> -       {0x3a0a, 0x01},

> -       {0x3a0b, 0x13},

> -       {0x3a0d, 0x04},

> -       {0x3a0e, 0x03},

> -       {0x3a0f, 0x58},

> -       {0x3a10, 0x50},

> -       {0x3a1b, 0x58},

> -       {0x3a1e, 0x50},

> -       {0x3a11, 0x60},

> -       {0x3a1f, 0x28},

> -       {0x4001, 0x02},

> -       {0x4004, 0x04},

> -       {0x4000, 0x09},

> -       {0x4837, 0x19},

> -       {0x4800, 0x34},

> -       {0x3503, 0x03},

> -       {0x0100, 0x01},

> +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> +       {0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},

> +       {0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},

> +       {0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> +       {0x3b07, 0x0c}, {0x380c, 0x09}, {0x380d, 0x70}, {0x3814, 0x11},

> +       {0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x07},

> +       {0x3809, 0x80}, {0x380a, 0x04}, {0x380b, 0x38}, {0x3800, 0x01},

> +       {0x3801, 0x5c}, {0x3802, 0x01}, {0x3803, 0xb2}, {0x3804, 0x08},

> +       {0x3805, 0xe3}, {0x3806, 0x05}, {0x3807, 0xf1}, {0x3811, 0x04},

> +       {0x3813, 0x02}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> +       {0x3a09, 0x4b}, {0x3a0a, 0x01}, {0x3a0b, 0x13}, {0x3a0d, 0x04},

> +       {0x3a0e, 0x03}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x34},

> +       {0x3503, 0x03}, {0x0100, 0x01},

>  };

>

>  static struct regval_list ov5647_2x2binned_sbggr10[] = {

> -       {0x0100, 0x00},

> -       {0x0103, 0x01},

> -       {0x3034, 0x1a},

> -       {0x3035, 0x21},

> -       {0x3036, 0x62},

> -       {0x303c, 0x11},

> -       {0x3106, 0xf5},

> -       {0x3827, 0xec},

> -       {0x370c, 0x03},

> -       {0x3612, 0x59},

> -       {0x3618, 0x00},

> -       {0x5000, 0x06},

> -       {0x5002, 0x41},

> -       {0x5003, 0x08},

> -       {0x5a00, 0x08},

> -       {0x3000, 0x00},

> -       {0x3001, 0x00},

> -       {0x3002, 0x00},

> -       {0x3016, 0x08},

> -       {0x3017, 0xe0},

> -       {0x3018, 0x44},

> -       {0x301c, 0xf8},

> -       {0x301d, 0xf0},

> -       {0x3a18, 0x00},

> -       {0x3a19, 0xf8},

> -       {0x3c01, 0x80},

> -       {0x3b07, 0x0c},

> -       {0x3800, 0x00},

> -       {0x3801, 0x00},

> -       {0x3802, 0x00},

> -       {0x3803, 0x00},

> -       {0x3804, 0x0a},

> -       {0x3805, 0x3f},

> -       {0x3806, 0x07},

> -       {0x3807, 0xa3},

> -       {0x3808, 0x05},

> -       {0x3809, 0x10},

> -       {0x380a, 0x03},

> -       {0x380b, 0xcc},

> -       {0x380c, 0x07},

> -       {0x380d, 0x68},

> -       {0x3811, 0x0c},

> -       {0x3813, 0x06},

> -       {0x3814, 0x31},

> -       {0x3815, 0x31},

> -       {0x3630, 0x2e},

> -       {0x3632, 0xe2},

> -       {0x3633, 0x23},

> -       {0x3634, 0x44},

> -       {0x3636, 0x06},

> -       {0x3620, 0x64},

> -       {0x3621, 0xe0},

> -       {0x3600, 0x37},

> -       {0x3704, 0xa0},

> -       {0x3703, 0x5a},

> -       {0x3715, 0x78},

> -       {0x3717, 0x01},

> -       {0x3731, 0x02},

> -       {0x370b, 0x60},

> -       {0x3705, 0x1a},

> -       {0x3f05, 0x02},

> -       {0x3f06, 0x10},

> -       {0x3f01, 0x0a},

> -       {0x3a08, 0x01},

> -       {0x3a09, 0x28},

> -       {0x3a0a, 0x00},

> -       {0x3a0b, 0xf6},

> -       {0x3a0d, 0x08},

> -       {0x3a0e, 0x06},

> -       {0x3a0f, 0x58},

> -       {0x3a10, 0x50},

> -       {0x3a1b, 0x58},

> -       {0x3a1e, 0x50},

> -       {0x3a11, 0x60},

> -       {0x3a1f, 0x28},

> -       {0x4001, 0x02},

> -       {0x4004, 0x04},

> -       {0x4000, 0x09},

> -       {0x4837, 0x16},

> -       {0x4800, 0x24},

> -       {0x3503, 0x03},

> -       {0x3820, 0x41},

> -       {0x3821, 0x07},

> -       {0x350a, 0x00},

> -       {0x350b, 0x10},

> -       {0x3500, 0x00},

> -       {0x3501, 0x1a},

> -       {0x3502, 0xf0},

> -       {0x3212, 0xa0},

> -       {0x0100, 0x01},

> +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> +       {0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3827, 0xec},

> +       {0x370c, 0x03}, {0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06},

> +       {0x5002, 0x41}, {0x5003, 0x08}, {0x5a00, 0x08}, {0x3000, 0x00},

> +       {0x3001, 0x00}, {0x3002, 0x00}, {0x3016, 0x08}, {0x3017, 0xe0},

> +       {0x3018, 0x44}, {0x301c, 0xf8}, {0x301d, 0xf0}, {0x3a18, 0x00},

> +       {0x3a19, 0xf8}, {0x3c01, 0x80}, {0x3b07, 0x0c}, {0x3800, 0x00},

> +       {0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> +       {0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3808, 0x05},

> +       {0x3809, 0x10}, {0x380a, 0x03}, {0x380b, 0xcc}, {0x380c, 0x07},

> +       {0x380d, 0x68}, {0x3811, 0x0c}, {0x3813, 0x06}, {0x3814, 0x31},

> +       {0x3815, 0x31}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> +       {0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},

> +       {0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x16}, {0x4800, 0x24},

> +       {0x3503, 0x03}, {0x3820, 0x41}, {0x3821, 0x07}, {0x350a, 0x00},

> +       {0x350b, 0x10}, {0x3500, 0x00}, {0x3501, 0x1a}, {0x3502, 0xf0},

> +       {0x3212, 0xa0}, {0x0100, 0x01},

>  };

>

>  static struct regval_list ov5647_640x480_sbggr10[] = {

> -       {0x0100, 0x00},

> -       {0x0103, 0x01},

> -       {0x3035, 0x11},

> -       {0x3036, 0x46},

> -       {0x303c, 0x11},

> -       {0x3821, 0x07},

> -       {0x3820, 0x41},

> -       {0x370c, 0x03},

> -       {0x3612, 0x59},

> -       {0x3618, 0x00},

> -       {0x5000, 0x06},

> -       {0x5003, 0x08},

> -       {0x5a00, 0x08},

> -       {0x3000, 0xff},

> -       {0x3001, 0xff},

> -       {0x3002, 0xff},

> -       {0x301d, 0xf0},

> -       {0x3a18, 0x00},

> -       {0x3a19, 0xf8},

> -       {0x3c01, 0x80},

> -       {0x3b07, 0x0c},

> -       {0x380c, 0x07},

> -       {0x380d, 0x3c},

> -       {0x3814, 0x35},

> -       {0x3815, 0x35},

> -       {0x3708, 0x64},

> -       {0x3709, 0x52},

> -       {0x3808, 0x02},

> -       {0x3809, 0x80},

> -       {0x380a, 0x01},

> -       {0x380b, 0xe0},

> -       {0x3800, 0x00},

> -       {0x3801, 0x10},

> -       {0x3802, 0x00},

> -       {0x3803, 0x00},

> -       {0x3804, 0x0a},

> -       {0x3805, 0x2f},

> -       {0x3806, 0x07},

> -       {0x3807, 0x9f},

> -       {0x3630, 0x2e},

> -       {0x3632, 0xe2},

> -       {0x3633, 0x23},

> -       {0x3634, 0x44},

> -       {0x3620, 0x64},

> -       {0x3621, 0xe0},

> -       {0x3600, 0x37},

> -       {0x3704, 0xa0},

> -       {0x3703, 0x5a},

> -       {0x3715, 0x78},

> -       {0x3717, 0x01},

> -       {0x3731, 0x02},

> -       {0x370b, 0x60},

> -       {0x3705, 0x1a},

> -       {0x3f05, 0x02},

> -       {0x3f06, 0x10},

> -       {0x3f01, 0x0a},

> -       {0x3a08, 0x01},

> -       {0x3a09, 0x2e},

> -       {0x3a0a, 0x00},

> -       {0x3a0b, 0xfb},

> -       {0x3a0d, 0x02},

> -       {0x3a0e, 0x01},

> -       {0x3a0f, 0x58},

> -       {0x3a10, 0x50},

> -       {0x3a1b, 0x58},

> -       {0x3a1e, 0x50},

> -       {0x3a11, 0x60},

> -       {0x3a1f, 0x28},

> -       {0x4001, 0x02},

> -       {0x4004, 0x02},

> -       {0x4000, 0x09},

> -       {0x3000, 0x00},

> -       {0x3001, 0x00},

> -       {0x3002, 0x00},

> -       {0x3017, 0xe0},

> -       {0x301c, 0xfc},

> -       {0x3636, 0x06},

> -       {0x3016, 0x08},

> -       {0x3827, 0xec},

> -       {0x3018, 0x44},

> -       {0x3035, 0x21},

> -       {0x3106, 0xf5},

> -       {0x3034, 0x1a},

> -       {0x301c, 0xf8},

> -       {0x4800, 0x34},

> -       {0x3503, 0x03},

> -       {0x0100, 0x01},

> +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3035, 0x11}, {0x3036, 0x46},

> +       {0x303c, 0x11}, {0x3821, 0x07}, {0x3820, 0x41}, {0x370c, 0x03},

> +       {0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06}, {0x5003, 0x08},

> +       {0x5a00, 0x08}, {0x3000, 0xff}, {0x3001, 0xff}, {0x3002, 0xff},

> +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> +       {0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x3c}, {0x3814, 0x35},

> +       {0x3815, 0x35}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},

> +       {0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3800, 0x00},

> +       {0x3801, 0x10}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> +       {0x3805, 0x2f}, {0x3806, 0x07}, {0x3807, 0x9f}, {0x3630, 0x2e},

> +       {0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44}, {0x3620, 0x64},

> +       {0x3621, 0xe0}, {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a},

> +       {0x3715, 0x78}, {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60},

> +       {0x3705, 0x1a}, {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a},

> +       {0x3a08, 0x01}, {0x3a09, 0x2e}, {0x3a0a, 0x00}, {0x3a0b, 0xfb},

> +       {0x3a0d, 0x02}, {0x3a0e, 0x01}, {0x3a0f, 0x58}, {0x3a10, 0x50},

> +       {0x3a1b, 0x58}, {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28},

> +       {0x4001, 0x02}, {0x4004, 0x02}, {0x4000, 0x09}, {0x3000, 0x00},

> +       {0x3001, 0x00}, {0x3002, 0x00}, {0x3017, 0xe0}, {0x301c, 0xfc},

> +       {0x3636, 0x06}, {0x3016, 0x08}, {0x3827, 0xec}, {0x3018, 0x44},

> +       {0x3035, 0x21}, {0x3106, 0xf5}, {0x3034, 0x1a}, {0x301c, 0xf8},

> +       {0x4800, 0x34}, {0x3503, 0x03}, {0x0100, 0x01},

>  };

>

>  static const struct ov5647_mode ov5647_sbggr8_modes[] = {

> --

> 2.29.1

>
Laurent Pinchart Nov. 4, 2020, 2:54 p.m. UTC | #2
On Wed, Nov 04, 2020 at 02:50:52PM +0000, Naushir Patuck wrote:
> On Wed, 4 Nov 2020 at 14:46, Dave Stevenson wrote:

> > On Wed, 4 Nov 2020 at 10:43, Jacopo Mondi <jacopo@jmondi.org> wrote:

> > >

> > > Reflow the register blob lists to span to 80 columns and make them

> > > more compact.

> >

> > Personally I find this makes it less readable.

> >

> > It also means you can't do an easy diff between the register sets as

> > some registers only appear to be defined in some tables and so it

> > shifts the tabulation.

> > eg 0x3800, 0x4800 and 0x3503 are not in 640x480_sbggr8, but 0x4050 and

> > 0x4051 are when they aren't in the _sbggr10 tables.

> >

> > If the same set of registers appeared in all the tables then it could

> > be considered reasonable to compact them.

> 

> I would agree with Dave on this one.  For me, having a single column in the

> register list does provide better readability.


Especially given that hex values should be replaced by named macros.

> > > Cosmetic change only.

> > >

> > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>

> > > ---

> > >  drivers/media/i2c/ov5647.c | 551 ++++++++-----------------------------

> > >  1 file changed, 112 insertions(+), 439 deletions(-)

> > >

> > > diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c

> > > index eb6e06a013057..9d261c786981f 100644

> > > --- a/drivers/media/i2c/ov5647.c

> > > +++ b/drivers/media/i2c/ov5647.c

> > > @@ -123,464 +123,137 @@ static inline struct ov5647 *to_sensor(struct

> > v4l2_subdev *sd)

> > >  }

> > >

> > >  static const struct regval_list sensor_oe_disable_regs[] = {

> > > -       {0x3000, 0x00},

> > > -       {0x3001, 0x00},

> > > -       {0x3002, 0x00},

> > > +       {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > >  };

> > >

> > >  static const struct regval_list sensor_oe_enable_regs[] = {

> > > -       {0x3000, 0x0f},

> > > -       {0x3001, 0xff},

> > > -       {0x3002, 0xe4},

> > > +       {0x3000, 0x0f}, {0x3001, 0xff}, {0x3002, 0xe4},

> > >  };

> > >

> > >  static const struct regval_list ov5647_640x480_sbggr8[] = {

> > > -       {0x0100, 0x00},

> > > -       {0x0103, 0x01},

> > > -       {0x3034, 0x08},

> > > -       {0x3035, 0x21},

> > > -       {0x3036, 0x46},

> > > -       {0x303c, 0x11},

> > > -       {0x3106, 0xf5},

> > > -       {0x3821, 0x07},

> > > -       {0x3820, 0x41},

> > > -       {0x3827, 0xec},

> > > -       {0x370c, 0x0f},

> > > -       {0x3612, 0x59},

> > > -       {0x3618, 0x00},

> > > -       {0x5000, 0x06},

> > > -       {0x5002, 0x41},

> > > -       {0x5003, 0x08},

> > > -       {0x5a00, 0x08},

> > > -       {0x3000, 0x00},

> > > -       {0x3001, 0x00},

> > > -       {0x3002, 0x00},

> > > -       {0x3016, 0x08},

> > > -       {0x3017, 0xe0},

> > > -       {0x3018, 0x44},

> > > -       {0x301c, 0xf8},

> > > -       {0x301d, 0xf0},

> > > -       {0x3a18, 0x00},

> > > -       {0x3a19, 0xf8},

> > > -       {0x3c01, 0x80},

> > > -       {0x3b07, 0x0c},

> > > -       {0x380c, 0x07},

> > > -       {0x380d, 0x68},

> > > -       {0x3814, 0x31},

> > > -       {0x3815, 0x31},

> > > -       {0x3708, 0x64},

> > > -       {0x3709, 0x52},

> > > -       {0x3808, 0x02},

> > > -       {0x3809, 0x80},

> > > -       {0x380a, 0x01},

> > > -       {0x380b, 0xe0},

> > > -       {0x3801, 0x00},

> > > -       {0x3802, 0x00},

> > > -       {0x3803, 0x00},

> > > -       {0x3804, 0x0a},

> > > -       {0x3805, 0x3f},

> > > -       {0x3806, 0x07},

> > > -       {0x3807, 0xa1},

> > > -       {0x3811, 0x08},

> > > -       {0x3813, 0x02},

> > > -       {0x3630, 0x2e},

> > > -       {0x3632, 0xe2},

> > > -       {0x3633, 0x23},

> > > -       {0x3634, 0x44},

> > > -       {0x3636, 0x06},

> > > -       {0x3620, 0x64},

> > > -       {0x3621, 0xe0},

> > > -       {0x3600, 0x37},

> > > -       {0x3704, 0xa0},

> > > -       {0x3703, 0x5a},

> > > -       {0x3715, 0x78},

> > > -       {0x3717, 0x01},

> > > -       {0x3731, 0x02},

> > > -       {0x370b, 0x60},

> > > -       {0x3705, 0x1a},

> > > -       {0x3f05, 0x02},

> > > -       {0x3f06, 0x10},

> > > -       {0x3f01, 0x0a},

> > > -       {0x3a08, 0x01},

> > > -       {0x3a09, 0x27},

> > > -       {0x3a0a, 0x00},

> > > -       {0x3a0b, 0xf6},

> > > -       {0x3a0d, 0x04},

> > > -       {0x3a0e, 0x03},

> > > -       {0x3a0f, 0x58},

> > > -       {0x3a10, 0x50},

> > > -       {0x3a1b, 0x58},

> > > -       {0x3a1e, 0x50},

> > > -       {0x3a11, 0x60},

> > > -       {0x3a1f, 0x28},

> > > -       {0x4001, 0x02},

> > > -       {0x4004, 0x02},

> > > -       {0x4000, 0x09},

> > > -       {0x4837, 0x24},

> > > -       {0x4050, 0x6e},

> > > -       {0x4051, 0x8f},

> > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x08}, {0x3035, 0x21},

> > > +       {0x3036, 0x46}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x07},

> > > +       {0x3820, 0x41}, {0x3827, 0xec}, {0x370c, 0x0f}, {0x3612, 0x59},

> > > +       {0x3618, 0x00}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> > > +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > > +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > +       {0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x68}, {0x3814, 0x31},

> > > +       {0x3815, 0x31}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},

> > > +       {0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3801, 0x00},

> > > +       {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a}, {0x3805, 0x3f},

> > > +       {0x3806, 0x07}, {0x3807, 0xa1}, {0x3811, 0x08}, {0x3813, 0x02},

> > > +       {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44},

> > > +       {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0}, {0x3600, 0x37},

> > > +       {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78}, {0x3717, 0x01},

> > > +       {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a}, {0x3f05, 0x02},

> > > +       {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01}, {0x3a09, 0x27},

> > > +       {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x04}, {0x3a0e, 0x03},

> > > +       {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58}, {0x3a1e, 0x50},

> > > +       {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02}, {0x4004, 0x02},

> > > +       {0x4000, 0x09}, {0x4837, 0x24}, {0x4050, 0x6e}, {0x4051, 0x8f},

> > >         {0x0100, 0x01},

> > >  };

> > >

> > >  static struct regval_list ov5647_2592x1944_sbggr10[] = {

> > > -       {0x0100, 0x00},

> > > -       {0x0103, 0x01},

> > > -       {0x3034, 0x1a},

> > > -       {0x3035, 0x21},

> > > -       {0x3036, 0x69},

> > > -       {0x303c, 0x11},

> > > -       {0x3106, 0xf5},

> > > -       {0x3821, 0x06},

> > > -       {0x3820, 0x00},

> > > -       {0x3827, 0xec},

> > > -       {0x370c, 0x03},

> > > -       {0x3612, 0x5b},

> > > -       {0x3618, 0x04},

> > > -       {0x5000, 0x06},

> > > -       {0x5002, 0x41},

> > > -       {0x5003, 0x08},

> > > -       {0x5a00, 0x08},

> > > -       {0x3000, 0x00},

> > > -       {0x3001, 0x00},

> > > -       {0x3002, 0x00},

> > > -       {0x3016, 0x08},

> > > -       {0x3017, 0xe0},

> > > -       {0x3018, 0x44},

> > > -       {0x301c, 0xf8},

> > > -       {0x301d, 0xf0},

> > > -       {0x3a18, 0x00},

> > > -       {0x3a19, 0xf8},

> > > -       {0x3c01, 0x80},

> > > -       {0x3b07, 0x0c},

> > > -       {0x380c, 0x0b},

> > > -       {0x380d, 0x1c},

> > > -       {0x3814, 0x11},

> > > -       {0x3815, 0x11},

> > > -       {0x3708, 0x64},

> > > -       {0x3709, 0x12},

> > > -       {0x3808, 0x0a},

> > > -       {0x3809, 0x20},

> > > -       {0x380a, 0x07},

> > > -       {0x380b, 0x98},

> > > -       {0x3800, 0x00},

> > > -       {0x3801, 0x00},

> > > -       {0x3802, 0x00},

> > > -       {0x3803, 0x00},

> > > -       {0x3804, 0x0a},

> > > -       {0x3805, 0x3f},

> > > -       {0x3806, 0x07},

> > > -       {0x3807, 0xa3},

> > > -       {0x3811, 0x10},

> > > -       {0x3813, 0x06},

> > > -       {0x3630, 0x2e},

> > > -       {0x3632, 0xe2},

> > > -       {0x3633, 0x23},

> > > -       {0x3634, 0x44},

> > > -       {0x3636, 0x06},

> > > -       {0x3620, 0x64},

> > > -       {0x3621, 0xe0},

> > > -       {0x3600, 0x37},

> > > -       {0x3704, 0xa0},

> > > -       {0x3703, 0x5a},

> > > -       {0x3715, 0x78},

> > > -       {0x3717, 0x01},

> > > -       {0x3731, 0x02},

> > > -       {0x370b, 0x60},

> > > -       {0x3705, 0x1a},

> > > -       {0x3f05, 0x02},

> > > -       {0x3f06, 0x10},

> > > -       {0x3f01, 0x0a},

> > > -       {0x3a08, 0x01},

> > > -       {0x3a09, 0x28},

> > > -       {0x3a0a, 0x00},

> > > -       {0x3a0b, 0xf6},

> > > -       {0x3a0d, 0x08},

> > > -       {0x3a0e, 0x06},

> > > -       {0x3a0f, 0x58},

> > > -       {0x3a10, 0x50},

> > > -       {0x3a1b, 0x58},

> > > -       {0x3a1e, 0x50},

> > > -       {0x3a11, 0x60},

> > > -       {0x3a1f, 0x28},

> > > -       {0x4001, 0x02},

> > > -       {0x4004, 0x04},

> > > -       {0x4000, 0x09},

> > > -       {0x4837, 0x19},

> > > -       {0x4800, 0x24},

> > > -       {0x3503, 0x03},

> > > -       {0x0100, 0x01},

> > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> > > +       {0x3036, 0x69}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},

> > > +       {0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},

> > > +       {0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> > > +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > > +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > +       {0x3b07, 0x0c}, {0x380c, 0x0b}, {0x380d, 0x1c}, {0x3814, 0x11},

> > > +       {0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x0a},

> > > +       {0x3809, 0x20}, {0x380a, 0x07}, {0x380b, 0x98}, {0x3800, 0x00},

> > > +       {0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> > > +       {0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3811, 0x10},

> > > +       {0x3813, 0x06}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> > > +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> > > +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> > > +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> > > +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> > > +       {0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},

> > > +       {0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> > > +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> > > +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x24},

> > > +       {0x3503, 0x03}, {0x0100, 0x01},

> > >  };

> > >

> > >  static struct regval_list ov5647_1080p30_sbggr10[] = {

> > > -       {0x0100, 0x00},

> > > -       {0x0103, 0x01},

> > > -       {0x3034, 0x1a},

> > > -       {0x3035, 0x21},

> > > -       {0x3036, 0x62},

> > > -       {0x303c, 0x11},

> > > -       {0x3106, 0xf5},

> > > -       {0x3821, 0x06},

> > > -       {0x3820, 0x00},

> > > -       {0x3827, 0xec},

> > > -       {0x370c, 0x03},

> > > -       {0x3612, 0x5b},

> > > -       {0x3618, 0x04},

> > > -       {0x5000, 0x06},

> > > -       {0x5002, 0x41},

> > > -       {0x5003, 0x08},

> > > -       {0x5a00, 0x08},

> > > -       {0x3000, 0x00},

> > > -       {0x3001, 0x00},

> > > -       {0x3002, 0x00},

> > > -       {0x3016, 0x08},

> > > -       {0x3017, 0xe0},

> > > -       {0x3018, 0x44},

> > > -       {0x301c, 0xf8},

> > > -       {0x301d, 0xf0},

> > > -       {0x3a18, 0x00},

> > > -       {0x3a19, 0xf8},

> > > -       {0x3c01, 0x80},

> > > -       {0x3b07, 0x0c},

> > > -       {0x380c, 0x09},

> > > -       {0x380d, 0x70},

> > > -       {0x3814, 0x11},

> > > -       {0x3815, 0x11},

> > > -       {0x3708, 0x64},

> > > -       {0x3709, 0x12},

> > > -       {0x3808, 0x07},

> > > -       {0x3809, 0x80},

> > > -       {0x380a, 0x04},

> > > -       {0x380b, 0x38},

> > > -       {0x3800, 0x01},

> > > -       {0x3801, 0x5c},

> > > -       {0x3802, 0x01},

> > > -       {0x3803, 0xb2},

> > > -       {0x3804, 0x08},

> > > -       {0x3805, 0xe3},

> > > -       {0x3806, 0x05},

> > > -       {0x3807, 0xf1},

> > > -       {0x3811, 0x04},

> > > -       {0x3813, 0x02},

> > > -       {0x3630, 0x2e},

> > > -       {0x3632, 0xe2},

> > > -       {0x3633, 0x23},

> > > -       {0x3634, 0x44},

> > > -       {0x3636, 0x06},

> > > -       {0x3620, 0x64},

> > > -       {0x3621, 0xe0},

> > > -       {0x3600, 0x37},

> > > -       {0x3704, 0xa0},

> > > -       {0x3703, 0x5a},

> > > -       {0x3715, 0x78},

> > > -       {0x3717, 0x01},

> > > -       {0x3731, 0x02},

> > > -       {0x370b, 0x60},

> > > -       {0x3705, 0x1a},

> > > -       {0x3f05, 0x02},

> > > -       {0x3f06, 0x10},

> > > -       {0x3f01, 0x0a},

> > > -       {0x3a08, 0x01},

> > > -       {0x3a09, 0x4b},

> > > -       {0x3a0a, 0x01},

> > > -       {0x3a0b, 0x13},

> > > -       {0x3a0d, 0x04},

> > > -       {0x3a0e, 0x03},

> > > -       {0x3a0f, 0x58},

> > > -       {0x3a10, 0x50},

> > > -       {0x3a1b, 0x58},

> > > -       {0x3a1e, 0x50},

> > > -       {0x3a11, 0x60},

> > > -       {0x3a1f, 0x28},

> > > -       {0x4001, 0x02},

> > > -       {0x4004, 0x04},

> > > -       {0x4000, 0x09},

> > > -       {0x4837, 0x19},

> > > -       {0x4800, 0x34},

> > > -       {0x3503, 0x03},

> > > -       {0x0100, 0x01},

> > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> > > +       {0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},

> > > +       {0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},

> > > +       {0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> > > +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > > +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > +       {0x3b07, 0x0c}, {0x380c, 0x09}, {0x380d, 0x70}, {0x3814, 0x11},

> > > +       {0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x07},

> > > +       {0x3809, 0x80}, {0x380a, 0x04}, {0x380b, 0x38}, {0x3800, 0x01},

> > > +       {0x3801, 0x5c}, {0x3802, 0x01}, {0x3803, 0xb2}, {0x3804, 0x08},

> > > +       {0x3805, 0xe3}, {0x3806, 0x05}, {0x3807, 0xf1}, {0x3811, 0x04},

> > > +       {0x3813, 0x02}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> > > +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> > > +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> > > +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> > > +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> > > +       {0x3a09, 0x4b}, {0x3a0a, 0x01}, {0x3a0b, 0x13}, {0x3a0d, 0x04},

> > > +       {0x3a0e, 0x03}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> > > +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> > > +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x34},

> > > +       {0x3503, 0x03}, {0x0100, 0x01},

> > >  };

> > >

> > >  static struct regval_list ov5647_2x2binned_sbggr10[] = {

> > > -       {0x0100, 0x00},

> > > -       {0x0103, 0x01},

> > > -       {0x3034, 0x1a},

> > > -       {0x3035, 0x21},

> > > -       {0x3036, 0x62},

> > > -       {0x303c, 0x11},

> > > -       {0x3106, 0xf5},

> > > -       {0x3827, 0xec},

> > > -       {0x370c, 0x03},

> > > -       {0x3612, 0x59},

> > > -       {0x3618, 0x00},

> > > -       {0x5000, 0x06},

> > > -       {0x5002, 0x41},

> > > -       {0x5003, 0x08},

> > > -       {0x5a00, 0x08},

> > > -       {0x3000, 0x00},

> > > -       {0x3001, 0x00},

> > > -       {0x3002, 0x00},

> > > -       {0x3016, 0x08},

> > > -       {0x3017, 0xe0},

> > > -       {0x3018, 0x44},

> > > -       {0x301c, 0xf8},

> > > -       {0x301d, 0xf0},

> > > -       {0x3a18, 0x00},

> > > -       {0x3a19, 0xf8},

> > > -       {0x3c01, 0x80},

> > > -       {0x3b07, 0x0c},

> > > -       {0x3800, 0x00},

> > > -       {0x3801, 0x00},

> > > -       {0x3802, 0x00},

> > > -       {0x3803, 0x00},

> > > -       {0x3804, 0x0a},

> > > -       {0x3805, 0x3f},

> > > -       {0x3806, 0x07},

> > > -       {0x3807, 0xa3},

> > > -       {0x3808, 0x05},

> > > -       {0x3809, 0x10},

> > > -       {0x380a, 0x03},

> > > -       {0x380b, 0xcc},

> > > -       {0x380c, 0x07},

> > > -       {0x380d, 0x68},

> > > -       {0x3811, 0x0c},

> > > -       {0x3813, 0x06},

> > > -       {0x3814, 0x31},

> > > -       {0x3815, 0x31},

> > > -       {0x3630, 0x2e},

> > > -       {0x3632, 0xe2},

> > > -       {0x3633, 0x23},

> > > -       {0x3634, 0x44},

> > > -       {0x3636, 0x06},

> > > -       {0x3620, 0x64},

> > > -       {0x3621, 0xe0},

> > > -       {0x3600, 0x37},

> > > -       {0x3704, 0xa0},

> > > -       {0x3703, 0x5a},

> > > -       {0x3715, 0x78},

> > > -       {0x3717, 0x01},

> > > -       {0x3731, 0x02},

> > > -       {0x370b, 0x60},

> > > -       {0x3705, 0x1a},

> > > -       {0x3f05, 0x02},

> > > -       {0x3f06, 0x10},

> > > -       {0x3f01, 0x0a},

> > > -       {0x3a08, 0x01},

> > > -       {0x3a09, 0x28},

> > > -       {0x3a0a, 0x00},

> > > -       {0x3a0b, 0xf6},

> > > -       {0x3a0d, 0x08},

> > > -       {0x3a0e, 0x06},

> > > -       {0x3a0f, 0x58},

> > > -       {0x3a10, 0x50},

> > > -       {0x3a1b, 0x58},

> > > -       {0x3a1e, 0x50},

> > > -       {0x3a11, 0x60},

> > > -       {0x3a1f, 0x28},

> > > -       {0x4001, 0x02},

> > > -       {0x4004, 0x04},

> > > -       {0x4000, 0x09},

> > > -       {0x4837, 0x16},

> > > -       {0x4800, 0x24},

> > > -       {0x3503, 0x03},

> > > -       {0x3820, 0x41},

> > > -       {0x3821, 0x07},

> > > -       {0x350a, 0x00},

> > > -       {0x350b, 0x10},

> > > -       {0x3500, 0x00},

> > > -       {0x3501, 0x1a},

> > > -       {0x3502, 0xf0},

> > > -       {0x3212, 0xa0},

> > > -       {0x0100, 0x01},

> > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> > > +       {0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3827, 0xec},

> > > +       {0x370c, 0x03}, {0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06},

> > > +       {0x5002, 0x41}, {0x5003, 0x08}, {0x5a00, 0x08}, {0x3000, 0x00},

> > > +       {0x3001, 0x00}, {0x3002, 0x00}, {0x3016, 0x08}, {0x3017, 0xe0},

> > > +       {0x3018, 0x44}, {0x301c, 0xf8}, {0x301d, 0xf0}, {0x3a18, 0x00},

> > > +       {0x3a19, 0xf8}, {0x3c01, 0x80}, {0x3b07, 0x0c}, {0x3800, 0x00},

> > > +       {0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> > > +       {0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3808, 0x05},

> > > +       {0x3809, 0x10}, {0x380a, 0x03}, {0x380b, 0xcc}, {0x380c, 0x07},

> > > +       {0x380d, 0x68}, {0x3811, 0x0c}, {0x3813, 0x06}, {0x3814, 0x31},

> > > +       {0x3815, 0x31}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> > > +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> > > +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> > > +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> > > +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> > > +       {0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},

> > > +       {0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> > > +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> > > +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x16}, {0x4800, 0x24},

> > > +       {0x3503, 0x03}, {0x3820, 0x41}, {0x3821, 0x07}, {0x350a, 0x00},

> > > +       {0x350b, 0x10}, {0x3500, 0x00}, {0x3501, 0x1a}, {0x3502, 0xf0},

> > > +       {0x3212, 0xa0}, {0x0100, 0x01},

> > >  };

> > >

> > >  static struct regval_list ov5647_640x480_sbggr10[] = {

> > > -       {0x0100, 0x00},

> > > -       {0x0103, 0x01},

> > > -       {0x3035, 0x11},

> > > -       {0x3036, 0x46},

> > > -       {0x303c, 0x11},

> > > -       {0x3821, 0x07},

> > > -       {0x3820, 0x41},

> > > -       {0x370c, 0x03},

> > > -       {0x3612, 0x59},

> > > -       {0x3618, 0x00},

> > > -       {0x5000, 0x06},

> > > -       {0x5003, 0x08},

> > > -       {0x5a00, 0x08},

> > > -       {0x3000, 0xff},

> > > -       {0x3001, 0xff},

> > > -       {0x3002, 0xff},

> > > -       {0x301d, 0xf0},

> > > -       {0x3a18, 0x00},

> > > -       {0x3a19, 0xf8},

> > > -       {0x3c01, 0x80},

> > > -       {0x3b07, 0x0c},

> > > -       {0x380c, 0x07},

> > > -       {0x380d, 0x3c},

> > > -       {0x3814, 0x35},

> > > -       {0x3815, 0x35},

> > > -       {0x3708, 0x64},

> > > -       {0x3709, 0x52},

> > > -       {0x3808, 0x02},

> > > -       {0x3809, 0x80},

> > > -       {0x380a, 0x01},

> > > -       {0x380b, 0xe0},

> > > -       {0x3800, 0x00},

> > > -       {0x3801, 0x10},

> > > -       {0x3802, 0x00},

> > > -       {0x3803, 0x00},

> > > -       {0x3804, 0x0a},

> > > -       {0x3805, 0x2f},

> > > -       {0x3806, 0x07},

> > > -       {0x3807, 0x9f},

> > > -       {0x3630, 0x2e},

> > > -       {0x3632, 0xe2},

> > > -       {0x3633, 0x23},

> > > -       {0x3634, 0x44},

> > > -       {0x3620, 0x64},

> > > -       {0x3621, 0xe0},

> > > -       {0x3600, 0x37},

> > > -       {0x3704, 0xa0},

> > > -       {0x3703, 0x5a},

> > > -       {0x3715, 0x78},

> > > -       {0x3717, 0x01},

> > > -       {0x3731, 0x02},

> > > -       {0x370b, 0x60},

> > > -       {0x3705, 0x1a},

> > > -       {0x3f05, 0x02},

> > > -       {0x3f06, 0x10},

> > > -       {0x3f01, 0x0a},

> > > -       {0x3a08, 0x01},

> > > -       {0x3a09, 0x2e},

> > > -       {0x3a0a, 0x00},

> > > -       {0x3a0b, 0xfb},

> > > -       {0x3a0d, 0x02},

> > > -       {0x3a0e, 0x01},

> > > -       {0x3a0f, 0x58},

> > > -       {0x3a10, 0x50},

> > > -       {0x3a1b, 0x58},

> > > -       {0x3a1e, 0x50},

> > > -       {0x3a11, 0x60},

> > > -       {0x3a1f, 0x28},

> > > -       {0x4001, 0x02},

> > > -       {0x4004, 0x02},

> > > -       {0x4000, 0x09},

> > > -       {0x3000, 0x00},

> > > -       {0x3001, 0x00},

> > > -       {0x3002, 0x00},

> > > -       {0x3017, 0xe0},

> > > -       {0x301c, 0xfc},

> > > -       {0x3636, 0x06},

> > > -       {0x3016, 0x08},

> > > -       {0x3827, 0xec},

> > > -       {0x3018, 0x44},

> > > -       {0x3035, 0x21},

> > > -       {0x3106, 0xf5},

> > > -       {0x3034, 0x1a},

> > > -       {0x301c, 0xf8},

> > > -       {0x4800, 0x34},

> > > -       {0x3503, 0x03},

> > > -       {0x0100, 0x01},

> > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3035, 0x11}, {0x3036, 0x46},

> > > +       {0x303c, 0x11}, {0x3821, 0x07}, {0x3820, 0x41}, {0x370c, 0x03},

> > > +       {0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06}, {0x5003, 0x08},

> > > +       {0x5a00, 0x08}, {0x3000, 0xff}, {0x3001, 0xff}, {0x3002, 0xff},

> > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > +       {0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x3c}, {0x3814, 0x35},

> > > +       {0x3815, 0x35}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},

> > > +       {0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3800, 0x00},

> > > +       {0x3801, 0x10}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> > > +       {0x3805, 0x2f}, {0x3806, 0x07}, {0x3807, 0x9f}, {0x3630, 0x2e},

> > > +       {0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44}, {0x3620, 0x64},

> > > +       {0x3621, 0xe0}, {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a},

> > > +       {0x3715, 0x78}, {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60},

> > > +       {0x3705, 0x1a}, {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a},

> > > +       {0x3a08, 0x01}, {0x3a09, 0x2e}, {0x3a0a, 0x00}, {0x3a0b, 0xfb},

> > > +       {0x3a0d, 0x02}, {0x3a0e, 0x01}, {0x3a0f, 0x58}, {0x3a10, 0x50},

> > > +       {0x3a1b, 0x58}, {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28},

> > > +       {0x4001, 0x02}, {0x4004, 0x02}, {0x4000, 0x09}, {0x3000, 0x00},

> > > +       {0x3001, 0x00}, {0x3002, 0x00}, {0x3017, 0xe0}, {0x301c, 0xfc},

> > > +       {0x3636, 0x06}, {0x3016, 0x08}, {0x3827, 0xec}, {0x3018, 0x44},

> > > +       {0x3035, 0x21}, {0x3106, 0xf5}, {0x3034, 0x1a}, {0x301c, 0xf8},

> > > +       {0x4800, 0x34}, {0x3503, 0x03}, {0x0100, 0x01},

> > >  };

> > >

> > >  static const struct ov5647_mode ov5647_sbggr8_modes[] = {


-- 
Regards,

Laurent Pinchart
Jacopo Mondi Nov. 6, 2020, 8:32 a.m. UTC | #3
Hello,

On Wed, Nov 04, 2020 at 04:54:02PM +0200, Laurent Pinchart wrote:
> On Wed, Nov 04, 2020 at 02:50:52PM +0000, Naushir Patuck wrote:

> > On Wed, 4 Nov 2020 at 14:46, Dave Stevenson wrote:

> > > On Wed, 4 Nov 2020 at 10:43, Jacopo Mondi <jacopo@jmondi.org> wrote:

> > > >

> > > > Reflow the register blob lists to span to 80 columns and make them

> > > > more compact.

> > >

> > > Personally I find this makes it less readable.

> > >

> > > It also means you can't do an easy diff between the register sets as

> > > some registers only appear to be defined in some tables and so it

> > > shifts the tabulation.

> > > eg 0x3800, 0x4800 and 0x3503 are not in 640x480_sbggr8, but 0x4050 and

> > > 0x4051 are when they aren't in the _sbggr10 tables.

> > >

> > > If the same set of registers appeared in all the tables then it could

> > > be considered reasonable to compact them.

> >

> > I would agree with Dave on this one.  For me, having a single column in the

> > register list does provide better readability.

>

> Especially given that hex values should be replaced by named macros.

>


This was just cosmetic, so I'm happy to drop it!

> > > > Cosmetic change only.

> > > >

> > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>

> > > > ---

> > > >  drivers/media/i2c/ov5647.c | 551 ++++++++-----------------------------

> > > >  1 file changed, 112 insertions(+), 439 deletions(-)

> > > >

> > > > diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c

> > > > index eb6e06a013057..9d261c786981f 100644

> > > > --- a/drivers/media/i2c/ov5647.c

> > > > +++ b/drivers/media/i2c/ov5647.c

> > > > @@ -123,464 +123,137 @@ static inline struct ov5647 *to_sensor(struct

> > > v4l2_subdev *sd)

> > > >  }

> > > >

> > > >  static const struct regval_list sensor_oe_disable_regs[] = {

> > > > -       {0x3000, 0x00},

> > > > -       {0x3001, 0x00},

> > > > -       {0x3002, 0x00},

> > > > +       {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > > >  };

> > > >

> > > >  static const struct regval_list sensor_oe_enable_regs[] = {

> > > > -       {0x3000, 0x0f},

> > > > -       {0x3001, 0xff},

> > > > -       {0x3002, 0xe4},

> > > > +       {0x3000, 0x0f}, {0x3001, 0xff}, {0x3002, 0xe4},

> > > >  };

> > > >

> > > >  static const struct regval_list ov5647_640x480_sbggr8[] = {

> > > > -       {0x0100, 0x00},

> > > > -       {0x0103, 0x01},

> > > > -       {0x3034, 0x08},

> > > > -       {0x3035, 0x21},

> > > > -       {0x3036, 0x46},

> > > > -       {0x303c, 0x11},

> > > > -       {0x3106, 0xf5},

> > > > -       {0x3821, 0x07},

> > > > -       {0x3820, 0x41},

> > > > -       {0x3827, 0xec},

> > > > -       {0x370c, 0x0f},

> > > > -       {0x3612, 0x59},

> > > > -       {0x3618, 0x00},

> > > > -       {0x5000, 0x06},

> > > > -       {0x5002, 0x41},

> > > > -       {0x5003, 0x08},

> > > > -       {0x5a00, 0x08},

> > > > -       {0x3000, 0x00},

> > > > -       {0x3001, 0x00},

> > > > -       {0x3002, 0x00},

> > > > -       {0x3016, 0x08},

> > > > -       {0x3017, 0xe0},

> > > > -       {0x3018, 0x44},

> > > > -       {0x301c, 0xf8},

> > > > -       {0x301d, 0xf0},

> > > > -       {0x3a18, 0x00},

> > > > -       {0x3a19, 0xf8},

> > > > -       {0x3c01, 0x80},

> > > > -       {0x3b07, 0x0c},

> > > > -       {0x380c, 0x07},

> > > > -       {0x380d, 0x68},

> > > > -       {0x3814, 0x31},

> > > > -       {0x3815, 0x31},

> > > > -       {0x3708, 0x64},

> > > > -       {0x3709, 0x52},

> > > > -       {0x3808, 0x02},

> > > > -       {0x3809, 0x80},

> > > > -       {0x380a, 0x01},

> > > > -       {0x380b, 0xe0},

> > > > -       {0x3801, 0x00},

> > > > -       {0x3802, 0x00},

> > > > -       {0x3803, 0x00},

> > > > -       {0x3804, 0x0a},

> > > > -       {0x3805, 0x3f},

> > > > -       {0x3806, 0x07},

> > > > -       {0x3807, 0xa1},

> > > > -       {0x3811, 0x08},

> > > > -       {0x3813, 0x02},

> > > > -       {0x3630, 0x2e},

> > > > -       {0x3632, 0xe2},

> > > > -       {0x3633, 0x23},

> > > > -       {0x3634, 0x44},

> > > > -       {0x3636, 0x06},

> > > > -       {0x3620, 0x64},

> > > > -       {0x3621, 0xe0},

> > > > -       {0x3600, 0x37},

> > > > -       {0x3704, 0xa0},

> > > > -       {0x3703, 0x5a},

> > > > -       {0x3715, 0x78},

> > > > -       {0x3717, 0x01},

> > > > -       {0x3731, 0x02},

> > > > -       {0x370b, 0x60},

> > > > -       {0x3705, 0x1a},

> > > > -       {0x3f05, 0x02},

> > > > -       {0x3f06, 0x10},

> > > > -       {0x3f01, 0x0a},

> > > > -       {0x3a08, 0x01},

> > > > -       {0x3a09, 0x27},

> > > > -       {0x3a0a, 0x00},

> > > > -       {0x3a0b, 0xf6},

> > > > -       {0x3a0d, 0x04},

> > > > -       {0x3a0e, 0x03},

> > > > -       {0x3a0f, 0x58},

> > > > -       {0x3a10, 0x50},

> > > > -       {0x3a1b, 0x58},

> > > > -       {0x3a1e, 0x50},

> > > > -       {0x3a11, 0x60},

> > > > -       {0x3a1f, 0x28},

> > > > -       {0x4001, 0x02},

> > > > -       {0x4004, 0x02},

> > > > -       {0x4000, 0x09},

> > > > -       {0x4837, 0x24},

> > > > -       {0x4050, 0x6e},

> > > > -       {0x4051, 0x8f},

> > > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x08}, {0x3035, 0x21},

> > > > +       {0x3036, 0x46}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x07},

> > > > +       {0x3820, 0x41}, {0x3827, 0xec}, {0x370c, 0x0f}, {0x3612, 0x59},

> > > > +       {0x3618, 0x00}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> > > > +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > > > +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> > > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > > +       {0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x68}, {0x3814, 0x31},

> > > > +       {0x3815, 0x31}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},

> > > > +       {0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3801, 0x00},

> > > > +       {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a}, {0x3805, 0x3f},

> > > > +       {0x3806, 0x07}, {0x3807, 0xa1}, {0x3811, 0x08}, {0x3813, 0x02},

> > > > +       {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44},

> > > > +       {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0}, {0x3600, 0x37},

> > > > +       {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78}, {0x3717, 0x01},

> > > > +       {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a}, {0x3f05, 0x02},

> > > > +       {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01}, {0x3a09, 0x27},

> > > > +       {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x04}, {0x3a0e, 0x03},

> > > > +       {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58}, {0x3a1e, 0x50},

> > > > +       {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02}, {0x4004, 0x02},

> > > > +       {0x4000, 0x09}, {0x4837, 0x24}, {0x4050, 0x6e}, {0x4051, 0x8f},

> > > >         {0x0100, 0x01},

> > > >  };

> > > >

> > > >  static struct regval_list ov5647_2592x1944_sbggr10[] = {

> > > > -       {0x0100, 0x00},

> > > > -       {0x0103, 0x01},

> > > > -       {0x3034, 0x1a},

> > > > -       {0x3035, 0x21},

> > > > -       {0x3036, 0x69},

> > > > -       {0x303c, 0x11},

> > > > -       {0x3106, 0xf5},

> > > > -       {0x3821, 0x06},

> > > > -       {0x3820, 0x00},

> > > > -       {0x3827, 0xec},

> > > > -       {0x370c, 0x03},

> > > > -       {0x3612, 0x5b},

> > > > -       {0x3618, 0x04},

> > > > -       {0x5000, 0x06},

> > > > -       {0x5002, 0x41},

> > > > -       {0x5003, 0x08},

> > > > -       {0x5a00, 0x08},

> > > > -       {0x3000, 0x00},

> > > > -       {0x3001, 0x00},

> > > > -       {0x3002, 0x00},

> > > > -       {0x3016, 0x08},

> > > > -       {0x3017, 0xe0},

> > > > -       {0x3018, 0x44},

> > > > -       {0x301c, 0xf8},

> > > > -       {0x301d, 0xf0},

> > > > -       {0x3a18, 0x00},

> > > > -       {0x3a19, 0xf8},

> > > > -       {0x3c01, 0x80},

> > > > -       {0x3b07, 0x0c},

> > > > -       {0x380c, 0x0b},

> > > > -       {0x380d, 0x1c},

> > > > -       {0x3814, 0x11},

> > > > -       {0x3815, 0x11},

> > > > -       {0x3708, 0x64},

> > > > -       {0x3709, 0x12},

> > > > -       {0x3808, 0x0a},

> > > > -       {0x3809, 0x20},

> > > > -       {0x380a, 0x07},

> > > > -       {0x380b, 0x98},

> > > > -       {0x3800, 0x00},

> > > > -       {0x3801, 0x00},

> > > > -       {0x3802, 0x00},

> > > > -       {0x3803, 0x00},

> > > > -       {0x3804, 0x0a},

> > > > -       {0x3805, 0x3f},

> > > > -       {0x3806, 0x07},

> > > > -       {0x3807, 0xa3},

> > > > -       {0x3811, 0x10},

> > > > -       {0x3813, 0x06},

> > > > -       {0x3630, 0x2e},

> > > > -       {0x3632, 0xe2},

> > > > -       {0x3633, 0x23},

> > > > -       {0x3634, 0x44},

> > > > -       {0x3636, 0x06},

> > > > -       {0x3620, 0x64},

> > > > -       {0x3621, 0xe0},

> > > > -       {0x3600, 0x37},

> > > > -       {0x3704, 0xa0},

> > > > -       {0x3703, 0x5a},

> > > > -       {0x3715, 0x78},

> > > > -       {0x3717, 0x01},

> > > > -       {0x3731, 0x02},

> > > > -       {0x370b, 0x60},

> > > > -       {0x3705, 0x1a},

> > > > -       {0x3f05, 0x02},

> > > > -       {0x3f06, 0x10},

> > > > -       {0x3f01, 0x0a},

> > > > -       {0x3a08, 0x01},

> > > > -       {0x3a09, 0x28},

> > > > -       {0x3a0a, 0x00},

> > > > -       {0x3a0b, 0xf6},

> > > > -       {0x3a0d, 0x08},

> > > > -       {0x3a0e, 0x06},

> > > > -       {0x3a0f, 0x58},

> > > > -       {0x3a10, 0x50},

> > > > -       {0x3a1b, 0x58},

> > > > -       {0x3a1e, 0x50},

> > > > -       {0x3a11, 0x60},

> > > > -       {0x3a1f, 0x28},

> > > > -       {0x4001, 0x02},

> > > > -       {0x4004, 0x04},

> > > > -       {0x4000, 0x09},

> > > > -       {0x4837, 0x19},

> > > > -       {0x4800, 0x24},

> > > > -       {0x3503, 0x03},

> > > > -       {0x0100, 0x01},

> > > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> > > > +       {0x3036, 0x69}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},

> > > > +       {0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},

> > > > +       {0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> > > > +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > > > +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> > > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > > +       {0x3b07, 0x0c}, {0x380c, 0x0b}, {0x380d, 0x1c}, {0x3814, 0x11},

> > > > +       {0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x0a},

> > > > +       {0x3809, 0x20}, {0x380a, 0x07}, {0x380b, 0x98}, {0x3800, 0x00},

> > > > +       {0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> > > > +       {0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3811, 0x10},

> > > > +       {0x3813, 0x06}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> > > > +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> > > > +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> > > > +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> > > > +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> > > > +       {0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},

> > > > +       {0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> > > > +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> > > > +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x24},

> > > > +       {0x3503, 0x03}, {0x0100, 0x01},

> > > >  };

> > > >

> > > >  static struct regval_list ov5647_1080p30_sbggr10[] = {

> > > > -       {0x0100, 0x00},

> > > > -       {0x0103, 0x01},

> > > > -       {0x3034, 0x1a},

> > > > -       {0x3035, 0x21},

> > > > -       {0x3036, 0x62},

> > > > -       {0x303c, 0x11},

> > > > -       {0x3106, 0xf5},

> > > > -       {0x3821, 0x06},

> > > > -       {0x3820, 0x00},

> > > > -       {0x3827, 0xec},

> > > > -       {0x370c, 0x03},

> > > > -       {0x3612, 0x5b},

> > > > -       {0x3618, 0x04},

> > > > -       {0x5000, 0x06},

> > > > -       {0x5002, 0x41},

> > > > -       {0x5003, 0x08},

> > > > -       {0x5a00, 0x08},

> > > > -       {0x3000, 0x00},

> > > > -       {0x3001, 0x00},

> > > > -       {0x3002, 0x00},

> > > > -       {0x3016, 0x08},

> > > > -       {0x3017, 0xe0},

> > > > -       {0x3018, 0x44},

> > > > -       {0x301c, 0xf8},

> > > > -       {0x301d, 0xf0},

> > > > -       {0x3a18, 0x00},

> > > > -       {0x3a19, 0xf8},

> > > > -       {0x3c01, 0x80},

> > > > -       {0x3b07, 0x0c},

> > > > -       {0x380c, 0x09},

> > > > -       {0x380d, 0x70},

> > > > -       {0x3814, 0x11},

> > > > -       {0x3815, 0x11},

> > > > -       {0x3708, 0x64},

> > > > -       {0x3709, 0x12},

> > > > -       {0x3808, 0x07},

> > > > -       {0x3809, 0x80},

> > > > -       {0x380a, 0x04},

> > > > -       {0x380b, 0x38},

> > > > -       {0x3800, 0x01},

> > > > -       {0x3801, 0x5c},

> > > > -       {0x3802, 0x01},

> > > > -       {0x3803, 0xb2},

> > > > -       {0x3804, 0x08},

> > > > -       {0x3805, 0xe3},

> > > > -       {0x3806, 0x05},

> > > > -       {0x3807, 0xf1},

> > > > -       {0x3811, 0x04},

> > > > -       {0x3813, 0x02},

> > > > -       {0x3630, 0x2e},

> > > > -       {0x3632, 0xe2},

> > > > -       {0x3633, 0x23},

> > > > -       {0x3634, 0x44},

> > > > -       {0x3636, 0x06},

> > > > -       {0x3620, 0x64},

> > > > -       {0x3621, 0xe0},

> > > > -       {0x3600, 0x37},

> > > > -       {0x3704, 0xa0},

> > > > -       {0x3703, 0x5a},

> > > > -       {0x3715, 0x78},

> > > > -       {0x3717, 0x01},

> > > > -       {0x3731, 0x02},

> > > > -       {0x370b, 0x60},

> > > > -       {0x3705, 0x1a},

> > > > -       {0x3f05, 0x02},

> > > > -       {0x3f06, 0x10},

> > > > -       {0x3f01, 0x0a},

> > > > -       {0x3a08, 0x01},

> > > > -       {0x3a09, 0x4b},

> > > > -       {0x3a0a, 0x01},

> > > > -       {0x3a0b, 0x13},

> > > > -       {0x3a0d, 0x04},

> > > > -       {0x3a0e, 0x03},

> > > > -       {0x3a0f, 0x58},

> > > > -       {0x3a10, 0x50},

> > > > -       {0x3a1b, 0x58},

> > > > -       {0x3a1e, 0x50},

> > > > -       {0x3a11, 0x60},

> > > > -       {0x3a1f, 0x28},

> > > > -       {0x4001, 0x02},

> > > > -       {0x4004, 0x04},

> > > > -       {0x4000, 0x09},

> > > > -       {0x4837, 0x19},

> > > > -       {0x4800, 0x34},

> > > > -       {0x3503, 0x03},

> > > > -       {0x0100, 0x01},

> > > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> > > > +       {0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},

> > > > +       {0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},

> > > > +       {0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},

> > > > +       {0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},

> > > > +       {0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},

> > > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > > +       {0x3b07, 0x0c}, {0x380c, 0x09}, {0x380d, 0x70}, {0x3814, 0x11},

> > > > +       {0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x07},

> > > > +       {0x3809, 0x80}, {0x380a, 0x04}, {0x380b, 0x38}, {0x3800, 0x01},

> > > > +       {0x3801, 0x5c}, {0x3802, 0x01}, {0x3803, 0xb2}, {0x3804, 0x08},

> > > > +       {0x3805, 0xe3}, {0x3806, 0x05}, {0x3807, 0xf1}, {0x3811, 0x04},

> > > > +       {0x3813, 0x02}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> > > > +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> > > > +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> > > > +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> > > > +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> > > > +       {0x3a09, 0x4b}, {0x3a0a, 0x01}, {0x3a0b, 0x13}, {0x3a0d, 0x04},

> > > > +       {0x3a0e, 0x03}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> > > > +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> > > > +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x34},

> > > > +       {0x3503, 0x03}, {0x0100, 0x01},

> > > >  };

> > > >

> > > >  static struct regval_list ov5647_2x2binned_sbggr10[] = {

> > > > -       {0x0100, 0x00},

> > > > -       {0x0103, 0x01},

> > > > -       {0x3034, 0x1a},

> > > > -       {0x3035, 0x21},

> > > > -       {0x3036, 0x62},

> > > > -       {0x303c, 0x11},

> > > > -       {0x3106, 0xf5},

> > > > -       {0x3827, 0xec},

> > > > -       {0x370c, 0x03},

> > > > -       {0x3612, 0x59},

> > > > -       {0x3618, 0x00},

> > > > -       {0x5000, 0x06},

> > > > -       {0x5002, 0x41},

> > > > -       {0x5003, 0x08},

> > > > -       {0x5a00, 0x08},

> > > > -       {0x3000, 0x00},

> > > > -       {0x3001, 0x00},

> > > > -       {0x3002, 0x00},

> > > > -       {0x3016, 0x08},

> > > > -       {0x3017, 0xe0},

> > > > -       {0x3018, 0x44},

> > > > -       {0x301c, 0xf8},

> > > > -       {0x301d, 0xf0},

> > > > -       {0x3a18, 0x00},

> > > > -       {0x3a19, 0xf8},

> > > > -       {0x3c01, 0x80},

> > > > -       {0x3b07, 0x0c},

> > > > -       {0x3800, 0x00},

> > > > -       {0x3801, 0x00},

> > > > -       {0x3802, 0x00},

> > > > -       {0x3803, 0x00},

> > > > -       {0x3804, 0x0a},

> > > > -       {0x3805, 0x3f},

> > > > -       {0x3806, 0x07},

> > > > -       {0x3807, 0xa3},

> > > > -       {0x3808, 0x05},

> > > > -       {0x3809, 0x10},

> > > > -       {0x380a, 0x03},

> > > > -       {0x380b, 0xcc},

> > > > -       {0x380c, 0x07},

> > > > -       {0x380d, 0x68},

> > > > -       {0x3811, 0x0c},

> > > > -       {0x3813, 0x06},

> > > > -       {0x3814, 0x31},

> > > > -       {0x3815, 0x31},

> > > > -       {0x3630, 0x2e},

> > > > -       {0x3632, 0xe2},

> > > > -       {0x3633, 0x23},

> > > > -       {0x3634, 0x44},

> > > > -       {0x3636, 0x06},

> > > > -       {0x3620, 0x64},

> > > > -       {0x3621, 0xe0},

> > > > -       {0x3600, 0x37},

> > > > -       {0x3704, 0xa0},

> > > > -       {0x3703, 0x5a},

> > > > -       {0x3715, 0x78},

> > > > -       {0x3717, 0x01},

> > > > -       {0x3731, 0x02},

> > > > -       {0x370b, 0x60},

> > > > -       {0x3705, 0x1a},

> > > > -       {0x3f05, 0x02},

> > > > -       {0x3f06, 0x10},

> > > > -       {0x3f01, 0x0a},

> > > > -       {0x3a08, 0x01},

> > > > -       {0x3a09, 0x28},

> > > > -       {0x3a0a, 0x00},

> > > > -       {0x3a0b, 0xf6},

> > > > -       {0x3a0d, 0x08},

> > > > -       {0x3a0e, 0x06},

> > > > -       {0x3a0f, 0x58},

> > > > -       {0x3a10, 0x50},

> > > > -       {0x3a1b, 0x58},

> > > > -       {0x3a1e, 0x50},

> > > > -       {0x3a11, 0x60},

> > > > -       {0x3a1f, 0x28},

> > > > -       {0x4001, 0x02},

> > > > -       {0x4004, 0x04},

> > > > -       {0x4000, 0x09},

> > > > -       {0x4837, 0x16},

> > > > -       {0x4800, 0x24},

> > > > -       {0x3503, 0x03},

> > > > -       {0x3820, 0x41},

> > > > -       {0x3821, 0x07},

> > > > -       {0x350a, 0x00},

> > > > -       {0x350b, 0x10},

> > > > -       {0x3500, 0x00},

> > > > -       {0x3501, 0x1a},

> > > > -       {0x3502, 0xf0},

> > > > -       {0x3212, 0xa0},

> > > > -       {0x0100, 0x01},

> > > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},

> > > > +       {0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3827, 0xec},

> > > > +       {0x370c, 0x03}, {0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06},

> > > > +       {0x5002, 0x41}, {0x5003, 0x08}, {0x5a00, 0x08}, {0x3000, 0x00},

> > > > +       {0x3001, 0x00}, {0x3002, 0x00}, {0x3016, 0x08}, {0x3017, 0xe0},

> > > > +       {0x3018, 0x44}, {0x301c, 0xf8}, {0x301d, 0xf0}, {0x3a18, 0x00},

> > > > +       {0x3a19, 0xf8}, {0x3c01, 0x80}, {0x3b07, 0x0c}, {0x3800, 0x00},

> > > > +       {0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> > > > +       {0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3808, 0x05},

> > > > +       {0x3809, 0x10}, {0x380a, 0x03}, {0x380b, 0xcc}, {0x380c, 0x07},

> > > > +       {0x380d, 0x68}, {0x3811, 0x0c}, {0x3813, 0x06}, {0x3814, 0x31},

> > > > +       {0x3815, 0x31}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},

> > > > +       {0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},

> > > > +       {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},

> > > > +       {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},

> > > > +       {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},

> > > > +       {0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},

> > > > +       {0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},

> > > > +       {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},

> > > > +       {0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x16}, {0x4800, 0x24},

> > > > +       {0x3503, 0x03}, {0x3820, 0x41}, {0x3821, 0x07}, {0x350a, 0x00},

> > > > +       {0x350b, 0x10}, {0x3500, 0x00}, {0x3501, 0x1a}, {0x3502, 0xf0},

> > > > +       {0x3212, 0xa0}, {0x0100, 0x01},

> > > >  };

> > > >

> > > >  static struct regval_list ov5647_640x480_sbggr10[] = {

> > > > -       {0x0100, 0x00},

> > > > -       {0x0103, 0x01},

> > > > -       {0x3035, 0x11},

> > > > -       {0x3036, 0x46},

> > > > -       {0x303c, 0x11},

> > > > -       {0x3821, 0x07},

> > > > -       {0x3820, 0x41},

> > > > -       {0x370c, 0x03},

> > > > -       {0x3612, 0x59},

> > > > -       {0x3618, 0x00},

> > > > -       {0x5000, 0x06},

> > > > -       {0x5003, 0x08},

> > > > -       {0x5a00, 0x08},

> > > > -       {0x3000, 0xff},

> > > > -       {0x3001, 0xff},

> > > > -       {0x3002, 0xff},

> > > > -       {0x301d, 0xf0},

> > > > -       {0x3a18, 0x00},

> > > > -       {0x3a19, 0xf8},

> > > > -       {0x3c01, 0x80},

> > > > -       {0x3b07, 0x0c},

> > > > -       {0x380c, 0x07},

> > > > -       {0x380d, 0x3c},

> > > > -       {0x3814, 0x35},

> > > > -       {0x3815, 0x35},

> > > > -       {0x3708, 0x64},

> > > > -       {0x3709, 0x52},

> > > > -       {0x3808, 0x02},

> > > > -       {0x3809, 0x80},

> > > > -       {0x380a, 0x01},

> > > > -       {0x380b, 0xe0},

> > > > -       {0x3800, 0x00},

> > > > -       {0x3801, 0x10},

> > > > -       {0x3802, 0x00},

> > > > -       {0x3803, 0x00},

> > > > -       {0x3804, 0x0a},

> > > > -       {0x3805, 0x2f},

> > > > -       {0x3806, 0x07},

> > > > -       {0x3807, 0x9f},

> > > > -       {0x3630, 0x2e},

> > > > -       {0x3632, 0xe2},

> > > > -       {0x3633, 0x23},

> > > > -       {0x3634, 0x44},

> > > > -       {0x3620, 0x64},

> > > > -       {0x3621, 0xe0},

> > > > -       {0x3600, 0x37},

> > > > -       {0x3704, 0xa0},

> > > > -       {0x3703, 0x5a},

> > > > -       {0x3715, 0x78},

> > > > -       {0x3717, 0x01},

> > > > -       {0x3731, 0x02},

> > > > -       {0x370b, 0x60},

> > > > -       {0x3705, 0x1a},

> > > > -       {0x3f05, 0x02},

> > > > -       {0x3f06, 0x10},

> > > > -       {0x3f01, 0x0a},

> > > > -       {0x3a08, 0x01},

> > > > -       {0x3a09, 0x2e},

> > > > -       {0x3a0a, 0x00},

> > > > -       {0x3a0b, 0xfb},

> > > > -       {0x3a0d, 0x02},

> > > > -       {0x3a0e, 0x01},

> > > > -       {0x3a0f, 0x58},

> > > > -       {0x3a10, 0x50},

> > > > -       {0x3a1b, 0x58},

> > > > -       {0x3a1e, 0x50},

> > > > -       {0x3a11, 0x60},

> > > > -       {0x3a1f, 0x28},

> > > > -       {0x4001, 0x02},

> > > > -       {0x4004, 0x02},

> > > > -       {0x4000, 0x09},

> > > > -       {0x3000, 0x00},

> > > > -       {0x3001, 0x00},

> > > > -       {0x3002, 0x00},

> > > > -       {0x3017, 0xe0},

> > > > -       {0x301c, 0xfc},

> > > > -       {0x3636, 0x06},

> > > > -       {0x3016, 0x08},

> > > > -       {0x3827, 0xec},

> > > > -       {0x3018, 0x44},

> > > > -       {0x3035, 0x21},

> > > > -       {0x3106, 0xf5},

> > > > -       {0x3034, 0x1a},

> > > > -       {0x301c, 0xf8},

> > > > -       {0x4800, 0x34},

> > > > -       {0x3503, 0x03},

> > > > -       {0x0100, 0x01},

> > > > +       {0x0100, 0x00}, {0x0103, 0x01}, {0x3035, 0x11}, {0x3036, 0x46},

> > > > +       {0x303c, 0x11}, {0x3821, 0x07}, {0x3820, 0x41}, {0x370c, 0x03},

> > > > +       {0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06}, {0x5003, 0x08},

> > > > +       {0x5a00, 0x08}, {0x3000, 0xff}, {0x3001, 0xff}, {0x3002, 0xff},

> > > > +       {0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},

> > > > +       {0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x3c}, {0x3814, 0x35},

> > > > +       {0x3815, 0x35}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},

> > > > +       {0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3800, 0x00},

> > > > +       {0x3801, 0x10}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},

> > > > +       {0x3805, 0x2f}, {0x3806, 0x07}, {0x3807, 0x9f}, {0x3630, 0x2e},

> > > > +       {0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44}, {0x3620, 0x64},

> > > > +       {0x3621, 0xe0}, {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a},

> > > > +       {0x3715, 0x78}, {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60},

> > > > +       {0x3705, 0x1a}, {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a},

> > > > +       {0x3a08, 0x01}, {0x3a09, 0x2e}, {0x3a0a, 0x00}, {0x3a0b, 0xfb},

> > > > +       {0x3a0d, 0x02}, {0x3a0e, 0x01}, {0x3a0f, 0x58}, {0x3a10, 0x50},

> > > > +       {0x3a1b, 0x58}, {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28},

> > > > +       {0x4001, 0x02}, {0x4004, 0x02}, {0x4000, 0x09}, {0x3000, 0x00},

> > > > +       {0x3001, 0x00}, {0x3002, 0x00}, {0x3017, 0xe0}, {0x301c, 0xfc},

> > > > +       {0x3636, 0x06}, {0x3016, 0x08}, {0x3827, 0xec}, {0x3018, 0x44},

> > > > +       {0x3035, 0x21}, {0x3106, 0xf5}, {0x3034, 0x1a}, {0x301c, 0xf8},

> > > > +       {0x4800, 0x34}, {0x3503, 0x03}, {0x0100, 0x01},

> > > >  };

> > > >

> > > >  static const struct ov5647_mode ov5647_sbggr8_modes[] = {

>

> --

> Regards,

>

> Laurent Pinchart
diff mbox series

Patch

diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
index eb6e06a013057..9d261c786981f 100644
--- a/drivers/media/i2c/ov5647.c
+++ b/drivers/media/i2c/ov5647.c
@@ -123,464 +123,137 @@  static inline struct ov5647 *to_sensor(struct v4l2_subdev *sd)
 }
 
 static const struct regval_list sensor_oe_disable_regs[] = {
-	{0x3000, 0x00},
-	{0x3001, 0x00},
-	{0x3002, 0x00},
+	{0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},
 };
 
 static const struct regval_list sensor_oe_enable_regs[] = {
-	{0x3000, 0x0f},
-	{0x3001, 0xff},
-	{0x3002, 0xe4},
+	{0x3000, 0x0f}, {0x3001, 0xff}, {0x3002, 0xe4},
 };
 
 static const struct regval_list ov5647_640x480_sbggr8[] = {
-	{0x0100, 0x00},
-	{0x0103, 0x01},
-	{0x3034, 0x08},
-	{0x3035, 0x21},
-	{0x3036, 0x46},
-	{0x303c, 0x11},
-	{0x3106, 0xf5},
-	{0x3821, 0x07},
-	{0x3820, 0x41},
-	{0x3827, 0xec},
-	{0x370c, 0x0f},
-	{0x3612, 0x59},
-	{0x3618, 0x00},
-	{0x5000, 0x06},
-	{0x5002, 0x41},
-	{0x5003, 0x08},
-	{0x5a00, 0x08},
-	{0x3000, 0x00},
-	{0x3001, 0x00},
-	{0x3002, 0x00},
-	{0x3016, 0x08},
-	{0x3017, 0xe0},
-	{0x3018, 0x44},
-	{0x301c, 0xf8},
-	{0x301d, 0xf0},
-	{0x3a18, 0x00},
-	{0x3a19, 0xf8},
-	{0x3c01, 0x80},
-	{0x3b07, 0x0c},
-	{0x380c, 0x07},
-	{0x380d, 0x68},
-	{0x3814, 0x31},
-	{0x3815, 0x31},
-	{0x3708, 0x64},
-	{0x3709, 0x52},
-	{0x3808, 0x02},
-	{0x3809, 0x80},
-	{0x380a, 0x01},
-	{0x380b, 0xe0},
-	{0x3801, 0x00},
-	{0x3802, 0x00},
-	{0x3803, 0x00},
-	{0x3804, 0x0a},
-	{0x3805, 0x3f},
-	{0x3806, 0x07},
-	{0x3807, 0xa1},
-	{0x3811, 0x08},
-	{0x3813, 0x02},
-	{0x3630, 0x2e},
-	{0x3632, 0xe2},
-	{0x3633, 0x23},
-	{0x3634, 0x44},
-	{0x3636, 0x06},
-	{0x3620, 0x64},
-	{0x3621, 0xe0},
-	{0x3600, 0x37},
-	{0x3704, 0xa0},
-	{0x3703, 0x5a},
-	{0x3715, 0x78},
-	{0x3717, 0x01},
-	{0x3731, 0x02},
-	{0x370b, 0x60},
-	{0x3705, 0x1a},
-	{0x3f05, 0x02},
-	{0x3f06, 0x10},
-	{0x3f01, 0x0a},
-	{0x3a08, 0x01},
-	{0x3a09, 0x27},
-	{0x3a0a, 0x00},
-	{0x3a0b, 0xf6},
-	{0x3a0d, 0x04},
-	{0x3a0e, 0x03},
-	{0x3a0f, 0x58},
-	{0x3a10, 0x50},
-	{0x3a1b, 0x58},
-	{0x3a1e, 0x50},
-	{0x3a11, 0x60},
-	{0x3a1f, 0x28},
-	{0x4001, 0x02},
-	{0x4004, 0x02},
-	{0x4000, 0x09},
-	{0x4837, 0x24},
-	{0x4050, 0x6e},
-	{0x4051, 0x8f},
+	{0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x08}, {0x3035, 0x21},
+	{0x3036, 0x46}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x07},
+	{0x3820, 0x41}, {0x3827, 0xec}, {0x370c, 0x0f}, {0x3612, 0x59},
+	{0x3618, 0x00}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},
+	{0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},
+	{0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},
+	{0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},
+	{0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x68}, {0x3814, 0x31},
+	{0x3815, 0x31}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},
+	{0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3801, 0x00},
+	{0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a}, {0x3805, 0x3f},
+	{0x3806, 0x07}, {0x3807, 0xa1}, {0x3811, 0x08}, {0x3813, 0x02},
+	{0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44},
+	{0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0}, {0x3600, 0x37},
+	{0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78}, {0x3717, 0x01},
+	{0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a}, {0x3f05, 0x02},
+	{0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01}, {0x3a09, 0x27},
+	{0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x04}, {0x3a0e, 0x03},
+	{0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58}, {0x3a1e, 0x50},
+	{0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02}, {0x4004, 0x02},
+	{0x4000, 0x09}, {0x4837, 0x24}, {0x4050, 0x6e}, {0x4051, 0x8f},
 	{0x0100, 0x01},
 };
 
 static struct regval_list ov5647_2592x1944_sbggr10[] = {
-	{0x0100, 0x00},
-	{0x0103, 0x01},
-	{0x3034, 0x1a},
-	{0x3035, 0x21},
-	{0x3036, 0x69},
-	{0x303c, 0x11},
-	{0x3106, 0xf5},
-	{0x3821, 0x06},
-	{0x3820, 0x00},
-	{0x3827, 0xec},
-	{0x370c, 0x03},
-	{0x3612, 0x5b},
-	{0x3618, 0x04},
-	{0x5000, 0x06},
-	{0x5002, 0x41},
-	{0x5003, 0x08},
-	{0x5a00, 0x08},
-	{0x3000, 0x00},
-	{0x3001, 0x00},
-	{0x3002, 0x00},
-	{0x3016, 0x08},
-	{0x3017, 0xe0},
-	{0x3018, 0x44},
-	{0x301c, 0xf8},
-	{0x301d, 0xf0},
-	{0x3a18, 0x00},
-	{0x3a19, 0xf8},
-	{0x3c01, 0x80},
-	{0x3b07, 0x0c},
-	{0x380c, 0x0b},
-	{0x380d, 0x1c},
-	{0x3814, 0x11},
-	{0x3815, 0x11},
-	{0x3708, 0x64},
-	{0x3709, 0x12},
-	{0x3808, 0x0a},
-	{0x3809, 0x20},
-	{0x380a, 0x07},
-	{0x380b, 0x98},
-	{0x3800, 0x00},
-	{0x3801, 0x00},
-	{0x3802, 0x00},
-	{0x3803, 0x00},
-	{0x3804, 0x0a},
-	{0x3805, 0x3f},
-	{0x3806, 0x07},
-	{0x3807, 0xa3},
-	{0x3811, 0x10},
-	{0x3813, 0x06},
-	{0x3630, 0x2e},
-	{0x3632, 0xe2},
-	{0x3633, 0x23},
-	{0x3634, 0x44},
-	{0x3636, 0x06},
-	{0x3620, 0x64},
-	{0x3621, 0xe0},
-	{0x3600, 0x37},
-	{0x3704, 0xa0},
-	{0x3703, 0x5a},
-	{0x3715, 0x78},
-	{0x3717, 0x01},
-	{0x3731, 0x02},
-	{0x370b, 0x60},
-	{0x3705, 0x1a},
-	{0x3f05, 0x02},
-	{0x3f06, 0x10},
-	{0x3f01, 0x0a},
-	{0x3a08, 0x01},
-	{0x3a09, 0x28},
-	{0x3a0a, 0x00},
-	{0x3a0b, 0xf6},
-	{0x3a0d, 0x08},
-	{0x3a0e, 0x06},
-	{0x3a0f, 0x58},
-	{0x3a10, 0x50},
-	{0x3a1b, 0x58},
-	{0x3a1e, 0x50},
-	{0x3a11, 0x60},
-	{0x3a1f, 0x28},
-	{0x4001, 0x02},
-	{0x4004, 0x04},
-	{0x4000, 0x09},
-	{0x4837, 0x19},
-	{0x4800, 0x24},
-	{0x3503, 0x03},
-	{0x0100, 0x01},
+	{0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},
+	{0x3036, 0x69}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},
+	{0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},
+	{0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},
+	{0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},
+	{0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},
+	{0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},
+	{0x3b07, 0x0c}, {0x380c, 0x0b}, {0x380d, 0x1c}, {0x3814, 0x11},
+	{0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x0a},
+	{0x3809, 0x20}, {0x380a, 0x07}, {0x380b, 0x98}, {0x3800, 0x00},
+	{0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},
+	{0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3811, 0x10},
+	{0x3813, 0x06}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},
+	{0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},
+	{0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},
+	{0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},
+	{0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},
+	{0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},
+	{0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},
+	{0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},
+	{0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x24},
+	{0x3503, 0x03}, {0x0100, 0x01},
 };
 
 static struct regval_list ov5647_1080p30_sbggr10[] = {
-	{0x0100, 0x00},
-	{0x0103, 0x01},
-	{0x3034, 0x1a},
-	{0x3035, 0x21},
-	{0x3036, 0x62},
-	{0x303c, 0x11},
-	{0x3106, 0xf5},
-	{0x3821, 0x06},
-	{0x3820, 0x00},
-	{0x3827, 0xec},
-	{0x370c, 0x03},
-	{0x3612, 0x5b},
-	{0x3618, 0x04},
-	{0x5000, 0x06},
-	{0x5002, 0x41},
-	{0x5003, 0x08},
-	{0x5a00, 0x08},
-	{0x3000, 0x00},
-	{0x3001, 0x00},
-	{0x3002, 0x00},
-	{0x3016, 0x08},
-	{0x3017, 0xe0},
-	{0x3018, 0x44},
-	{0x301c, 0xf8},
-	{0x301d, 0xf0},
-	{0x3a18, 0x00},
-	{0x3a19, 0xf8},
-	{0x3c01, 0x80},
-	{0x3b07, 0x0c},
-	{0x380c, 0x09},
-	{0x380d, 0x70},
-	{0x3814, 0x11},
-	{0x3815, 0x11},
-	{0x3708, 0x64},
-	{0x3709, 0x12},
-	{0x3808, 0x07},
-	{0x3809, 0x80},
-	{0x380a, 0x04},
-	{0x380b, 0x38},
-	{0x3800, 0x01},
-	{0x3801, 0x5c},
-	{0x3802, 0x01},
-	{0x3803, 0xb2},
-	{0x3804, 0x08},
-	{0x3805, 0xe3},
-	{0x3806, 0x05},
-	{0x3807, 0xf1},
-	{0x3811, 0x04},
-	{0x3813, 0x02},
-	{0x3630, 0x2e},
-	{0x3632, 0xe2},
-	{0x3633, 0x23},
-	{0x3634, 0x44},
-	{0x3636, 0x06},
-	{0x3620, 0x64},
-	{0x3621, 0xe0},
-	{0x3600, 0x37},
-	{0x3704, 0xa0},
-	{0x3703, 0x5a},
-	{0x3715, 0x78},
-	{0x3717, 0x01},
-	{0x3731, 0x02},
-	{0x370b, 0x60},
-	{0x3705, 0x1a},
-	{0x3f05, 0x02},
-	{0x3f06, 0x10},
-	{0x3f01, 0x0a},
-	{0x3a08, 0x01},
-	{0x3a09, 0x4b},
-	{0x3a0a, 0x01},
-	{0x3a0b, 0x13},
-	{0x3a0d, 0x04},
-	{0x3a0e, 0x03},
-	{0x3a0f, 0x58},
-	{0x3a10, 0x50},
-	{0x3a1b, 0x58},
-	{0x3a1e, 0x50},
-	{0x3a11, 0x60},
-	{0x3a1f, 0x28},
-	{0x4001, 0x02},
-	{0x4004, 0x04},
-	{0x4000, 0x09},
-	{0x4837, 0x19},
-	{0x4800, 0x34},
-	{0x3503, 0x03},
-	{0x0100, 0x01},
+	{0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},
+	{0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3821, 0x06},
+	{0x3820, 0x00}, {0x3827, 0xec}, {0x370c, 0x03}, {0x3612, 0x5b},
+	{0x3618, 0x04}, {0x5000, 0x06}, {0x5002, 0x41}, {0x5003, 0x08},
+	{0x5a00, 0x08}, {0x3000, 0x00}, {0x3001, 0x00}, {0x3002, 0x00},
+	{0x3016, 0x08}, {0x3017, 0xe0}, {0x3018, 0x44}, {0x301c, 0xf8},
+	{0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},
+	{0x3b07, 0x0c}, {0x380c, 0x09}, {0x380d, 0x70}, {0x3814, 0x11},
+	{0x3815, 0x11}, {0x3708, 0x64}, {0x3709, 0x12}, {0x3808, 0x07},
+	{0x3809, 0x80}, {0x380a, 0x04}, {0x380b, 0x38}, {0x3800, 0x01},
+	{0x3801, 0x5c}, {0x3802, 0x01}, {0x3803, 0xb2}, {0x3804, 0x08},
+	{0x3805, 0xe3}, {0x3806, 0x05}, {0x3807, 0xf1}, {0x3811, 0x04},
+	{0x3813, 0x02}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},
+	{0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},
+	{0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},
+	{0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},
+	{0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},
+	{0x3a09, 0x4b}, {0x3a0a, 0x01}, {0x3a0b, 0x13}, {0x3a0d, 0x04},
+	{0x3a0e, 0x03}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},
+	{0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},
+	{0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x19}, {0x4800, 0x34},
+	{0x3503, 0x03}, {0x0100, 0x01},
 };
 
 static struct regval_list ov5647_2x2binned_sbggr10[] = {
-	{0x0100, 0x00},
-	{0x0103, 0x01},
-	{0x3034, 0x1a},
-	{0x3035, 0x21},
-	{0x3036, 0x62},
-	{0x303c, 0x11},
-	{0x3106, 0xf5},
-	{0x3827, 0xec},
-	{0x370c, 0x03},
-	{0x3612, 0x59},
-	{0x3618, 0x00},
-	{0x5000, 0x06},
-	{0x5002, 0x41},
-	{0x5003, 0x08},
-	{0x5a00, 0x08},
-	{0x3000, 0x00},
-	{0x3001, 0x00},
-	{0x3002, 0x00},
-	{0x3016, 0x08},
-	{0x3017, 0xe0},
-	{0x3018, 0x44},
-	{0x301c, 0xf8},
-	{0x301d, 0xf0},
-	{0x3a18, 0x00},
-	{0x3a19, 0xf8},
-	{0x3c01, 0x80},
-	{0x3b07, 0x0c},
-	{0x3800, 0x00},
-	{0x3801, 0x00},
-	{0x3802, 0x00},
-	{0x3803, 0x00},
-	{0x3804, 0x0a},
-	{0x3805, 0x3f},
-	{0x3806, 0x07},
-	{0x3807, 0xa3},
-	{0x3808, 0x05},
-	{0x3809, 0x10},
-	{0x380a, 0x03},
-	{0x380b, 0xcc},
-	{0x380c, 0x07},
-	{0x380d, 0x68},
-	{0x3811, 0x0c},
-	{0x3813, 0x06},
-	{0x3814, 0x31},
-	{0x3815, 0x31},
-	{0x3630, 0x2e},
-	{0x3632, 0xe2},
-	{0x3633, 0x23},
-	{0x3634, 0x44},
-	{0x3636, 0x06},
-	{0x3620, 0x64},
-	{0x3621, 0xe0},
-	{0x3600, 0x37},
-	{0x3704, 0xa0},
-	{0x3703, 0x5a},
-	{0x3715, 0x78},
-	{0x3717, 0x01},
-	{0x3731, 0x02},
-	{0x370b, 0x60},
-	{0x3705, 0x1a},
-	{0x3f05, 0x02},
-	{0x3f06, 0x10},
-	{0x3f01, 0x0a},
-	{0x3a08, 0x01},
-	{0x3a09, 0x28},
-	{0x3a0a, 0x00},
-	{0x3a0b, 0xf6},
-	{0x3a0d, 0x08},
-	{0x3a0e, 0x06},
-	{0x3a0f, 0x58},
-	{0x3a10, 0x50},
-	{0x3a1b, 0x58},
-	{0x3a1e, 0x50},
-	{0x3a11, 0x60},
-	{0x3a1f, 0x28},
-	{0x4001, 0x02},
-	{0x4004, 0x04},
-	{0x4000, 0x09},
-	{0x4837, 0x16},
-	{0x4800, 0x24},
-	{0x3503, 0x03},
-	{0x3820, 0x41},
-	{0x3821, 0x07},
-	{0x350a, 0x00},
-	{0x350b, 0x10},
-	{0x3500, 0x00},
-	{0x3501, 0x1a},
-	{0x3502, 0xf0},
-	{0x3212, 0xa0},
-	{0x0100, 0x01},
+	{0x0100, 0x00}, {0x0103, 0x01}, {0x3034, 0x1a}, {0x3035, 0x21},
+	{0x3036, 0x62}, {0x303c, 0x11}, {0x3106, 0xf5}, {0x3827, 0xec},
+	{0x370c, 0x03}, {0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06},
+	{0x5002, 0x41}, {0x5003, 0x08}, {0x5a00, 0x08}, {0x3000, 0x00},
+	{0x3001, 0x00}, {0x3002, 0x00}, {0x3016, 0x08}, {0x3017, 0xe0},
+	{0x3018, 0x44}, {0x301c, 0xf8}, {0x301d, 0xf0}, {0x3a18, 0x00},
+	{0x3a19, 0xf8}, {0x3c01, 0x80}, {0x3b07, 0x0c}, {0x3800, 0x00},
+	{0x3801, 0x00}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},
+	{0x3805, 0x3f}, {0x3806, 0x07}, {0x3807, 0xa3}, {0x3808, 0x05},
+	{0x3809, 0x10}, {0x380a, 0x03}, {0x380b, 0xcc}, {0x380c, 0x07},
+	{0x380d, 0x68}, {0x3811, 0x0c}, {0x3813, 0x06}, {0x3814, 0x31},
+	{0x3815, 0x31}, {0x3630, 0x2e}, {0x3632, 0xe2}, {0x3633, 0x23},
+	{0x3634, 0x44}, {0x3636, 0x06}, {0x3620, 0x64}, {0x3621, 0xe0},
+	{0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a}, {0x3715, 0x78},
+	{0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60}, {0x3705, 0x1a},
+	{0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a}, {0x3a08, 0x01},
+	{0x3a09, 0x28}, {0x3a0a, 0x00}, {0x3a0b, 0xf6}, {0x3a0d, 0x08},
+	{0x3a0e, 0x06}, {0x3a0f, 0x58}, {0x3a10, 0x50}, {0x3a1b, 0x58},
+	{0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28}, {0x4001, 0x02},
+	{0x4004, 0x04}, {0x4000, 0x09}, {0x4837, 0x16}, {0x4800, 0x24},
+	{0x3503, 0x03}, {0x3820, 0x41}, {0x3821, 0x07}, {0x350a, 0x00},
+	{0x350b, 0x10}, {0x3500, 0x00}, {0x3501, 0x1a}, {0x3502, 0xf0},
+	{0x3212, 0xa0}, {0x0100, 0x01},
 };
 
 static struct regval_list ov5647_640x480_sbggr10[] = {
-	{0x0100, 0x00},
-	{0x0103, 0x01},
-	{0x3035, 0x11},
-	{0x3036, 0x46},
-	{0x303c, 0x11},
-	{0x3821, 0x07},
-	{0x3820, 0x41},
-	{0x370c, 0x03},
-	{0x3612, 0x59},
-	{0x3618, 0x00},
-	{0x5000, 0x06},
-	{0x5003, 0x08},
-	{0x5a00, 0x08},
-	{0x3000, 0xff},
-	{0x3001, 0xff},
-	{0x3002, 0xff},
-	{0x301d, 0xf0},
-	{0x3a18, 0x00},
-	{0x3a19, 0xf8},
-	{0x3c01, 0x80},
-	{0x3b07, 0x0c},
-	{0x380c, 0x07},
-	{0x380d, 0x3c},
-	{0x3814, 0x35},
-	{0x3815, 0x35},
-	{0x3708, 0x64},
-	{0x3709, 0x52},
-	{0x3808, 0x02},
-	{0x3809, 0x80},
-	{0x380a, 0x01},
-	{0x380b, 0xe0},
-	{0x3800, 0x00},
-	{0x3801, 0x10},
-	{0x3802, 0x00},
-	{0x3803, 0x00},
-	{0x3804, 0x0a},
-	{0x3805, 0x2f},
-	{0x3806, 0x07},
-	{0x3807, 0x9f},
-	{0x3630, 0x2e},
-	{0x3632, 0xe2},
-	{0x3633, 0x23},
-	{0x3634, 0x44},
-	{0x3620, 0x64},
-	{0x3621, 0xe0},
-	{0x3600, 0x37},
-	{0x3704, 0xa0},
-	{0x3703, 0x5a},
-	{0x3715, 0x78},
-	{0x3717, 0x01},
-	{0x3731, 0x02},
-	{0x370b, 0x60},
-	{0x3705, 0x1a},
-	{0x3f05, 0x02},
-	{0x3f06, 0x10},
-	{0x3f01, 0x0a},
-	{0x3a08, 0x01},
-	{0x3a09, 0x2e},
-	{0x3a0a, 0x00},
-	{0x3a0b, 0xfb},
-	{0x3a0d, 0x02},
-	{0x3a0e, 0x01},
-	{0x3a0f, 0x58},
-	{0x3a10, 0x50},
-	{0x3a1b, 0x58},
-	{0x3a1e, 0x50},
-	{0x3a11, 0x60},
-	{0x3a1f, 0x28},
-	{0x4001, 0x02},
-	{0x4004, 0x02},
-	{0x4000, 0x09},
-	{0x3000, 0x00},
-	{0x3001, 0x00},
-	{0x3002, 0x00},
-	{0x3017, 0xe0},
-	{0x301c, 0xfc},
-	{0x3636, 0x06},
-	{0x3016, 0x08},
-	{0x3827, 0xec},
-	{0x3018, 0x44},
-	{0x3035, 0x21},
-	{0x3106, 0xf5},
-	{0x3034, 0x1a},
-	{0x301c, 0xf8},
-	{0x4800, 0x34},
-	{0x3503, 0x03},
-	{0x0100, 0x01},
+	{0x0100, 0x00}, {0x0103, 0x01}, {0x3035, 0x11}, {0x3036, 0x46},
+	{0x303c, 0x11}, {0x3821, 0x07}, {0x3820, 0x41}, {0x370c, 0x03},
+	{0x3612, 0x59}, {0x3618, 0x00}, {0x5000, 0x06}, {0x5003, 0x08},
+	{0x5a00, 0x08}, {0x3000, 0xff}, {0x3001, 0xff}, {0x3002, 0xff},
+	{0x301d, 0xf0}, {0x3a18, 0x00}, {0x3a19, 0xf8}, {0x3c01, 0x80},
+	{0x3b07, 0x0c}, {0x380c, 0x07}, {0x380d, 0x3c}, {0x3814, 0x35},
+	{0x3815, 0x35}, {0x3708, 0x64}, {0x3709, 0x52}, {0x3808, 0x02},
+	{0x3809, 0x80}, {0x380a, 0x01}, {0x380b, 0xe0}, {0x3800, 0x00},
+	{0x3801, 0x10}, {0x3802, 0x00}, {0x3803, 0x00}, {0x3804, 0x0a},
+	{0x3805, 0x2f}, {0x3806, 0x07}, {0x3807, 0x9f}, {0x3630, 0x2e},
+	{0x3632, 0xe2}, {0x3633, 0x23}, {0x3634, 0x44}, {0x3620, 0x64},
+	{0x3621, 0xe0}, {0x3600, 0x37}, {0x3704, 0xa0}, {0x3703, 0x5a},
+	{0x3715, 0x78}, {0x3717, 0x01}, {0x3731, 0x02}, {0x370b, 0x60},
+	{0x3705, 0x1a}, {0x3f05, 0x02}, {0x3f06, 0x10}, {0x3f01, 0x0a},
+	{0x3a08, 0x01}, {0x3a09, 0x2e}, {0x3a0a, 0x00}, {0x3a0b, 0xfb},
+	{0x3a0d, 0x02}, {0x3a0e, 0x01}, {0x3a0f, 0x58}, {0x3a10, 0x50},
+	{0x3a1b, 0x58}, {0x3a1e, 0x50}, {0x3a11, 0x60}, {0x3a1f, 0x28},
+	{0x4001, 0x02}, {0x4004, 0x02}, {0x4000, 0x09}, {0x3000, 0x00},
+	{0x3001, 0x00}, {0x3002, 0x00}, {0x3017, 0xe0}, {0x301c, 0xfc},
+	{0x3636, 0x06}, {0x3016, 0x08}, {0x3827, 0xec}, {0x3018, 0x44},
+	{0x3035, 0x21}, {0x3106, 0xf5}, {0x3034, 0x1a}, {0x301c, 0xf8},
+	{0x4800, 0x34}, {0x3503, 0x03}, {0x0100, 0x01},
 };
 
 static const struct ov5647_mode ov5647_sbggr8_modes[] = {