Re: [PATCH v3] media: imx219: add test patterns

Jai Luthra <[email protected]> Tue, 14 Jul 2026 12:06:44 +0530
Newsgroups dev.linux.lists.linux-kernel-mentees,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media
Message-ID <178401100430.9736.3724953452669883732@freya>
Hi Tharit,

Quoting Tharit Tangkijwanichakul (2026-07-01 18:27:38)
> Add 5 missing test patterns to complete the available
> hardware test patterns.
>=20
> The original mapping for color bars and solid color in the menu
> is preserved to prevent existing userspace application and automated
> vendor capture tests.
>=20
> The changes were validated on a raspberry pi 5 with an imx219 sensor
> using v4l2-ctl and rpicam-still.
>=20
> Signed-off-by: Tharit Tangkijwanichakul <[email protected]>

Reviewed-by: Jai Luthra <[email protected]>

> ---
> Changes in v3:
>         - Revert the change to the original test pattern mapping
>         to avoid breaking userspace applications
> Changes in v2:
>         - Fix typo in commit message: correct the color bars index
>         to 1 and solid color to 2
>         - No code changes from v1
>  drivers/media/i2c/imx219.c | 27 +++++++++++++++++++++------
>  1 file changed, 21 insertions(+), 6 deletions(-)
>=20
> diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c
> index 223d3753c..9571f3622 100644
> --- a/drivers/media/i2c/imx219.c
> +++ b/drivers/media/i2c/imx219.c
> @@ -110,11 +110,16 @@
> =20
>  /* Test Pattern Control */
>  #define IMX219_REG_TEST_PATTERN                CCI_REG16(0x0600)
> -#define IMX219_TEST_PATTERN_DISABLE    0
> -#define IMX219_TEST_PATTERN_SOLID_COLOR        1
> -#define IMX219_TEST_PATTERN_COLOR_BARS 2
> -#define IMX219_TEST_PATTERN_GREY_COLOR 3
> -#define IMX219_TEST_PATTERN_PN9                4
> +#define IMX219_TEST_PATTERN_DISABLE                    0
> +#define IMX219_TEST_PATTERN_SOLID_COLOR                        1
> +#define IMX219_TEST_PATTERN_COLOR_BARS                 2
> +#define IMX219_TEST_PATTERN_GREY_COLOR                 3
> +#define IMX219_TEST_PATTERN_PN9                                4
> +#define IMX219_TEST_PATTERN_16SPLIT_COLOR_BARS         5
> +#define IMX219_TEST_PATTERN_16SPLIT_INV_COLOR_BARS     6
> +#define IMX219_TEST_PATTERN_COLUMN_COUNTER             7
> +#define IMX219_TEST_PATTERN_INV_COLUMN_COUNTER         8
> +#define IMX219_TEST_PATTERN_PN31                       9
> =20
>  /* Test pattern colour components */
>  #define IMX219_REG_TESTP_RED           CCI_REG16(0x0602)
> @@ -238,7 +243,12 @@ static const char * const imx219_test_pattern_menu[]=
 =3D {
>         "Color Bars",
>         "Solid Color",
>         "Grey Color Bars",
> -       "PN9"
> +       "PN9",
> +       "16 Split Color Bars",
> +       "16 Split Inverted Color Bars",
> +       "Column Counter",
> +       "Inverted Column Counter",
> +       "PN31"
>  };
> =20
>  static const int imx219_test_pattern_val[] =3D {
> @@ -247,6 +257,11 @@ static const int imx219_test_pattern_val[] =3D {
>         IMX219_TEST_PATTERN_SOLID_COLOR,
>         IMX219_TEST_PATTERN_GREY_COLOR,
>         IMX219_TEST_PATTERN_PN9,
> +       IMX219_TEST_PATTERN_16SPLIT_COLOR_BARS,
> +       IMX219_TEST_PATTERN_16SPLIT_INV_COLOR_BARS,
> +       IMX219_TEST_PATTERN_COLUMN_COUNTER,
> +       IMX219_TEST_PATTERN_INV_COLUMN_COUNTER,
> +       IMX219_TEST_PATTERN_PN31
>  };
> =20
>  /* regulator supplies */
> --=20
> 2.53.0
>