Re: [PATCH] media: ov8856: Remove 3280x2464 mode

Tomasz Figa
2020-11-24T11:28:15Z

Hi Robert,

On Tue, Nov 17, 2020 at 12:52 AM Robert Foss <robert.foss@linaro.org> wrote:
>
> Remove the 3280x2464 mode as it can't be reproduced and yields
> an output resolution of 3264x2448 instead of the desired one.
>
> Furthermore the 3264x2448 resolution is the highest resolution
> that the product brief lists.
>
> Since 3280x2464 neither works correctly nor seems to be supported
> by the sensor, let's remove it.
>

Let me check which modes are used by our projects. For one I'm sure
it's the 3264, but not sure about the other.

To be fair, 3280 sounds like a valid setup, with black pixels on the
edges. It's sometimes needed to add the black pixels either due to ISP
requirements or to obtain the black pixel values.

Best regards,
Tomasz

> Signed-off-by: Robert Foss <robert.foss@linaro.org>
> ---
> drivers/media/i2c/ov8856.c | 202 -------------------------------------
> 1 file changed, 202 deletions(-)
>
> diff --git a/drivers/media/i2c/ov8856.c b/drivers/media/i2c/ov8856.c
> index 2f4ceaa80593..3365d19a303d 100644
> --- a/drivers/media/i2c/ov8856.c
> +++ b/drivers/media/i2c/ov8856.c
> @@ -148,196 +148,6 @@ static const struct ov8856_reg mipi_data_rate_360mbps[] = {
> {0x031e, 0x0c},
> };
>
> -static const struct ov8856_reg mode_3280x2464_regs[] = {
> - {0x3000, 0x20},
> - {0x3003, 0x08},
> - {0x300e, 0x20},
> - {0x3010, 0x00},
> - {0x3015, 0x84},
> - {0x3018, 0x72},
> - {0x3021, 0x23},
> - {0x3033, 0x24},
> - {0x3500, 0x00},
> - {0x3501, 0x9a},
> - {0x3502, 0x20},
> - {0x3503, 0x08},
> - {0x3505, 0x83},
> - {0x3508, 0x01},
> - {0x3509, 0x80},
> - {0x350c, 0x00},
> - {0x350d, 0x80},
> - {0x350e, 0x04},
> - {0x350f, 0x00},
> - {0x3510, 0x00},
> - {0x3511, 0x02},
> - {0x3512, 0x00},
> - {0x3600, 0x72},
> - {0x3601, 0x40},
> - {0x3602, 0x30},
> - {0x3610, 0xc5},
> - {0x3611, 0x58},
> - {0x3612, 0x5c},
> - {0x3613, 0xca},
> - {0x3614, 0x20},
> - {0x3628, 0xff},
> - {0x3629, 0xff},
> - {0x362a, 0xff},
> - {0x3633, 0x10},
> - {0x3634, 0x10},
> - {0x3635, 0x10},
> - {0x3636, 0x10},
> - {0x3663, 0x08},
> - {0x3669, 0x34},
> - {0x366e, 0x10},
> - {0x3706, 0x86},
> - {0x370b, 0x7e},
> - {0x3714, 0x23},
> - {0x3730, 0x12},
> - {0x3733, 0x10},
> - {0x3764, 0x00},
> - {0x3765, 0x00},
> - {0x3769, 0x62},
> - {0x376a, 0x2a},
> - {0x376b, 0x30},
> - {0x3780, 0x00},
> - {0x3781, 0x24},
> - {0x3782, 0x00},
> - {0x3783, 0x23},
> - {0x3798, 0x2f},
> - {0x37a1, 0x60},
> - {0x37a8, 0x6a},
> - {0x37ab, 0x3f},
> - {0x37c2, 0x04},
> - {0x37c3, 0xf1},
> - {0x37c9, 0x80},
> - {0x37cb, 0x16},
> - {0x37cc, 0x16},
> - {0x37cd, 0x16},
> - {0x37ce, 0x16},
> - {0x3800, 0x00},
> - {0x3801, 0x00},
> - {0x3802, 0x00},
> - {0x3803, 0x06},
> - {0x3804, 0x0c},
> - {0x3805, 0xdf},
> - {0x3806, 0x09},
> - {0x3807, 0xa7},
> - {0x3808, 0x0c},
> - {0x3809, 0xd0},
> - {0x380a, 0x09},
> - {0x380b, 0xa0},
> - {0x380c, 0x07},
> - {0x380d, 0x88},
> - {0x380e, 0x09},
> - {0x380f, 0xb8},
> - {0x3810, 0x00},
> - {0x3811, 0x00},
> - {0x3812, 0x00},
> - {0x3813, 0x01},
> - {0x3814, 0x01},
> - {0x3815, 0x01},
> - {0x3816, 0x00},
> - {0x3817, 0x00},
> - {0x3818, 0x00},
> - {0x3819, 0x10},
> - {0x3820, 0x80},
> - {0x3821, 0x46},
> - {0x382a, 0x01},
> - {0x382b, 0x01},
> - {0x3830, 0x06},
> - {0x3836, 0x02},
> - {0x3862, 0x04},
> - {0x3863, 0x08},
> - {0x3cc0, 0x33},
> - {0x3d85, 0x17},
> - {0x3d8c, 0x73},
> - {0x3d8d, 0xde},
> - {0x4001, 0xe0},
> - {0x4003, 0x40},
> - {0x4008, 0x00},
> - {0x4009, 0x0b},
> - {0x400a, 0x00},
> - {0x400b, 0x84},
> - {0x400f, 0x80},
> - {0x4010, 0xf0},
> - {0x4011, 0xff},
> - {0x4012, 0x02},
> - {0x4013, 0x01},
> - {0x4014, 0x01},
> - {0x4015, 0x01},
> - {0x4042, 0x00},
> - {0x4043, 0x80},
> - {0x4044, 0x00},
> - {0x4045, 0x80},
> - {0x4046, 0x00},
> - {0x4047, 0x80},
> - {0x4048, 0x00},
> - {0x4049, 0x80},
> - {0x4041, 0x03},
> - {0x404c, 0x20},
> - {0x404d, 0x00},
> - {0x404e, 0x20},
> - {0x4203, 0x80},
> - {0x4307, 0x30},
> - {0x4317, 0x00},
> - {0x4503, 0x08},
> - {0x4601, 0x80},
> - {0x4800, 0x44},
> - {0x4816, 0x53},
> - {0x481b, 0x58},
> - {0x481f, 0x27},
> - {0x4837, 0x16},
> - {0x483c, 0x0f},
> - {0x484b, 0x05},
> - {0x5000, 0x57},
> - {0x5001, 0x0a},
> - {0x5004, 0x04},
> - {0x502e, 0x03},
> - {0x5030, 0x41},
> - {0x5780, 0x14},
> - {0x5781, 0x0f},
> - {0x5782, 0x44},
> - {0x5783, 0x02},
> - {0x5784, 0x01},
> - {0x5785, 0x01},
> - {0x5786, 0x00},
> - {0x5787, 0x04},
> - {0x5788, 0x02},
> - {0x5789, 0x0f},
> - {0x578a, 0xfd},
> - {0x578b, 0xf5},
> - {0x578c, 0xf5},
> - {0x578d, 0x03},
> - {0x578e, 0x08},
> - {0x578f, 0x0c},
> - {0x5790, 0x08},
> - {0x5791, 0x04},
> - {0x5792, 0x00},
> - {0x5793, 0x52},
> - {0x5794, 0xa3},
> - {0x5795, 0x02},
> - {0x5796, 0x20},
> - {0x5797, 0x20},
> - {0x5798, 0xd5},
> - {0x5799, 0xd5},
> - {0x579a, 0x00},
> - {0x579b, 0x50},
> - {0x579c, 0x00},
> - {0x579d, 0x2c},
> - {0x579e, 0x0c},
> - {0x579f, 0x40},
> - {0x57a0, 0x09},
> - {0x57a1, 0x40},
> - {0x59f8, 0x3d},
> - {0x5a08, 0x02},
> - {0x5b00, 0x02},
> - {0x5b01, 0x10},
> - {0x5b02, 0x03},
> - {0x5b03, 0xcf},
> - {0x5b05, 0x6c},
> - {0x5e00, 0x00}
> -};
> -
> static const struct ov8856_reg mode_3264x2448_regs[] = {
> {0x0103, 0x01},
> {0x0302, 0x3c},
> @@ -963,18 +773,6 @@ static const struct ov8856_link_freq_config link_freq_configs[] = {
> };
>
> static const struct ov8856_mode supported_modes[] = {
> - {
> - .width = 3280,
> - .height = 2464,
> - .hts = 1928,
> - .vts_def = 2488,
> - .vts_min = 2488,
> - .reg_list = {
> - .num_of_regs = ARRAY_SIZE(mode_3280x2464_regs),
> - .regs = mode_3280x2464_regs,
> - },
> - .link_freq_index = OV8856_LINK_FREQ_720MBPS,
> - },
> {
> .width = 3264,
> .height = 2448,
> --
> 2.27.0
>