Re: [PATCH v3] media: imx219: add test patterns
From: Jai Luthra
Date: Tue Jul 14 2026 - 02:40:16 EST
Hi Tharit,
Quoting Tharit Tangkijwanichakul (2026-07-01 18:27:38)
> Add 5 missing test patterns to complete the available
> hardware test patterns.
>
> The original mapping for color bars and solid color in the menu
> is preserved to prevent existing userspace application and automated
> vendor capture tests.
>
> The changes were validated on a raspberry pi 5 with an imx219 sensor
> using v4l2-ctl and rpicam-still.
>
> Signed-off-by: Tharit Tangkijwanichakul <tharitt97@xxxxxxxxx>
Reviewed-by: Jai Luthra <jai.luthra@xxxxxxxxxxxxxxxx>
> ---
> 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(-)
>
> 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 @@
>
> /* 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
>
> /* Test pattern colour components */
> #define IMX219_REG_TESTP_RED CCI_REG16(0x0602)
> @@ -238,7 +243,12 @@ static const char * const imx219_test_pattern_menu[] = {
> "Color Bars",
> "Solid Color",
> "Grey Color Bars",
> - "PN9"
> + "PN9",
> + "16 Split Color Bars",
> + "16 Split Inverted Color Bars",
> + "Column Counter",
> + "Inverted Column Counter",
> + "PN31"
> };
>
> static const int imx219_test_pattern_val[] = {
> @@ -247,6 +257,11 @@ static const int imx219_test_pattern_val[] = {
> 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
> };
>
> /* regulator supplies */
> --
> 2.53.0
>