@@ -891,6 +891,18 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data)
ControlInfoMap::Map controls = IPU3Controls;
const ControlInfoMap &sensorControls = sensor->controls();
+ if (const std::vector<uint8_t> &testPatternModes =
+ sensor->testPatternModes();
+ !testPatternModes.empty()) {
+ std::vector<ControlValue> values;
+ values.reserve(testPatternModes.size());
+
+ for (uint8_t pattern : testPatternModes)
+ values.emplace_back(static_cast<int32_t>(pattern));
+
+ controls[&controls::draft::TestPatternMode] = ControlInfo(values);
+ }
+
/*
* Compute exposure time limits.
*