From c783258cf261cdb4072a1c556e9037eb06e3b117 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Wed, 25 May 2022 22:27:04 +0200 Subject: [PATCH 338/464] media: i2c: imx258: Don't flip the image and fix the mbus format This is the format at the output according to the tests. Signed-off-by: Ondrej Jirman --- drivers/media/i2c/imx258.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/media/i2c/imx258.c b/drivers/media/i2c/imx258.c index c11d3ba5d826..b4dc783750ae 100644 --- a/drivers/media/i2c/imx258.c +++ b/drivers/media/i2c/imx258.c @@ -76,14 +76,16 @@ /* Orientation */ #define REG_MIRROR_FLIP_CONTROL 0x0101 -#define REG_CONFIG_MIRROR_FLIP 0x03 -#define REG_CONFIG_FLIP_TEST_PATTERN 0x02 +#define REG_CONFIG_MIRROR_FLIP 0x00 +#define REG_CONFIG_FLIP_TEST_PATTERN 0x00 /* Input clock frequency in Hz */ #define IMX258_INPUT_CLOCK_FREQ_MIN 24000000 #define IMX258_INPUT_CLOCK_FREQ 24000000 #define IMX258_INPUT_CLOCK_FREQ_MAX 24000000 +#define IMX258_MBUS_FORMAT MEDIA_BUS_FMT_SRGGB10_1X10 + /* regs */ #define PLL_MULT_DRIV 0x0310 #define IVTPXCK_DIV 0x0301 @@ -820,7 +822,7 @@ static int imx258_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) /* Initialize try_fmt */ try_fmt->width = supported_modes[0].width; try_fmt->height = supported_modes[0].height; - try_fmt->code = MEDIA_BUS_FMT_SGRBG10_1X10; + try_fmt->code = IMX258_MBUS_FORMAT; try_fmt->field = V4L2_FIELD_NONE; return 0; @@ -932,7 +934,7 @@ static int imx258_enum_mbus_code(struct v4l2_subdev *sd, if (code->index > 0) return -EINVAL; - code->code = MEDIA_BUS_FMT_SGRBG10_1X10; + code->code = IMX258_MBUS_FORMAT; return 0; } @@ -944,7 +946,7 @@ static int imx258_enum_frame_size(struct v4l2_subdev *sd, if (fse->index >= ARRAY_SIZE(supported_modes)) return -EINVAL; - if (fse->code != MEDIA_BUS_FMT_SGRBG10_1X10) + if (fse->code != IMX258_MBUS_FORMAT) return -EINVAL; fse->min_width = supported_modes[fse->index].width; @@ -960,7 +962,7 @@ static void imx258_update_pad_format(const struct imx258_mode *mode, { fmt->format.width = mode->width; fmt->format.height = mode->height; - fmt->format.code = MEDIA_BUS_FMT_SGRBG10_1X10; + fmt->format.code = IMX258_MBUS_FORMAT; fmt->format.field = V4L2_FIELD_NONE; } @@ -1008,7 +1010,7 @@ static int imx258_set_pad_format(struct v4l2_subdev *sd, mutex_lock(&imx258->mutex); /* Only one raw bayer(GBRG) order is supported */ - fmt->format.code = MEDIA_BUS_FMT_SGRBG10_1X10; + fmt->format.code = IMX258_MBUS_FORMAT; mode = v4l2_find_nearest_size(supported_modes, ARRAY_SIZE(supported_modes), width, height, -- 2.34.1