@@ -269,8 +269,8 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen
.unitCellSize = { 1120, 1120 },
.testPatternModes = {
{ controls::draft::TestPatternModeOff, 0 },
- { controls::draft::TestPatternModeColorBars, 1 },
- { controls::draft::TestPatternModeSolidColor, 2 },
+ { controls::draft::TestPatternModeSolidColor, 1 },
+ { controls::draft::TestPatternModeColorBars, 2 },
{ controls::draft::TestPatternModeColorBarsFadeToGray, 3 },
{ controls::draft::TestPatternModePn9, 4 },
},
The IMX355 sensor properties map TestPatternModeColorBars to menu index 1 and TestPatternModeSolidColor to index 2. The kernel driver defines the opposite order: static const char * const imx355_test_pattern_menu[] = { "Disabled", "Solid Colour", "Eight Vertical Colour Bars", "Colour Bars With Fade to Grey", "Pseudorandom Sequence (PN9)", }; This matches drivers/media/i2c/imx355.c in mainline Linux and in the Raspberry Pi kernel tree, and was confirmed on a Google Pixel 3a (front camera, imx355 4-001a) running postmarketOS: $ v4l2-ctl -d /dev/v4l-subdev19 --list-ctrls-menus test_pattern 0x009f0903 (menu) : min=0 max=4 default=0 value=0 0: Disabled 1: Solid Colour 2: Eight Vertical Colour Bars 3: Colour Bars With Fade to Grey 4: Pseudorandom Sequence (PN9) Requesting a solid colour test pattern therefore produces colour bars, and vice versa. Swap the two entries, which makes IMX355 consistent with IMX258 and IMX471, whose drivers expose the same menu and which are already described correctly. IMX214 and IMX219 keep their current mapping, as their drivers do list "Color Bars" at index 1. Fixes: a1db25dabaee ("libcamera: camera_sensor: Add Sony IMX355 sensor properties and helper") Signed-off-by: Samuel LEGROS <sam.legros@gmail.com> --- src/libcamera/sensor/camera_sensor_properties.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)