media: ov8856: Configure sensor for GRBG Bayer for all modes
authorRobert Foss <robert.foss@linaro.org>
Wed, 20 Jan 2021 12:08:47 +0000 (13:08 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 6 Feb 2021 08:41:08 +0000 (09:41 +0100)
The previously added modes 3264x2448 & 1632x1224 are actually
configuring the sensor for BGGR mode, this is an issue since
the mode that is exposed through V4L incorrectly is set as GRBG.

This patch fixes the issue by moving the output crop window of
internal sensor ISP uses by one row, which means that the Bayer
pattern of the output is changed.

row 1: B G B G B G ...
row 2: G R G R G R ...
row 3: B G B G B G ...
...

row 2: G R G R G R ...
row 3: B G B G B G ...
...

Signed-off-by: Robert Foss <robert.foss@linaro.org>
Suggested-by: Andrey Konovalov <andrey.konovalov@linaro.org>
Reviewed-by: Andrey Konovalov <andrey.konovalov@linaro.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/ov8856.c

index d8cefd3..b337f72 100644 (file)
@@ -428,7 +428,7 @@ static const struct ov8856_reg mode_3264x2448_regs[] = {
        {0x3810, 0x00},
        {0x3811, 0x04},
        {0x3812, 0x00},
-       {0x3813, 0x02},
+       {0x3813, 0x01},
        {0x3814, 0x01},
        {0x3815, 0x01},
        {0x3816, 0x00},
@@ -821,7 +821,7 @@ static const struct ov8856_reg mode_1632x1224_regs[] = {
        {0x3810, 0x00},
        {0x3811, 0x02},
        {0x3812, 0x00},
-       {0x3813, 0x02},
+       {0x3813, 0x01},
        {0x3814, 0x03},
        {0x3815, 0x01},
        {0x3816, 0x00},