diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index 292768cf..9c8b4a82 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -456,6 +456,28 @@ void IPARkISP1::updateControls(const IPACameraSensorInfo &sensorInfo,
 							      frameDurations[1],
 							      frameDurations[2]);
 
+	if (lensControls_) {
+		const ControlInfo &focusAbsolute =
+			lensControls_->at(V4L2_CID_FOCUS_ABSOLUTE);
+
+		using namespace controls;
+
+		ctrlMap[&AfMetering] = ControlInfo(AfMeteringValues);
+		ctrlMap[&AfMode] = ControlInfo(AfModeValues);
+		ctrlMap[&AfPause] = ControlInfo(
+			Span<const ControlValue>{
+				{ static_cast<int32_t>(AfPauseImmediate),
+				  static_cast<int32_t>(AfPauseResume) } });
+		ctrlMap[&AfTrigger] = ControlInfo(AfTriggerValues);
+		ctrlMap[&AfWindows] = ControlInfo(
+			Rectangle(), Rectangle(sensorInfo.outputSize),
+			Rectangle());
+		ctrlMap[&LensPosition] = ControlInfo(
+			static_cast<float>(focusAbsolute.min().get<int32_t>()),
+			static_cast<float>(focusAbsolute.max().get<int32_t>()),
+			static_cast<float>(focusAbsolute.def().get<int32_t>()));
+	}
+
 	*ipaControls = ControlInfoMap(std::move(ctrlMap), controls::controls);
 }
 
