diff --git a/include/libcamera/ipa/rkisp1.mojom b/include/libcamera/ipa/rkisp1.mojom
index cae757ea..a6991d4f 100644
--- a/include/libcamera/ipa/rkisp1.mojom
+++ b/include/libcamera/ipa/rkisp1.mojom
@@ -29,7 +29,9 @@ struct RkISP1Action {
 };
 
 interface IPARkISP1Interface {
-	init(uint32 hwRevision) => (int32 ret);
+	init(libcamera.IPASettings settings,
+	     uint32 hwRevision)
+		=> (int32 ret);
 	start() => (int32 ret);
 	stop();
 
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index bf2c13b6..7ecbf8ae 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -34,7 +34,7 @@ namespace ipa::rkisp1 {
 class IPARkISP1 : public IPARkISP1Interface
 {
 public:
-	int init(unsigned int hwRevision) override;
+	int init(const IPASettings &settings, unsigned int hwRevision) override;
 	int start() override;
 	void stop() override {}
 
@@ -75,7 +75,8 @@ private:
 	unsigned int hwHistogramWeightGridsSize_;
 };
 
-int IPARkISP1::init(unsigned int hwRevision)
+int IPARkISP1::init([[maybe_unused]] const IPASettings &settings,
+		    unsigned int hwRevision)
 {
 	/* \todo Add support for other revisions */
 	switch (hwRevision) {
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 98008862..db8856d3 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -88,7 +88,7 @@ public:
 	}
 
 	PipelineHandlerRkISP1 *pipe();
-	int loadIPA(unsigned int hwRevision);
+	int loadIPA(const IPASettings &settings, unsigned int hwRevision);
 
 	Stream mainPathStream_;
 	Stream selfPathStream_;
@@ -310,7 +310,7 @@ PipelineHandlerRkISP1 *RkISP1CameraData::pipe()
 	return static_cast<PipelineHandlerRkISP1 *>(Camera::Private::pipe());
 }
 
-int RkISP1CameraData::loadIPA(unsigned int hwRevision)
+int RkISP1CameraData::loadIPA(const IPASettings &settings, unsigned int hwRevision)
 {
 	ipa_ = IPAManager::createIPA<ipa::rkisp1::IPAProxyRkISP1>(pipe(), 1, 1);
 	if (!ipa_)
@@ -319,7 +319,7 @@ int RkISP1CameraData::loadIPA(unsigned int hwRevision)
 	ipa_->queueFrameAction.connect(this,
 				       &RkISP1CameraData::queueFrameAction);
 
-	int ret = ipa_->init(hwRevision);
+	int ret = ipa_->init(settings, hwRevision);
 	if (ret < 0) {
 		LOG(RkISP1, Error) << "IPA initialization failure";
 		return ret;
@@ -965,7 +965,8 @@ int PipelineHandlerRkISP1::createCamera(MediaEntity *sensor)
 	isp_->frameStart.connect(data->delayedCtrls_.get(),
 				 &DelayedControls::applyControls);
 
-	ret = data->loadIPA(media_->hwRevision());
+	ret = data->loadIPA(IPASettings{ "", data->sensor_->model() },
+			    media_->hwRevision());
 	if (ret)
 		return ret;
 
