media: imx283: Add 3/3 binning mode
Commit Message
IMX283 supports 12-bit 3/3 binning mode with 1824x1216 resolution.
Introduce the mode config for the same.
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
---
Patch to introduce 3/3 binning mode - 1824x1216 12-bit output.
---
drivers/media/i2c/imx283.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
---
base-commit: 68a72104cbcf38ad16500216e213fa4eb21c4be2
change-id: 20240813-imx335-binned-mode-98b2b7ee5ba0
Best regards,
Comments
Quoting Umang Jain (2024-08-13 06:52:00)
> IMX283 supports 12-bit 3/3 binning mode with 1824x1216 resolution.
> Introduce the mode config for the same.
>
> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
> ---
> Patch to introduce 3/3 binning mode - 1824x1216 12-bit output.
> ---
> drivers/media/i2c/imx283.c | 33 +++++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/drivers/media/i2c/imx283.c b/drivers/media/i2c/imx283.c
> index 8490618c5071..94276f4f2d83 100644
> --- a/drivers/media/i2c/imx283.c
> +++ b/drivers/media/i2c/imx283.c
> @@ -465,6 +465,39 @@ static const struct imx283_mode supported_modes_12bit[] = {
> .horizontal_ob = 48,
> .vertical_ob = 4,
>
> + .crop = {
I still wonder if these crops for full resolution mode can be set as:
.crop = imx283_active_area,
But that's a separate patch/discussion.
> + .top = 40,
> + .left = 108,
> + .width = 5472,
> + .height = 3648,
> + },
> + },
> + {
> + /*
> + * Readout mode 3 : 3/3 binned mode (1824x1216)
> + */
> + .mode = IMX283_MODE_3,
> + .bpp = 12,
> + .width = 1824,
> + .height = 1216,
> + .min_hmax = 1894, /* Pixels (284 * 480MHz/72MHz + padding) */
> + .min_vmax = 4200, /* Lines */
> +
> + /* 60.00 fps */
> + .default_hmax = 1900, /* 285 @ 480MHz/72Mhz */
> + .default_vmax = 4200,
> +
> + .veff = 1234,
> + .vst = 0,
> + .vct = 0,
> +
> + .hbin_ratio = 3,
> + .vbin_ratio = 3,
> +
> + .min_shr = 16,
> + .horizontal_ob = 32,
> + .vertical_ob = 4,
> +
Everything there matches my expectations and the datasheet:
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> .crop = {
> .top = 40,
> .left = 108,
>
> ---
> base-commit: 68a72104cbcf38ad16500216e213fa4eb21c4be2
> change-id: 20240813-imx335-binned-mode-98b2b7ee5ba0
>
> Best regards,
> --
> Umang Jain <umang.jain@ideasonboard.com>
>
@@ -465,6 +465,39 @@ static const struct imx283_mode supported_modes_12bit[] = {
.horizontal_ob = 48,
.vertical_ob = 4,
+ .crop = {
+ .top = 40,
+ .left = 108,
+ .width = 5472,
+ .height = 3648,
+ },
+ },
+ {
+ /*
+ * Readout mode 3 : 3/3 binned mode (1824x1216)
+ */
+ .mode = IMX283_MODE_3,
+ .bpp = 12,
+ .width = 1824,
+ .height = 1216,
+ .min_hmax = 1894, /* Pixels (284 * 480MHz/72MHz + padding) */
+ .min_vmax = 4200, /* Lines */
+
+ /* 60.00 fps */
+ .default_hmax = 1900, /* 285 @ 480MHz/72Mhz */
+ .default_vmax = 4200,
+
+ .veff = 1234,
+ .vst = 0,
+ .vct = 0,
+
+ .hbin_ratio = 3,
+ .vbin_ratio = 3,
+
+ .min_shr = 16,
+ .horizontal_ob = 32,
+ .vertical_ob = 4,
+
.crop = {
.top = 40,
.left = 108,